Page 1 of 1

How to boot Puppy over network (PXE / TFTP)? (Solved)

Posted: Wed Mar 15, 2023 10:16 am
by Minn
Hi,
I'm currently trying to get poppy Linux booting over the Network (PXE / TFTP).
I was following this Guide: https://tenbaht.github.io/posts/pxe-boo ... ppy-linux/

Used the following to try create a initrd.gz containing all .sfs files:

Code: Select all

#!/usr/bin/env bash
rptmpdir=/tmp/repack
outdir=$(pwd)
mount $1 /mnt
mkdir -p $rptmpdir
pushd $rptmpdir
zcat /mnt/initrd.gz | cpio -i
cp -av /mnt/*.sfs .
find . | cpio -o -H newc | gzip -9 > $outdir/initrd.gz
popd
umount /mnt
Grub 2 config:

Code: Select all

menuentry 'Test' {
        linux  (pxe)/hrz_custom/puppy/vmlinuz plang=de_DE.UTF-8 pkeys=de
        initrd (pxe)/hrz_custom/puppy/initrd.gz
}
After a long black screen I get the attached error.
Any Ideas what's going wrong here?
Thanks to everyone taking the time an reading.

Re: Netboot Issues

Posted: Wed Mar 15, 2023 11:14 am
by Trapster
Please list all files in /hrz_custom/puppy/

It seems you may be missing /hrz_custom/puppy/puppy_s15pup64_22.12.sfs.

Re: Netboot Issues

Posted: Wed Mar 15, 2023 12:16 pm
by Minn
There is only the kernel and initrd in that directory.
Just putting the iso content there didn't work over PXE, I got a different error stating the sfs files could not be located at all.
That's why I followed the Guide (https://tenbaht.github.io/posts/pxe-boo ... ppy-linux/) to add the sfs files to initrd:
Notice

Code: Select all

cp -av /mnt/*.sfs . 
before repacking.
It seems the file is found in / but then something goes wrong.
I could not find a more recent Netboot guide for Puppy Linux unfortunately.

Content of initrd:

Code: Select all

-rw-r--r-- 1 root root  26378240 adrv_s15pup64_22.12.sfs
drwxr-xr-x 1 root root       244 bin
-rw-r--r-- 1 root root      1209 DISTRO_SPECS
drwxr-xr-x 1 root root        38 etc
-rw-r--r-- 1 root root  78893056 fdrv_s15pup64_22.12.sfs
-rwxr-xr-x 1 root root     55559 init
drwxr-xr-x 1 root root        38 lib
drwxr-xr-x 1 root root        56 locale
-rw-r--r-- 1 root root 245923840 puppy_s15pup64_22.12.sfs
-rw-r--r-- 1 root root     14296 README.txt
drwxr-xr-x 1 root root       320 sbin
-rw-r--r-- 1 root root  49098752 zdrv_s15pup64_22.12.sfs

Re: Netboot Issues

Posted: Wed Mar 15, 2023 2:41 pm
by Minn
Ended up trying FossaPup64 9.5, that worked (Slackware64 15.0 does not, I tried the full mknetboot.sh, same error).
Here my final script in case it's useful for someone.
Just run as root (not strictly necessary, but you would need to replace the "mount $1 /mnt" line with extracting the iso to a temp dir),
pass it the path to the .iso file and kernel and initrd are created in the current directory:

Code: Select all

#!/usr/bin/env bash
rm -r /tmp/netpuppy
rptmpdir=/tmp/netpuppy
outdir=$(pwd)
mount $1 /mnt
mkdir -p $rptmpdir
pushd $rptmpdir
zcat /mnt/initrd.gz | cpio -i
cp -av /mnt/*.sfs .
find . | cpio -o -H newc | gzip -9 > $outdir/initrd.gz
popd
cp -av /mnt/vmlinuz $outdir
rm -r /tmp/netpuppy
umount /mnt
I'll mark this as solved because it seems this is not a general Issue.