| Author |
Message |
ragtag
Joined: 09 Jun 2010 Posts: 2
|
Posted: Wed 09 Jun 2010, 06:13 Post subject:
PXE boot Puppy 5.0.1 Subject description: How do you do it? |
|
Hi,
I have a working server that I use to PXE boot CentOS installations and a GParted live cd, but I wanted to add puppy there too. It basically boots into Ubuntu 9.04 grub, and let's me pick stuff from there.
I've gotten as far as puppy starting to boot, but then it stops with the following error.
| Code: | Searching for Puppy files in computer disk drives...lupu-501.sfs not found. Droping out to initial-ramdisk console...
/bin/sh: can't access tty; job control turned off |
The grub entry I have looks like this
| Code: | label Puppy Live
menu label Puppy Live
kernel puppy/puppy-5.0.1/vmlinuz
append initrd=puppy/puppy-5.0.1/initrd.gz boot=live nfsdir=192.168.0.100:/live/puppy-5.0.1/lupu-501.sfs |
I've also tried it with fetch= over http.
I've copied vmlinuz and initrd.gz to their own folder, and they seem to be working, while the rest is in the /live/puppy-5.0.1 share. Any idea how to configure grub to do this correctly?
Cheers,
ragtag
p.s. Hmmm....maybe this post shouldn't have gone into Beginners help.
|
|
Back to top
|
|
 |
Béèm

Joined: 21 Nov 2006 Posts: 11782 Location: Brussels IBM Thinkpad R40, 256MB, 20GB, WiFi ipw2100. Frugal Lin'N'Win
|
Posted: Wed 09 Jun 2010, 07:39 Post subject:
|
|
Beginners is also about booting.
I remember having seen posts about PXE boot.
With the puppysearch link in my sig, you probably find them easily.
_________________ Time savers:
Find packages in a snap and install using Puppy Package Manager (Menu).
Consult Wikka
Use peppyy's puppysearch
|
|
Back to top
|
|
 |
raffy
Joined: 25 May 2005 Posts: 4639 Location: Manila
|
Posted: Wed 09 Jun 2010, 23:39 Post subject:
pxe boot |
|
Puppy does it by using an initrd.gz that contains the usual initrd plus the program sfs. See an example build for 4.12.
It's to be booted via TFTP: the kernel and then the initrd.gz.
I have no idea yet if Woof (Puppy5 builder) includes initrd creation for PXE-booting.
_________________ Puppy user since Oct 2004. Want FreeOffice? Get the sfs (English only).
|
|
Back to top
|
|
 |
jamesbond
Joined: 26 Feb 2007 Posts: 1573 Location: The Blue Marble
|
Posted: Thu 10 Jun 2010, 00:52 Post subject:
|
|
Puppy has all the necessary plumbing for a netboot since Barry's announcement of his humongous experiment (can't remember when, perhaps back to 412 days). Woof may or may not support it, but it's very straightforward to get *any* recent puppies and make it net-boot capable.
Basically all you need to do is to embed the SFS files into initrd.gz. I tried it yesterday with puppy stardust 431, I tried again today with Fatdog64, lupu 500, and puppeee rc5 --- by all means, all of them were never intended for netboot. But netbooting did work ! Amazing isn't ! (Thanks Barry !!!)
Of course your infrastructure must support large file transfer, and your workstation must have enough memory to keep these puppies in memory during the boot. I tested mine with gpxelinux, and hosted the files in a webserver. My test workstation has 512MB of RAM.
cheers!
_________________ Fatdog64, Slacko and Puppeee user. Puppy user since 2.13
|
|
Back to top
|
|
 |
zo3adams
Joined: 10 Jun 2010 Posts: 2
|
Posted: Thu 10 Jun 2010, 17:03 Post subject:
|
|
Hi jamesbond, can you spell out exactly how you embedded the sfs files into initrd.gz ?
I just tried to replicate your success with lupu 500, placing the file lupu-500.sfs in the initrd-tree under pup_ro2. After repacking and downloading over network I'm getting the same message as with the default initrd.gz:
| Code: | | lupu-500.sfs not found. Droping out to initial-ramdisk console... |
I believe I packed initrd.gz correctly, can see lupu-500.sfs under pup_ro2 from terminal on the client. Is that the appropriate place to insert lupu-500.sfs? Are any additional files needed perhaps ?
My pxelinux.cfg file reads as below, perhaps the arguments need adjustment?
| Code: |
label wdpup01
kernel puppy/vmlinuz
append initrd=puppy/initrd.gz pfix=copy nosmp ramdisk_size=7168 root=/dev/ram0 rw
|
edit, tried with this pxeconfig append line trimmed down to just below and got same results:
| Code: | | append initrd=puppy/initrd.gz pfix=copy nosmp |
|
|
Back to top
|
|
 |
