Sep 252013
 

We already saw earlier how to boot ubuntu over ipxe with NFS

Howeber, setting an NFS server in windows is not always a given.

Hence, lets see now how to do it with a CIFS share i.e a simple windows share which Tiny PXE Server can manage for you.
Side note :
-I could make it work only with ubuntu 12.10, not 13.04.
-I could make it work only in plain DHCP mode, not proxydhcp mode.

needed :
ipxe
tiny pxe server
ubuntu

1/ open ubuntu.iso in winrar

(or any other iso reading capable tool)

extract casper folder to x:\pxe\iso\ubuntu.12.10 (or any path that suit you)

 

2/use the below ipxe script :

#!ipxe
set boot-url http://${dhcp-server}
kernel ${boot-url}/ubuntu.12.10/casper/vmlinuz showmounts toram root=/dev/cifs boot=casper netboot=cifs nfsroot=${cifs-server}/pxe/ubuntu.12.10 NFSOPTS=-ouser=username,pass=password,ro ip=dhcp ro
initrd ${boot-url}/ubuntu.12.10/casper/initrd.lz
boot

In the script above, adapt the username and password.
name it ubuntu.ipxe and put it in x:\pxe

Note :
About that syntax, as there is a controversy, be aware that I did not make it up.
Google it and you’ll find tons of similar examples and/or variants.
See my latest post abou this here.

 

3/put ipxe-undionly.kpxe in x:\pxe

 

4/modify config.ini with the following

(so that Tiny PXE Server will create a PXE share automatically for you pointing to your root folder) :
[dhcp]
smb=1

 

5/launch tiny pxe server with the following settings

(leave other settings untouched) :
tick « httpd »
boot filename = ipxe-undionly.kpxe (use the browse files and folders « … » button)
tick « filename if user-class=gPXE or iPXE » = http://${dhcp-server}/ubuntu.ipxe
push the online button

 

6/pxe boot your computer and here we go

7/ Notes

The same can be achieved with LinuxMint.

Extract the content of the iso to mint folder and use the ipxe script below :

#!ipxe
set boot-url http://${dhcp-server}
kernel ${boot-url}/mint/casper/vmlinuz showmounts toram root=/dev/cifs boot=casper netboot=cifs nfsroot=${cifs-server}/pxe/mint NFSOPTS=-ouser=username,pass=password,ro ip=dhcp ro
initrd ${boot-url}/mint/casper/initrd.lz
boot

 Posted by at 12 h 47 min

  4 Responses to “Boot Ubuntu (LIVE) over iPXE and CIFS”

  1. Good day. I’m following this post. Using a Turnkey Linux Appliance.

    vmlinuz and initrd.gz successfully loaded

    after that im getting an error

    /init: line 3: can’t open /dev/sr0: no medium found

    your help would be nice.

    Cheers!

  2. About turnkey, a user reported success with PXE (NFS) here : http://www.turnkeylinux.org/forum/support/20090127/pxe-boot .

    Tried, but no success 🙁
    Also tried PXE (CIFS) : no success either 🙁
    Tried version 12 and 13.

    Strange I can boot fine ubuntu 12 thru cifs or ubuntu 13 thru nfs without any issue.

  3. Just use CAPS words 🙂

    NETBOOT=cifs

    Yes is magick, but it work!

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)