Boot Linux Over HTTP With boot.kernel.org (BKO)

Want to support HowtoForge? Become a subscriber!
 
Submitted by falko (Contact Author) (Forums) on Thu, 2009-09-24 16:11. :: Linux

Boot Linux Over HTTP With boot.kernel.org (BKO)

Version 1.0
Author: Falko Timme <ft [at] falkotimme [dot] com>
Follow me on Twitter
Last edited 09/23/2009

This tutorial shows how you can boot Linux over HTTP with boot.kernel.org (BKO). All that users need is Internet connectivity and a small program (gpxe) to boot the machine. This gpxe program provides network booting facility. BKO allows you to boot into the following distributions: Debian, Ubuntu, Damn Small Linux, Knoppix, Fedora. BKO provides gpxe images for USB sticks, CDs, and also for floppies, i.e., you can boot from a USB sticks, a CD, or a floppy.

I do not issue any guarantee that this will work for you!

 

1 Getting BKO

Go to http://boot.kernel.org/ and download the appropriate gpxe image. If you want to boot from a CD, just download the CD ISO and burn it onto a CD, then boot from that CD. I want to use a USB stick here, so the procedure is a bit more complicated. I download the USB Image to my desktop:

You should now find the gpxe.usb file on your desktop. Now plug in your USB stick - its icon should appear on the desktop as well:

Next open a terminal (Applications > Accessories > Terminal):

In the terminal, run

mount

to find out the device name of your USB stick:

falko@falko-desktop:~$ mount
/dev/sda1 on / type ext3 (rw,relatime,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
varrun on /var/run type tmpfs (rw,nosuid,mode=0755)
varlock on /var/lock type tmpfs (rw,noexec,nosuid,nodev,mode=1777)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
lrm on /lib/modules/2.6.28-11-generic/volatile type tmpfs (rw,mode=755)
securityfs on /sys/kernel/security type securityfs (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
gvfs-fuse-daemon on /home/falko/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=falko)
/dev/sdf1 on /media/disk type vfat (rw,nosuid,nodev,uhelper=hal,shortname=mixed,uid=1000,utf8,umask=077,flush)
falko@falko-desktop:~$

In my case, it's /dev/sfd (mount point /media/disk).

Before we can transfer the gpxe.usb image to the USB stick, we must unmount the USB stick. Right-click its icon on the desktop and select Unmount Volume...

... or run

umount /media/disk

in the terminal.

Now we can transfer the gpxe.usb image to the USB stick as follows:

sudo dd if=~/Desktop/gpxe.usb of=/dev/sdf

That's it! We can now boot another computer from the USB stick.

 

2 Booting From BKO

Now insert your BKO medium (USB stick, CD, floppy) into the computer that you want to boot from BKO, and make sure that the BKO medium is the first boot device in the computer's BIOS!

This is how the BKO boot menu looks:

You can find some Live distributions under Live Images:

Currently, the following distributions are available as Live Images: Debian, Damn Small Linux (DSL), Fedora, Knoppix, and Ubuntu:

In this example, I want to start an Ubuntu 9.04 Live desktop (it doesn't matter if you select iscsi or iso):

The Live desktop will now boot (this can take some minutes because everything has to be loaded from the Internet):

Finally, you should see the Ubuntu Live desktop. If you want to install Ubuntu to the hard drive, simply click the Install icon and follow the instructions:

 

3 Links


Please do not use the comment function to ask for help! If you need help, please use our forum.
Comments will be published after administrator approval.
Submitted by Bob White (not registered) on Tue, 2009-09-29 20:44.

There does not appear to be wireless support built into the boot image.  I was unable to get to the BKO boot menu until I plugged in the ethernet cable.  Is there a way to use wireless?

Thanks,

 Bob

Submitted by John 'Warthog9'... (not registered) on Mon, 2009-10-05 06:39.

Wireless PXE booting is more or less in it's infancy.  Things like the MacBook Air were able to do it, and up until a few weeks ago it was the only known machine to be able to do it.

 That said there *IS* experimental support for the Atheros 5K,  and the Realtek 8180/8185 series of wireless cards are the only ones we have, even experimental, drivers for.

http://www.etherboot.org/wiki/wirelessboot

 That said we will likely be offering an experimental version of the ROM image for people wanting to try it, but it won't be nearly as 'easy' since you will have to manually fill in the wireless information on every boot.

Submitted by SamD (not registered) on Mon, 2009-09-28 18:48.

After the output of the first mount command, you typo'd the device name in the line beginning 'In my case'.

Otherwise, an excellent article.

Submitted by Anonymous (not registered) on Wed, 2010-07-14 08:32.

I read that thing for about ten minutes, thinking I missed something. I'm glad you said something, because I was feelin a little dicouraged about this stuff for a minute.

 

                            PS- Im a newbie to this, but I taught myself qbasic and how to program a TI86+ to do my homework on parabolic and quadratic functions. Not that any of that male cow excrement from the abiss of the years means anythingLOL

Submitted by Anonymous (not registered) on Mon, 2009-09-28 02:26.
Absolutely brilliant! One main download and so many network installs available. Say goodbye to all those one time use burnt disks.
Submitted by Nick Johnson (not registered) on Sun, 2009-09-27 22:25.

You might also want to check out http://netboot.me/ . It's very similar to BKO, but with less emphasis on live distros and more on installers and diagnostic/rescue tools. It also lets you create your own configurations - and it has a BKO boot option. :)

 Disclaimer: netboot.me is my own service.

Submitted by Anonymous (not registered) on Mon, 2009-09-28 09:56.

It should probably be pointed out that BKO, while it has a partial emphasis on live distributions it has quite the gaggle of network installers, with distribution support (in fact it's known that SuSE and Gentoo are both working on getting full support for their distros working with BKO).

 It also has PXE Knife integrated, a project that's been around since 2006 providing network based diagnostics and recovery tools.  While it doesn't look like it's a full version of PXE Knife (it seems to be missing the proprietary hard drive checkers) it has a fairly complete set of diagnostics tools...

Submitted by newbietux (not registered) on Sun, 2009-09-27 20:30.

 The title of this article is:

"Boot Linux Over HTTP With boot.kernel.org (BKO)"

 I also read:

 "This gpxe program provides network booting facility."

 ------------------------------------------------------------------------------

I didn't see anything in this article about booting over HTTP or "network booting facility"!

Submitted by John 'Warthog9'... (not registered) on Tue, 2009-09-29 02:56.

Well the article is correct in calling this booting over http, the howto however doesn't quite explain why.

The gPXE snippet here is the portion that boots, which is correct, however it gets all of it's data from remote servers using http, in fact if you boot a live distro using this via the httpfs mechanism you have used nothing but an http server to boot your system, and your root filesystem is being streamed directly from a web server using http.  So while this isn't a howto, exactly, on how to implement this - if you look around at the code available for boot.kernel.org (it's all available, we are an open source project) you can see what we've done, how we've modified initrd's and the entirety of how to re-implement this should you choose.  Heck in fact we are more than happy if you take the entirety of our code an implement it on your own system if you wish.

Submitted by christophe (not registered) on Mon, 2009-09-28 21:12.

"I didn't see anything in this article about booting over HTTP or network booting facility!"

 Are you ironic ?

Maybe remove your hard disk, you will see the "thing" :D

Submitted by Anonymous (not registered) on Mon, 2009-09-28 17:47.
the cd gpxe.iso is (589,824 bytes) so the protocol being used is probably http to get the 600mb live cd image.