raffy
Joined: 25 May 2005 Posts: 4639 Location: Manila
|
Posted: Thu 10 Jun 2010, 18:57 Post subject:
ramdisksize |
|
Yes, jamesbond, how did you do it?
zo3adams, ramdisksize must be large enough to give room to your initrd.gz, I understand that it is in KB, so multiply by 1024 your MB number.
For history, Barry experimented with humongous initrd in Puppy 2.16, see recap of what was started here.
_________________ Puppy user since Oct 2004. Want FreeOffice? Get the sfs (English only).
|
|
Back to top
|
|
 |
jamesbond
Joined: 26 Feb 2007 Posts: 1573 Location: The Blue Marble
|
Posted: Thu 10 Jun 2010, 21:21 Post subject:
|
|
1. Create a temporary directory somewhere
2. Copy the initrd.gz and the pup.sfs you want to embed into this temporary directory.
3. Detach this script, gunzip, and chmod +x the script, in the same temporary directory where you have initrd.gz and pup.sfs
4. Open terminal, and then run the script
| Code: | | ./embed_sfs.sh your-sfs-filename |
5. Your original initrd.gz will be kept as initrd.gz.old, and the new initrd.gz will have pup.sfs in it.
There you go. BTW - the ramdisk parameter is unnecessary.
cheers!
| Description |
gunzip, then chmod +x
|

Download |
| Filename |
embed_sfs.sh.gz |
| Filesize |
339 Bytes |
| Downloaded |
846 Time(s) |
_________________ Fatdog64, Slacko and Puppeee user. Puppy user since 2.13
|
|
Back to top
|
|
 |
ragtag
Joined: 09 Jun 2010 Posts: 2
|
Posted: Fri 11 Jun 2010, 07:34 Post subject:
|
|
Thanks, that worked like a charm.
|
|
Back to top
|
|
 |
zo3adams
Joined: 10 Jun 2010 Posts: 2
|
Posted: Fri 11 Jun 2010, 12:32 Post subject:
|
|
Indeed; thanks jamesbond! And thanks raffy for the pointer about ramdisk. What a great forum!
For reference, my problem earlier seems to be that I was using an sfs file and initrd.gz from a USB stick installation where I'd made some changes already.
Retrying with an unmodified initrd and sfs file from the lupu-500.iso file everything worked great. Suppose some system info specific to booting from USB was present in my first test.
Thanks again!
|
|
Back to top
|
|
 |
jujoboro
Joined: 02 Jun 2010 Posts: 10
|
Posted: Fri 18 Jun 2010, 13:18 Post subject:
Can do it with less memory? |
|
I understood that puppy was a linux lite and we search puppy like an choice to our project (200 hp5000t terminals with netbooting) because its have only 128 Mb in RAM.
We try with debian and work but i find any distro more lite. Can i do it with less than 128 Mb and How?.
Sorry for my english but it's not my Mother language
|
|
Back to top
|
|
 |
raffy
Joined: 25 May 2005 Posts: 4639 Location: Manila
|
Posted: Fri 18 Jun 2010, 19:00 Post subject:
128 MB |
|
You must start with a small Puppy version and remaster it to contain only the applications that you need. Try searching for "fatfree" in this forum.
An initrd.gz of 60 MB or less will work given your 128 MB RAM constraint.
(Please PM me if you need more help.)
_________________ Puppy user since Oct 2004. Want FreeOffice? Get the sfs (English only).
|
|
Back to top
|
|
 |
rolfm
Joined: 13 Jul 2010 Posts: 4
|
Posted: Tue 13 Jul 2010, 15:45 Post subject:
PXE boot Puppy 5.0.1 Subject description: embed script gives errors , boot gives 'kernel panic' |
|
using the embed_sfs script i get error messages:
cpio: dev/mmcblk0: Cannot mknod: Operation not permitted
cpio: dev/loop10: Cannot mknod: Operation not permitted
cpio: dev/sdc12: Cannot mknod: Operation not permitted
etc
---- is this to be expected?
the script still delivers a new initrd.gz
when i try to pxe boot with it, the proces is killed at the root switch
with a 'kernel panic' message.
i have 512mb ram
--- do i need to give special parameters with the append?
supposing these problems can be solved:
-- is it then possible to work with a diskless pxe client?
any help is appreciated,
rolf
|
|
Back to top
|
|
 |
