Page 1 of 2

Simplified Net-booting (Booting Puppy Linux via your LAN)

Posted: Fri 16 Nov 2007, 03:53
by raffy
Net-booting has been here in Puppy Linux since version 2.16, so you might as well try it in a few steps:

1. Get TFTP for Windows from here. Unzip to an appropriate location in a Windows PC in your LAN. (It will have a directory /pxe.)

2. Download initrd-humongous-2.16.1-93952k.gz from ibiblio or its mirrors (see http://puppylinux.net/download/downpage.htm ). Rename to initrd.gz and put in the /pxe directory (see #1).* [EDIT - as of June 11, 2008, this file is no longer in the Puppy repositories. See Barry's instructions in creating a humongous initrd below.]

3. Start TFTPD32.exe. Tell Windows to allow it through the firewall (if firewall is activated). Change some IP numbers like IP pool starting address and Default router (see image below) then save and restart.

4. Connect to the LAN a client PC, set it to boot from PXE/network, and restart it.

4.a Puppy will look for the zdrv_216.sfs file*, so plug in a USB drive (with zrdv) while net-booting, or first make sure that zdrv is in the hard disk. You can use a save file and extra sfs, just like locally-booted Puppy.

* The available initrd-humongous-2.16.1-93952k.gz has no zdrv_216.sfs in it. To roll your own initrd, see the reproduction of Barry's news page below (quoted).

Notes: Thanks to Philippe Jounin for TFTPD and Mark Hinge for the how to, Steven Shiau for net-booting help, and Barry Kauler for everything. :)

- Windows is used as server for simple deployment. Even Win98SE should work (98SE has Internet Connection Sharing, so it can function as the router, too).

- The client PC should have more than 128 MB RAM (256 MB RAM is recommended).

- The Windows PC (server) should have a fast ethernet card (this is generally valid in WinXP PCs).

- Net-booting of Puppy Linux works given certain changes in Puppy's init (in initrd.gz). Versions before and after 2.16 are not known to be ready for net-booting.
------------------------------------
Barry's news page about creating humongous initrd.gz:
Thursday, May 24, 2007, 07:45 PM
Tweaking the humongous-initrd

Raffy posted this forum message to invite participation:
http://www.murga-linux.com/puppy/viewtopic.php?t=18421

If you want to build your own humongous initrd, it is very easy. Just download 'puppy-unleashed-core-2.16.1.tar.gz' and expand it inside a ext2/ext3/reiserfs hd partition:
# tar -zxf puppy-unleashed-core-2.16.1.tar.gz

You will then have a directory 'puppy-unleashed', inside you will find 'boot' directory, and inside that 'initrd-tree' directory.

Mount the 2.16.1 live-CD, or use Isomaster to open up the 'puppy-2.16.1-seamonkey-fulldrivers.iso' and copy 'pup_216.sfs' and 'zdrv_216.sfs' into puppy-unleashed/boot/initrd-tree.

Open a terminal window in puppy-unleashed/boot and execute:
# ./makeext2initrd

That's it, you will have created a humongous initrd.gz!

Note, initrd-tree/init is a script but it is not used and gets removed by the makeext2initrd script -- that one is for an initramfs. The bootup script that is used is sbin/init and that's where all the tweaking will occur.

BarryK
Thursday, May 24, 2007, 08:20 PM
If you download the PET packages into 'packages' directory and follow instructions in the README, you can build a humongous initrd, that is a 'zdrv_216.sfs' with a cutdown set of drivers, or a 'pup_216.sfs' with a cutdown set of drivers built-in (no zdrv file). This could be used to reduce the size of the humongous initrd.

Raffy
Thursday, May 24, 2007, 08:53 PM
Thanks, Barry, this is a fun way to get started with "unleashed" - building one's unique Puppy. :-)
Addition: ramdisk_size is set in pxelinux.cfg/default. Get the number by multiplying the size in MB of initrd by 1,048 = ramdisk_size in KB, which should be adequate for PXE-booting. Experiment with less size by reducing it then rerun PXE-booting.

Posted: Mon 05 Jan 2009, 07:03
by enigmaaaaa
Does the instructions Barry wrote for making a humongous intrd file for Puppy 2.16 also work for Puppy 4.1.2?

Hay anyone tried succesfully to make and boot a humongous intrd file for Puppy 4.1.2 following the instructions?

Posted: Mon 05 Jan 2009, 18:17
by MagicZaurus
Hi!

I tried it yesterday and was not successful to build the humongous initrd.gz. There is another thread mentioning that there might be a problem with the Unleashed 4.1.2.

http://www.murga-linux.com/puppy/viewtopic.php?t=37270[/url]

ready initrd.gz for net-booting

Posted: Mon 05 Jan 2009, 23:16
by raffy
To immediately test net-booting for your PC (no dual-cores please), try this:
http://minipc.org/pxe/
That is based on Breeezy (Puppy 2.13), the ALSA (audio) of which has been updated to work with the eee 701/900.

EDIT - There is no humongous initrd for 3.01, but see farther down for netbooting initrd.gz for 4.1.2.

Posted: Wed 07 Jan 2009, 09:38
by costinel
raffy, that doesn't work
tested in a virtual machine with 256 mb ram and the provided files and config into a tftpd server

http://i44.tinypic.com/5lv47k.png

real machine

Posted: Wed 07 Jan 2009, 23:46
by raffy
Sorry, that has been tested for net-booting in a real machine, not in a virtual machine*. For testing your own working pup_21x.sfs and zdrv_21x.sfs, I have uploaded the netbooting-forge files (these are the unleashed files of Puppy 2.16):
http://minipc.org/pxe/netbooting-forge-files.tgz
http://minipc.org/pxe/1-netbooting-readme.txt
----------------

