Post Reply 
 
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
kernel boot failure with ipxe on uefi mode
2015-01-14, 09:11
Post: #1
kernel boot failure with ipxe on uefi mode
Hello, I've been trying to load linux kernel and initrd directly with ipxe on uefi mode. The kernel and initrd I have tried are from hp scripting toolkit linux 10.02-1. The ipxe command I've tried as follows:

iPXE>kernel http://10.4.16.100/vmlinuz initrd=initrd.img
http://10.4.16.100/vmlinuz...ok
iPXE>initrd http://10.4.16.100/initrd.img
http://10.4.16.100/initrd.img...ok
iPXE>boot

then it output:
VFS: Cannot open root device "(null)" or unknown-block(0,0)
Please append a correct "root=" boot option; here are the available partitions:
kernel pannic - not syncing:VFS: Unable to mount root fs on unknown-block(0,0)

While I used the same kernel and another initrd from fedora, it worked fine.
I also tried to boot the kernel with pxe directly using bootx64.efi and elilo.conf, it worked fine too. And If I chain bootx64.efi in ipxe command line, it would boot into grub2 command line and then I don't know what to do.
Since I need use the tools in the hp scripting toolkits linux, i have to load the kernel and initrd.img from hp scripting toolkits linux directly.

Is there anyone can help me with this problem?
Find all posts by this user
Quote this message in a reply
2015-03-09, 12:27 (This post was last modified: 2015-03-09 12:28 by robinsmidsrod.)
Post: #2
RE: kernel boot failure with ipxe on uefi mode
You need to specify the root= kernel argument according to what the initrd expects (or another argument that serves a similar purpose). If you can't find any documentation on kernel arguments in the hp scripting toolkit docs then you need to unpack the initrd and go looking manually for potential boot parameters that its init scripts support. If it is based on Fedora, look for anacode-related docs, if it is based on Debian, look for casper-related docs. For gentoo/arch, I'm unsure.
Visit this user's website Find all posts by this user
Quote this message in a reply
2015-03-12, 23:34
Post: #3
RE: kernel boot failure with ipxe on uefi mode
Hi, I'm hitting a similar error here, but with CentOS 7 x86_64 under Hyper-V. I get the following:

List of all partitions:
No filesystem could mount root, tried:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
....

My ipxe.cfg is

#!ipxe
dhcp
initrd /initrd.img
kernel vmlinuz inst.repo=http://mirror.bytemark.co.uk/centos/7/os/x86_64/ initrd=initrd.img ro root=/dev/ram0 ip=dhcp
boot

I've extracted the initrd but I'm at a loss to understand what root= should really be. It looks like it's not seeing any disks at all?

From the RHEL 7 docs it says to use (with grub2 efi, shim.efi)

linuxefi uefi/vmlinuz ip=dhcp inst.repo=http://10.32.5.1/mnt/archive/RHEL-7/7.1/Server/x86_64/os/
initrdefi uefi/initrd.img

What am I missing, or where can I continue looking?
Find all posts by this user
Quote this message in a reply
2015-08-19, 23:03
Post: #4
RE: kernel boot failure with ipxe on uefi mode
I'm running into the same issue, including the desire to use HP tools.

Trying to boot CentOS 6.6. Have adopted kernel-lt from elrepo which is 3.10 and supports EFI. My problem comes when trying to mount the root filesystem. Any ideas or debugging suggestions will be appreciated!

Thanks,
Allen

(2015-03-12 23:34)aberdine Wrote:  Hi, I'm hitting a similar error here, but with CentOS 7 x86_64 under Hyper-V. I get the following:

List of all partitions:
No filesystem could mount root, tried:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
....

My ipxe.cfg is

#!ipxe
dhcp
initrd /initrd.img
kernel vmlinuz inst.repo=http://mirror.bytemark.co.uk/centos/7/os/x86_64/ initrd=initrd.img ro root=/dev/ram0 ip=dhcp
boot