jamesbond
Joined: 26 Feb 2007 Posts: 1573 Location: The Blue Marble
|
Posted: Fri 23 Jul 2010, 01:39 Post subject:
|
|
Temporary directory must be in linux file system (ext2 or ext3). Best do it inside your /tmp directory.
_________________ Fatdog64, Slacko and Puppeee user. Puppy user since 2.13
|
|
Back to top
|
|
 |
rolfm
Joined: 13 Jul 2010 Posts: 4
|
Posted: Fri 23 Jul 2010, 11:42 Post subject:
PXE boot Puppy 5.0.1 Subject description: diskless? |
|
thanks jamesbond
embed script works in ext2/3 system (btw not in ext4 (?))
boot is ok with a 'regular' computer.
my next obstacle is that PXE boot on a diskless system with 256Mb ram
runs out of memory.
rolf
|
|
Back to top
|
|
 |
omf
Joined: 30 Jul 2010 Posts: 2
|
Posted: Fri 30 Jul 2010, 19:46 Post subject:
|
|
Starting in the iso dir and the embed-sfs.sh setup in /tmp already here is what I did:
cp initrd.gz /tmp/
cp lupu-501.sfs /tmp/
cd /tmp
./embed_sfs.sh lupu-501.sfs
I get the following output
| Code: |
cpio: dev/mmcblk0: Cannot mknod: Operation not permitted
cpio: dev/loop10: Cannot mknod: Operation not permitted
cpio: dev/sdc12: Cannot mknod: Operation not permitted
cpio: dev/hda1: Cannot mknod: Operation not permitted
cpio: dev/hda9: Cannot mknod: Operation not permitted
cpio: dev/sdc13: Cannot mknod: Operation not permitted
cpio: dev/hdd1: Cannot mknod: Operation not permitted
cpio: dev/loop0: Cannot mknod: Operation not permitted
cpio: dev/sdb3: Cannot mknod: Operation not permitted
cpio: dev/tty3: Cannot mknod: Operation not permitted
cpio: dev/sdb7: Cannot mknod: Operation not permitted
cpio: dev/sde1: Cannot mknod: Operation not permitted
cpio: dev/hdb2: Cannot mknod: Operation not permitted
cpio: dev/sdb13: Cannot mknod: Operation not permitted
cpio: dev/scd3: Cannot mknod: Operation not permitted
cpio: dev/hda2: Cannot mknod: Operation not permitted
cpio: dev/loop4: Cannot mknod: Operation not permitted
cpio: dev/loop1: Cannot mknod: Operation not permitted
cpio: dev/sr1: Cannot mknod: Operation not permitted
cpio: dev/kmsg: Cannot mknod: Operation not permitted
cpio: dev/sdb: Cannot mknod: Operation not permitted
cpio: dev/loop3: Cannot mknod: Operation not permitted
cpio: dev/hda11: Cannot mknod: Operation not permitted
cpio: dev/sde2: Cannot mknod: Operation not permitted
cpio: dev/sda14: Cannot mknod: Operation not permitted
cpio: dev/hdb8: Cannot mknod: Operation not permitted
cpio: dev/hdb3: Cannot mknod: Operation not permitted
cpio: dev/sdd4: Cannot mknod: Operation not permitted
cpio: dev/sdf1: Cannot mknod: Operation not permitted
cpio: dev/sde: Cannot mknod: Operation not permitted
cpio: dev/sda6: Cannot mknod: Operation not permitted
cpio: dev/ram: Cannot mknod: Operation not permitted
cpio: dev/sda9: Cannot mknod: Operation not permitted
cpio: dev/sdf6: Cannot mknod: Operation not permitted
cpio: dev/hda3: Cannot mknod: Operation not permitted
cpio: dev/sda2: Cannot mknod: Operation not permitted
cpio: dev/sdc7: Cannot mknod: Operation not permitted
cpio: dev/sde5: Cannot mknod: Operation not permitted
cpio: dev/hdd6: Cannot mknod: Operation not permitted
cpio: dev/sdi1: Cannot mknod: Operation not permitted
cpio: dev/sdb4: Cannot mknod: Operation not permitted
cpio: dev/hda14: Cannot mknod: Operation not permitted
cpio: dev/sdc2: Cannot mknod: Operation not permitted
cpio: dev/sdc3: Cannot mknod: Operation not permitted
cpio: dev/hdc7: Cannot mknod: Operation not permitted
cpio: dev/sde4: Cannot mknod: Operation not permitted
cpio: dev/sdc11: Cannot mknod: Operation not permitted
cpio: dev/sdb9: Cannot mknod: Operation not permitted
cpio: dev/scd0: Cannot mknod: Operation not permitted
cpio: dev/sdc5: Cannot mknod: Operation not permitted
cpio: dev/sdh1: Cannot mknod: Operation not permitted
cpio: dev/hda13: Cannot mknod: Operation not permitted
cpio: dev/hdd2: Cannot mknod: Operation not permitted
cpio: dev/sdf5: Cannot mknod: Operation not permitted
cpio: dev/sdi: Cannot mknod: Operation not permitted
cpio: dev/sda3: Cannot mknod: Operation not permitted
cpio: dev/sdd6: Cannot mknod: Operation not permitted
cpio: dev/hdb1: Cannot mknod: Operation not permitted
cpio: dev/tty4: Cannot mknod: Operation not permitted
cpio: dev/scd1: Cannot mknod: Operation not permitted
cpio: dev/tty1: Cannot mknod: Operation not permitted
cpio: dev/hdd4: Cannot mknod: Operation not permitted
cpio: dev/sdb6: Cannot mknod: Operation not permitted
cpio: dev/sdc10: Cannot mknod: Operation not permitted
cpio: dev/sde8: Cannot mknod: Operation not permitted
cpio: dev/sdc14: Cannot mknod: Operation not permitted
cpio: dev/mmcblk0p1: Cannot mknod: Operation not permitted
cpio: dev/sdh: Cannot mknod: Operation not permitted
cpio: dev/sdc6: Cannot mknod: Operation not permitted
cpio: dev/sr3: Cannot mknod: Operation not permitted
cpio: dev/fd0: Cannot mknod: Operation not permitted
cpio: dev/hdb4: Cannot mknod: Operation not permitted
cpio: dev/hdc1: Cannot mknod: Operation not permitted
cpio: dev/hdd8: Cannot mknod: Operation not permitted
cpio: dev/sda10: Cannot mknod: Operation not permitted
cpio: dev/sdd3: Cannot mknod: Operation not permitted
cpio: dev/sde7: Cannot mknod: Operation not permitted
cpio: dev/hdd7: Cannot mknod: Operation not permitted
cpio: dev/sdg2: Cannot mknod: Operation not permitted
cpio: dev/sdf8: Cannot mknod: Operation not permitted
cpio: dev/sdc15: Cannot mknod: Operation not permitted
cpio: dev/sdb15: Cannot mknod: Operation not permitted
cpio: dev/sde6: Cannot mknod: Operation not permitted
cpio: dev/hda7: Cannot mknod: Operation not permitted
cpio: dev/sdb8: Cannot mknod: Operation not permitted
cpio: dev/hdb6: Cannot mknod: Operation not permitted
cpio: dev/sdd1: Cannot mknod: Operation not permitted
cpio: dev/hdb7: Cannot mknod: Operation not permitted
cpio: dev/sdc: Cannot mknod: Operation not permitted
cpio: dev/loop2: Cannot mknod: Operation not permitted
cpio: dev/sdb1: Cannot mknod: Operation not permitted
cpio: dev/sdc4: Cannot mknod: Operation not permitted
cpio: dev/sda1: Cannot mknod: Operation not permitted
cpio: dev/sde3: Cannot mknod: Operation not permitted
cpio: dev/hdc: Cannot mknod: Operation not permitted
cpio: dev/loop7: Cannot mknod: Operation not permitted
cpio: dev/hdd5: Cannot mknod: Operation not permitted
cpio: dev/rtc: Cannot mknod: Operation not permitted
cpio: dev/sdf3: Cannot mknod: Operation not permitted
cpio: dev/hdc4: Cannot mknod: Operation not permitted
cpio: dev/sdf: Cannot mknod: Operation not permitted
cpio: dev/sdc9: Cannot mknod: Operation not permitted
cpio: dev/sda15: Cannot mknod: Operation not permitted
cpio: dev/sdf7: Cannot mknod: Operation not permitted
cpio: dev/hda6: Cannot mknod: Operation not permitted
cpio: dev/sdf2: Cannot mknod: Operation not permitted
cpio: dev/sdc1: Cannot mknod: Operation not permitted
cpio: dev/sdd5: Cannot mknod: Operation not permitted
cpio: dev/sda11: Cannot mknod: Operation not permitted
cpio: dev/null: Cannot mknod: Operation not permitted
cpio: dev/ram0: Cannot mknod: Operation not permitted
cpio: dev/ram1: Cannot mknod: Operation not permitted
cpio: dev/hda8: Cannot mknod: Operation not permitted
cpio: dev/sda5: Cannot mknod: Operation not permitted
cpio: dev/sr0: Cannot mknod: Operation not permitted
cpio: dev/sda8: Cannot mknod: Operation not permitted
cpio: dev/hdc8: Cannot mknod: Operation not permitted
cpio: dev/loop5: Cannot mknod: Operation not permitted
cpio: dev/hdb: Cannot mknod: Operation not permitted
cpio: dev/hdd3: Cannot mknod: Operation not permitted
cpio: dev/hdc2: Cannot mknod: Operation not permitted
cpio: dev/hda15: Cannot mknod: Operation not permitted
cpio: dev/sdd: Cannot mknod: Operation not permitted
cpio: dev/sdg: Cannot mknod: Operation not permitted
cpio: dev/mmcblk0p2: Cannot mknod: Operation not permitted
cpio: dev/sdi2: Cannot mknod: Operation not permitted
cpio: dev/hda16: Cannot mknod: Operation not permitted
cpio: dev/sda: Cannot mknod: Operation not permitted
cpio: dev/hdc5: Cannot mknod: Operation not permitted
cpio: dev/zero: Cannot mknod: Operation not permitted
cpio: dev/console: Cannot mknod: Operation not permitted
cpio: dev/tty2: Cannot mknod: Operation not permitted
cpio: dev/hda4: Cannot mknod: Operation not permitted
cpio: dev/hdc6: Cannot mknod: Operation not permitted
cpio: dev/sdb14: Cannot mknod: Operation not permitted
cpio: dev/hda5: Cannot mknod: Operation not permitted
cpio: dev/sr2: Cannot mknod: Operation not permitted
cpio: dev/sdb10: Cannot mknod: Operation not permitted
cpio: dev/scd2: Cannot mknod: Operation not permitted
cpio: dev/sdd7: Cannot mknod: Operation not permitted
cpio: dev/fuse: Cannot mknod: Operation not permitted
cpio: dev/systty: Cannot mknod: Operation not permitted
cpio: dev/sdd8: Cannot mknod: Operation not permitted
cpio: dev/sda7: Cannot mknod: Operation not permitted
cpio: dev/fb0: Cannot mknod: Operation not permitted
cpio: dev/sdb5: Cannot mknod: Operation not permitted
cpio: dev/hdb5: Cannot mknod: Operation not permitted
cpio: dev/sdc8: Cannot mknod: Operation not permitted
cpio: dev/hda10: Cannot mknod: Operation not permitted
cpio: dev/loop9: Cannot mknod: Operation not permitted
cpio: dev/loop6: Cannot mknod: Operation not permitted
cpio: dev/sda13: Cannot mknod: Operation not permitted
cpio: dev/hda: Cannot mknod: Operation not permitted
cpio: dev/sdd2: Cannot mknod: Operation not permitted
cpio: dev/sdb2: Cannot mknod: Operation not permitted
cpio: dev/tty0: Cannot mknod: Operation not permitted
cpio: dev/sda4: Cannot mknod: Operation not permitted
cpio: dev/sdb12: Cannot mknod: Operation not permitted
cpio: dev/hdc3: Cannot mknod: Operation not permitted
cpio: dev/tty: Cannot mknod: Operation not permitted
cpio: dev/sdb11: Cannot mknod: Operation not permitted
cpio: dev/hdd: Cannot mknod: Operation not permitted
cpio: dev/sdh2: Cannot mknod: Operation not permitted
cpio: dev/sda12: Cannot mknod: Operation not permitted
cpio: dev/sdg1: Cannot mknod: Operation not permitted
cpio: dev/sdf4: Cannot mknod: Operation not permitted
cpio: dev/hda12: Cannot mknod: Operation not permitted
cpio: dev/loop8: Cannot mknod: Operation not permitted
4930 blocks
258635 blocks
Done. Initrd now contains lupu-501.sfs. Your old initrd is kept as initrd.gz.old
|
and the file size: 130518322 2010-07-30 19:34 initrd.gz
I am using ext4 for my filesystem which according to rolfm does not work. So I created an opensuse 11.3 server install inside of virtualbox and specify ext3 as the filesystem during the installer.
Repeating the above process inside the virtualbox I get the same output as before from cpio. The filesize of the output is different: 130519413 2010-07-04 19:31 initrd.gz
So I tried to PXE boot a client with each of the above initrd.gz files.
Here is the pxelinux.cfg/default config file:
| Code: |
LABEL 6
KERNEL puppy_5/vmlinuz
APPEND keeppxe initrd=puppy_5/initrd.gz
|
Attached is a screenshot of the client output. I am stuck as to how I can get this process to work for me.
| Description |
Screenshot of the bug |
| Filesize |
30.73 KB |
| Viewed |
795 Time(s) |

|
|
|
Back to top
|
|
 |
|