EDIT: * Did you specify the ramdisk_size? If errors persist, you can use the frugal method to boot this in virtual machine. If you get problems with DOS file names, shorten the names vmlinuz and initrd.gz to 8.3 format (these default names are OK).

Posted: Fri 09 Jan 2009, 07:03
by enigmaaaaa
I aslo tried to build a humongus initrd with Puppy 4.1.2 Unleashed and ran into multiple erros and ultimately failed.

Really wish Barry and the team could fix it up. It would be a shame that we do not make Puppy capable of a complete booting experience that includes CD, USB, Hard Drive, Floppy, and Network.

Posted: Fri 09 Jan 2009, 17:05
by MagicZaurus
I built a humongus initrd.gz with Unleashed 4.1.1 and it works. I'm posting this from a client which booted into Puppy with PXE-Network Boot. So the problem is really related to Unleashed 4.1.2.

I had to disable the DHCP-Server of my router in order to do the network boot. Later I had to set back the Gateway and DNS address to the router IP address, as it automatically gets set to the IP address of the TFTP-Server.

Posted: Fri 09 Jan 2009, 18:24
by MagicZaurus
It's also possible to built a Unleashed 4.1.2 humongus initrd.gz and do a network boot.

After downloading the core and packages I did the following 2 things.

1) Copy 'depmod' from puppy-unleashed-4.1.1/boot to puppy-unleashed/boot.

2) Copy puppy-unleashed-4.1.1/boot/initrd-tree0/dev to puppy-unleashed/boot/initrd-tree0/dev.

After that I just used the ./createpuppy and no problems or errors observed.

MagicZaurus

Posted: Sat 10 Jan 2009, 07:31
by enigmaaaaa
Thank you MagicZaurus! I finally got it to build. Success at last!

Thanks all.

nice

Posted: Sat 10 Jan 2009, 15:21
by raffy
That's nice. :) Perhaps you want to share the humongous builds - you can upload here: ftp://puppy:puppylinux@ftp.servage.net

Posted: Sat 10 Jan 2009, 18:32
by enigmaaaaa
I was able to successfully build (and boot) a humongous initrd for puppy 4.1.1, and am uploading it right now onto your ftp share into the "humongous411" folder.

I haven't been able to build one for 4.1.2 though. i gave it a try following MagicZaurus's instructions but didnt work. MagicZaurus, maybe you can share your 4.1.2 initrd by uploading it to raffy's ftp share?

Posted: Sat 10 Jan 2009, 18:37
by MagicZaurus
Hi Raffy!

Which files do you need? vmlinuz & initrd.gz?

I only built with 'barebone' packages as I just wanted to test and it's smaller. Initrd.gz is about 59MB. I'm also running the DHCP and TFTP on a Puppy Linux machine.

Paalam.

Posted: Sat 10 Jan 2009, 19:29
by enigmaaaaa
never mind. I got 4.1.2 to buid successfully second time around. MagizZarus' instructions works!

I am uploading the file to your ftp share now, raffy, into "humongous412" folder.

initrd-h.gz

Posted: Sun 11 Jan 2009, 06:50
by raffy
Thanks, guys. :D

MagicZ, it's the initrd.gz that matters - that's the "humongous" one, right? Salamat (thanks) for your help.

Thanks also to enigma - I guess your build is more than "barebones" as it is 90MB+.

Wolf Pup has posted a barebones netbooting ISO here:
http://murga-linux.com/puppy/viewtopic.php?t=37571

For the record, the FTP site is compliments of GermanPup, European Urologist and Puppy Linux enthusiast.

Posted: Mon 12 Jan 2009, 20:19
by J-Bob
for those that might be wondering about a humongous initrd.
well... it's the sfs in the initrd. but you do need to know what you're doing when making one.

you can do this with unleashed, but there is another way.

you would need to unpack the initrd, and enter the image file for it, on puppy 3 and above, when you remake the image file, if will be adjusted accordingly, but for earlier pups, you WILL need to increase the size of the image file. this is due to the different formats.

i do not know exactly where it is you want to place the sfs, because i have never handled a humongous one. but i imagine i might want to do so for a remix of 3.02CCE if i want a cyber cafe edition.

you can search for the post on how to edit your initrd. and you could possibly search for the other part.

- J-Bob

rebuilding initrd.gz

Posted: Tue 13 Jan 2009, 07:19
by raffy
Yes, there should be a way of rebuilding the initrd.gz without using unleashed.

For starters, see Pizzasgood's instructions for editing initrd.gz (for Puppy 3.x and later): http://www.murga-linux.com/puppy/viewtopic.php?t=25645

Posted: Sat 24 Jan 2009, 22:09
by solis
Hello, I found that the busybox in initrd it's not the same of the busybox on the final squashed sistem, but if I intents to change in the initrd the busybox the system hangs.

Can anybody send the instructions to recompile the busybox to incorporate to initrd.

Thanks.

Posted: Tue 07 Sep 2010, 12:22
by Aitch
Hi Raffy

Somewhere, recently....? I posted a request for network boot to be made an option in new puppies, but can no longer find the thread.... :oops:

Any ideas?

I know Network booting used to be included in at least debian, and I think, Slackware

I'm sure it would be helpful, at least to folks who don't have CDs or USB boot capability

I'm sure there was a *buntu howto, as well, so it should lend itself to Lupu/Lucid, at least

Edit: :oops: http://www.murga-linux.com/puppy/viewtopic.php?t=59404

Aitch :)

Net-booting

Posted: Tue 07 Sep 2010, 12:29
by ndujoe1
If PuppyLinuc can be booted over a network, is it possible to take it one step further and have our PCs boots from the internet? Such that booting from a cental internet location puppy would automatically be updated for the user at all times. And we could save our data locally or at an internet site.