I've extracted the initrd but I'm at a loss to understand what root= should really be. It looks like it's not seeing any disks at all?

From the RHEL 7 docs it says to use (with grub2 efi, shim.efi)

linuxefi uefi/vmlinuz ip=dhcp inst.repo=http://10.32.5.1/mnt/archive/RHEL-7/7.1/Server/x86_64/os/
initrdefi uefi/initrd.img

What am I missing, or where can I continue looking?
Find all posts by this user
Quote this message in a reply
2015-09-09, 07:34
Post: #5
RE: kernel boot failure with ipxe on uefi mode
I'm seeing this behaviour as well... It seems that once initrd is downloaded and vmlinuz is subsequently chainloaded, vmlinuz doesn't seem to know where the previously-downloaded initrd actually is (in memory) upon execution.

This behavior only exhibits itself in UEFI builds. When in a PCBIOS environment iPXE/ vmlinuz don't seem to have this issue.

"Thus far, you have been adrift within the sheltered harbor of my patience..."
Find all posts by this user
Quote this message in a reply
2015-09-09, 15:36
Post: #6
RE: kernel boot failure with ipxe on uefi mode
(2015-09-09 07:34)MultimediaMan Wrote:  I'm seeing this behaviour as well... It seems that once initrd is downloaded and vmlinuz is subsequently chainloaded, vmlinuz doesn't seem to know where the previously-downloaded initrd actually is (in memory) upon execution.

This behavior only exhibits itself in UEFI builds. When in a PCBIOS environment iPXE/ vmlinuz don't seem to have this issue.
Forgive my injection here, but I believe UEFI booting through iPXE requires the kernel's implicit initrd=<initfilename> here for things to work within the argument's list.
Visit this user's website Find all posts by this user
Quote this message in a reply
2015-09-10, 01:47
Post: #7
RE: kernel boot failure with ipxe on uefi mode
Quote:Forgive my injection here, but I believe UEFI booting through iPXE requires the kernel's implicit initrd=<initfilename> here for things to work within the argument's list.

No forgiveness needed: You are correct... added a simple initrd=initrd and things were right as rain.

Big Grin

"Thus far, you have been adrift within the sheltered harbor of my patience..."
Find all posts by this user
Quote this message in a reply
2015-09-16, 18:03 (This post was last modified: 2015-09-16 18:07 by NiKiZe.)
Post: #8
RE: kernel boot failure with ipxe on uefi mode
(2015-08-19 23:03)allenb Wrote:  I'm running into the same issue, including the desire to use HP tools.

Trying to boot CentOS 6.6. Have adopted kernel-lt from elrepo which is 3.10 and supports EFI. My problem comes when trying to mount the root filesystem. Any ideas or debugging suggestions will be appreciated!

Thanks,
Allen

In http://forum.ipxe.org/showthread.php?tid=7756 you can find this:
(2015-06-25 17:24)mcb30 Wrote:  I think you're hitting a known bug in pre-3.16 kernels. Try upgrading to a newer kernel.

Michael

So make sure it is an 3.16 or later kernel and try again.
I also know mcb30 have posted the link to that issue and patch that was added in 3.16 - but can't find it right now.
Also you posted a new thread about CentOS 7 - but no information about which kernel version is was (or atleast not as far as i could tell)

Sorry my bad about your other thread, was just hard to see, will just quote relevant part here for reference.
(2015-09-16 17:47)allenb Wrote:  [ 4.178291] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[ 4.218363] CPU: 6 PID: 1 Comm: swapper/0 Not tainted 3.10.0-229.14.1.el7.x86_64 #1

Read FAQ before first post!
Are relevant ipxe.org error urls and PCIIDs included?
Visit this user's website Find all posts by this user
Quote this message in a reply
2015-10-14, 12:58
Post: #9
RE: kernel boot failure with ipxe on uefi mode
Is there any way to make uefi boot work on kernel 3.10 (latest for RHEL7.1).
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 1 Guest(s)