mirror of
https://github.com/ps5-linux/ps5-linux-image.git
synced 2026-07-16 01:50:40 +00:00
Add Kali Linux image support (#9)
* Add Kali Linux image support * Remove forced 1080p from Kali cmdline
This commit is contained in:
80
README.md
80
README.md
@@ -1,11 +1,13 @@
|
||||
# PS5 Linux Image Builder
|
||||
|
||||
Builds bootable Linux USB images for PlayStation 5 using Docker containers. Supports Ubuntu 26.04, Arch, and CachyOS (Gamescope + Steam), individually or as a multi-distro image with kexec switching.
|
||||
Builds bootable Linux USB images for PlayStation 5 using Docker containers. Supports Ubuntu 26.04, Arch, CachyOS (Gamescope + Steam), and full Kali Linux, individually or as a multi-distro image with kexec switching.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Docker (with permission to run `--privileged` containers) — install as per your distro's instructions
|
||||
- ~30GB free disk space
|
||||
- ~30GB free disk space for Ubuntu, Arch, or CachyOS; a full Kali build needs
|
||||
substantial working space because it creates a 96GB image and a full rootfs
|
||||
tree (`~150GB` free recommended for a clean Kali build)
|
||||
|
||||
Once Docker is installed, add your user to the docker group and apply it without logging out:
|
||||
|
||||
@@ -27,6 +29,11 @@ OR
|
||||
|
||||
OR
|
||||
|
||||
# Build Kali Linux (XFCE + kali-linux-everything)
|
||||
./build_image.sh --distro kali
|
||||
|
||||
OR
|
||||
|
||||
# Build a multi-distro image (ubuntu2604 + arch + cachyos)
|
||||
./build_image.sh --distro all
|
||||
```
|
||||
@@ -39,16 +46,75 @@ The script auto-clones the kernel source, applies PS5 patches, compiles, and bui
|
||||
sudo dd if=output/ps5-ubuntu2604.img of=/dev/sdX bs=4M status=progress
|
||||
```
|
||||
|
||||
## Kali First Boot Time Sync
|
||||
|
||||
The Kali image uses UTC by default and enables `ntpsec`. PS5 hardware may boot
|
||||
Linux without a correct real-time clock, so the displayed time can be wrong
|
||||
until a network connection is available. The Kali recipe configures IPv4 NTP
|
||||
sources that were validated through Android USB tethering, because that
|
||||
connection may not provide usable IPv6 routing.
|
||||
|
||||
The Xfce clock's **Time and Date** window is the legacy `time-admin` utility.
|
||||
On Kali it can report that NTP support is not installed even though `ntpsec`
|
||||
is installed and active. Verify or repair synchronization from a terminal:
|
||||
|
||||
```bash
|
||||
systemctl --no-pager status ntpsec
|
||||
ntpq -pn
|
||||
timedatectl status
|
||||
```
|
||||
|
||||
If the PS5 clock is still wrong after the internet connection is active, force
|
||||
one initial correction and restart continuous synchronization:
|
||||
|
||||
```bash
|
||||
sudo systemctl stop ntpsec
|
||||
sudo ntpd -gq -c /etc/ntpsec/ntp.conf
|
||||
sudo systemctl start ntpsec
|
||||
date
|
||||
```
|
||||
|
||||
To use a local timezone after boot, for example Kentucky:
|
||||
|
||||
```bash
|
||||
sudo timedatectl set-timezone America/Kentucky/Louisville
|
||||
timedatectl status
|
||||
```
|
||||
|
||||
The Kali desktop autologin is enabled for local first boot. SSH is installed
|
||||
but disabled by default because the initial local account is `kali` with
|
||||
password `kali`. Before enabling remote access, change that password:
|
||||
|
||||
```bash
|
||||
passwd
|
||||
sudo systemctl enable --now ssh
|
||||
```
|
||||
|
||||
The image holds its installed kernel packages and protects the boot-copy hook
|
||||
from deploying a generic Kali kernel. Do not replace or unhold the PS5 kernel
|
||||
unless you are intentionally testing a new PS5-patched kernel build.
|
||||
|
||||
Ghidra is configured to use JDK 21, its documented supported runtime. Full
|
||||
Kali installations may also contain newer Java versions for other software.
|
||||
|
||||
`kali-linux-everything` installs NFS client components, but the PS5-patched
|
||||
kernel has NFS disabled. A failed `run-rpc_pipefs.mount` unit can therefore be
|
||||
reported at boot; it only indicates that NFS mounts are unavailable. The Kali
|
||||
desktop and security tools are unaffected.
|
||||
|
||||
The full Kali toolset also enables `chkrootkit.timer`; its daily integrity scan
|
||||
can use noticeable CPU time while it runs.
|
||||
|
||||
## Options
|
||||
|
||||
| Flag | Description | Default |
|
||||
|------|-------------|---------|
|
||||
| `--distro` | `ubuntu2604`, `arch`, `cachyos`, or `all` | `ubuntu2604` |
|
||||
| `--kernel` | Path to kernel source directory | auto-clone `v6.19.10` |
|
||||
| `--img-size` | Disk image size in MB | `12000` (`32000` for `all`) |
|
||||
| `--distro` | `ubuntu2604`, `arch`, `cachyos`, `kali`, or `all` | `ubuntu2604` |
|
||||
| `--kernel` | Path to kernel source directory | auto-clone version selected by PS5 patch set |
|
||||
| `--img-size` | Disk image size in MB | `12000` (`32000` for `all`, `98304` for `kali`) |
|
||||
| `--clean` | Remove all cached build artifacts and start fresh | off |
|
||||
| `--kernel-only` | Build and package the kernel only, then exit | off |
|
||||
| `--patches-ref` | Branch, tag, or commit SHA for patches | `v1.0` |
|
||||
| `--patches-ref` | Branch, tag, or commit SHA for patches | `v1.2` |
|
||||
|
||||
## Caching
|
||||
|
||||
@@ -91,6 +157,7 @@ All verbose output goes to `build.log`. The terminal shows a spinner with live p
|
||||
| Ubuntu 26.04 (Resolute) | GNOME | `.deb` | systemd |
|
||||
| Arch | Sway | `.pkg.tar.zst` | systemd |
|
||||
| CachyOS | Gamescope + Steam Big Picture (Arch + `[cachyos]` repo, no v3 migration in image build) | `.pkg.tar.zst` | systemd |
|
||||
| Kali Linux Rolling | XFCE + `kali-linux-everything` | `.deb` | systemd |
|
||||
|
||||
## Multi-distro Image
|
||||
|
||||
@@ -137,6 +204,7 @@ distros/
|
||||
ubuntu2604/ # Ubuntu 26.04 (Resolute)
|
||||
arch/ # Arch Linux
|
||||
cachyos/ # CachyOS repos + Gamescope/Steam
|
||||
kali/ # Kali Linux Rolling
|
||||
shared/ # Kernel postinst hooks (single + multi)
|
||||
boot/
|
||||
cmdline.txt # Kernel cmdline template (__DISTRO__ placeholder)
|
||||
|
||||
Reference in New Issue
Block a user