iPXE NetBooting Ubuntu 14.04.3 LTS
|
2016-02-05, 17:53
Post: #1
|
|||
|
|||
iPXE NetBooting Ubuntu 14.04.3 LTS
I'm having a really hard time getting iPXE to work with linux. I've been doing PXE for a long time and have had no problems getting that to work with linux. I love the features of iPXE though and I'm trying to convert my entire PXE environment to iPXE. Rather than burn ROMs etc, I've just set up my DHCP server to pass the undionly.kpxe loader, so technically i'm chaining from PXE to iPXE.
One of the things I put into my configuration was a hook to chain back over to my old PXE configuration so I can boot things in transition. My unbuntu live cd environment is working great there. Here's my stanza in PXE, whic owrks perfectly. LABEL Ubuntu14043-64 MENU LABEL ^1 - Ubuntu 14.04.3 Desktop (Live,64-bit) KERNEL /linsetup/ubuntu/14043dx64/casper/vmlinuz.efi APPEND boot=casper netboot=nfs nfsroot=192.168.15.25:/pxe/linsetup/ubuntu/14043dx64 initrd=/linsetup/ubuntu/14043dx64/casper/initrd.lz ipv6.disable=1 hostname=ubuntu64 Now, here's my corresponding iPXE setup: set ns 192.168.15.25 set np /pxe/linsetup/ubuntu/14043dx64 set args boot=casper netboot=nfs nfsroot=${ns}:${np} ipv6.disable=1 hostname=ubuntu64 initrd nfs://${ns}:${np}/casper/initrd.lz || goto doError kernel nfs://${ns}:${np}/casper/vmlinuz.efi ${args} || goto doError boot This does not work. It loads the vmlinuz.efi and initrd.lz just fine; during debugging I inserted "imgstat" and "prompt key" before the boot so I could check that the parameters were correct. Boot starts and a few seconds later I get a kernel panic VFS: Unable to mount root fs on unknown block(0,0) I have read literally dozens of articles all around the web on this, including the app note (http://ipxe.org/appnote/ubuntu_live) and it seems that I'm doing everything right. I've fiddled with the boot params quite a bit and found:
Anyone got any working examples with 14.04.x and a current build of ipxe? I actually started this with a 14.04.1 CD and updated to 14.04.3 hoping that would fix it but no luck. Thanks in advance! |
|||
2016-02-06, 12:54
Post: #2
|
|||
|
|||
RE: iPXE NetBooting Ubuntu 14.04.3 LTS
(2016-02-05 17:53)brownmit Wrote: set ns 192.168.15.25 Quick check: is this a BIOS boot or a UEFI boot? (I'm guessing BIOS given the "undionly.kpxe", but you then mention "vmlinuz.efi".) If it's UEFI then you need to add "initrd=initrd.lz" to the kernel arguments. You can add this extra argument anyway; it's harmless for a BIOS boot and means that the same iPXE script should then work for both BIOS and UEFI. Quote:This does not work. It loads the vmlinuz.efi and initrd.lz just fine; during debugging I inserted "imgstat" and "prompt key" before the boot so I could check that the parameters were correct. Boot starts and a few seconds later I get a kernel panic VFS: Unable to mount root fs on unknown block(0,0) Is the problem that the kernel is failing to find the initrd, or that the initrd is failing to mount the NFS root filesystem? If you're not sure, paste a copy of the boot output here. Michael |
|||
2016-02-06, 19:30
Post: #3
|
|||
|
|||
RE: iPXE NetBooting Ubuntu 14.04.3 LTS [SOLVED]
Michael, thanks for the notes.
FYI, this is not UEFI; I really don't know why but the ubuntu 64 bit distributions for quite some time now are using the filename vmlinuz.efi regardless, and whatever it is works fine with both BIOS and UEFI. So, I solved the problem, it was ridiculously simple yet obscure. I remembered reading somewhere that sometimes the load order between kernel and initrd is important, and while that wasn't the issue, it caused me to look carefully at the image load stack. I had recently "optimized" my ipxe script to be more efficient managing the use of a background image for my menu; in my case it is titled widescreen.png. I switched to using the console option -keep to keep it in memory so on future console setup calls I wouldn't be reloading the image from my server. It turns out keeping that in memory was the problem. It was the first thing loaded in memory so when booting, it was evidently being interpreted by the linux kernels as part of the initrd, causing unpacking of the initrd to fail. This effect did NOT happen with my winboot based configurations. After redoing my console commands to remove the -keep and just load the image from my tftp server each time, and I threw in an imgfree before the image loads, and everything has been working perfectly since. |
|||
2019-05-26, 12:18
Post: #4
|
|||
|
|||
RE: iPXE NetBooting Ubuntu 14.04.3 LTS
Hello,
I have exactly the same problem. I know the subject is old but I really need help. Brownmit, I did not really understand your solution. What is your script in the end? Thanks |
|||
2019-05-26, 18:23
(This post was last modified: 2019-05-26 18:26 by NiKiZe.)
Post: #5
|
|||
|
|||
RE: iPXE NetBooting Ubuntu 14.04.3 LTS
(2019-05-26 12:18)bluedark Wrote: I have exactly the same problem. I know the subject is old but I really need help. What is exactly is that problem (error messages or similar), just to be clear since there is so much going on in OP And what is your current iPXE script? and if you add : imgstat && shell before your boot line, which files are then listed? (is there anything there not relevant for the ubuntu boot) Use GitHub Discussions VRAM bin |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 3 Guest(s)