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

A home for all kinds of Puppy related projects
Message
Author
raffy
Posts: 4798
Joined: Wed 25 May 2005, 12:20
Location: Manila

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

#1 Post 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.
Attachments
pxe.jpg
TFTPD in Windows: update IP numbers, save then restart.
(31.63 KiB) Downloaded 14449 times
Puppy user since Oct 2004. Want FreeOffice? [url=http://puppylinux.info/topic/freeoffice-2012-sfs]Get the sfs (English only)[/url].

enigmaaaaa
Posts: 6
Joined: Mon 05 Jan 2009, 06:04

#2 Post 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?

MagicZaurus
Posts: 107
Joined: Mon 05 Jan 2009, 17:35

#3 Post 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]

raffy
Posts: 4798
Joined: Wed 25 May 2005, 12:20
Location: Manila

ready initrd.gz for net-booting

#4 Post 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.
Last edited by raffy on Sat 17 Jan 2009, 08:32, edited 1 time in total.
Puppy user since Oct 2004. Want FreeOffice? [url=http://puppylinux.info/topic/freeoffice-2012-sfs]Get the sfs (English only)[/url].

costinel
Posts: 1
Joined: Wed 07 Jan 2009, 09:16

#5 Post 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

raffy
Posts: 4798
Joined: Wed 25 May 2005, 12:20
Location: Manila

real machine

#6 Post 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).
Puppy user since Oct 2004. Want FreeOffice? [url=http://puppylinux.info/topic/freeoffice-2012-sfs]Get the sfs (English only)[/url].

enigmaaaaa
Posts: 6
Joined: Mon 05 Jan 2009, 06:04

#7 Post 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.

MagicZaurus
Posts: 107
Joined: Mon 05 Jan 2009, 17:35

#8 Post 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.

MagicZaurus
Posts: 107
Joined: Mon 05 Jan 2009, 17:35

#9 Post 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

enigmaaaaa
Posts: 6
Joined: Mon 05 Jan 2009, 06:04

#10 Post by enigmaaaaa »

Thank you MagicZaurus! I finally got it to build. Success at last!

Thanks all.

raffy
Posts: 4798
Joined: Wed 25 May 2005, 12:20
Location: Manila

nice

#11 Post by raffy »

That's nice. :) Perhaps you want to share the humongous builds - you can upload here: ftp://puppy:puppylinux@ftp.servage.net
Puppy user since Oct 2004. Want FreeOffice? [url=http://puppylinux.info/topic/freeoffice-2012-sfs]Get the sfs (English only)[/url].

enigmaaaaa
Posts: 6
Joined: Mon 05 Jan 2009, 06:04

#12 Post 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?

MagicZaurus
Posts: 107
Joined: Mon 05 Jan 2009, 17:35

#13 Post 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.

enigmaaaaa
Posts: 6
Joined: Mon 05 Jan 2009, 06:04

#14 Post 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.

raffy
Posts: 4798
Joined: Wed 25 May 2005, 12:20
Location: Manila

initrd-h.gz

#15 Post 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.
Puppy user since Oct 2004. Want FreeOffice? [url=http://puppylinux.info/topic/freeoffice-2012-sfs]Get the sfs (English only)[/url].

User avatar
J-Bob
Posts: 282
Joined: Sun 10 Feb 2008, 00:58
Location: Canada
Contact:

#16 Post 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

raffy
Posts: 4798
Joined: Wed 25 May 2005, 12:20
Location: Manila

rebuilding initrd.gz

#17 Post 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
Puppy user since Oct 2004. Want FreeOffice? [url=http://puppylinux.info/topic/freeoffice-2012-sfs]Get the sfs (English only)[/url].

solis
Posts: 1
Joined: Sat 24 Jan 2009, 21:49

#18 Post 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.

User avatar
Aitch
Posts: 6518
Joined: Wed 04 Apr 2007, 15:57
Location: Chatham, Kent, UK

#19 Post 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 :)

ndujoe1
Posts: 851
Joined: Mon 05 Dec 2005, 01:06

Net-booting

#20 Post 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.

Post Reply