Upgrade to Trunk, Kernel Panic
-
@Sebastian-Roth The symlink works as well… But still asks me to enter the TFTP server. I think its just a matter of knowing exactly where and how to pass the FOG IP to dnsmasq…
-
@SaxxAppeal Just figured it out!!
the boot line should read:
dhcp-boot=undionly.kpxe,, XXX.XXX.XXX.XXX
The double comma is required because it expects the server name first, then the IP.
Hope that helps someone…
Thanks EVERYONE for your help on this!!
-
@Sebastian-Roth said in Upgrade to Trunk, Kernel Panic:
@SaxxAppeal said:
bzImage: x86 boot sector
A while back already I noticed that the
file
command does not output all the valuable information on all distros. What it does is kind of simple. It reads the first couple of bytes of a file and compares it to known signatures (https://en.wikipedia.org/wiki/List_of_file_signatures). Seems like the ubuntufile
command does detect the kernel as simple x86 boot sector and therefore does not print out the kernel version. Very sad because I really love that little tool. So maybe I have to get around this by pointing people to check the kernel version via the web gui - although this only works when the kernel image is in place but nor for checking the version of any bzImage you have lying around.@george1421 said:
Strange on my prod server and dev box they both say x86, not sure if that is a type-o or what. I can see from an ls command that bzImage IS larger so that is probably the x64 image.
Although the
file
command is powerful (e.g. even prints the partition table if you runfile d1.mbr
) is does not distinguish between 32 or 64 bit kernel. I don’t know the kernel binary structure enough but I guess detecting a 64 bit bzImage from a 32 bit one is beyond the capability of a simple tool likefile
which just compares a few byte ranges…Ok, back to the initial question. George is right that the kernel panic essentially means that the kernel was not able to find it’s root device (which we have packed completely into the init(_32).xz file!). This can be caused by different reasons:
- init(_32).xz missing / wrong filename - in the output you posted I see init_32.xz.1, sure you have the file named like that? Shouldn’t hurt I suppose but maybe try re-naming/-configuring it to init_32_1.xz to see if it makes a difference
- using the old pxelinux.0 for PXE booting (although I still haven’t had the time to find out why that is!) - use ipxe binaries for PXE booting, e.g.
undionly.kpxe
- init(_32).xz corrupt - broken download (shouldn’t happen with FOG trunk anymore)
- 32/64 bit mixed, e.g. bzImage32 / init.xz or vice versa
- Missing
initrd=init..
kernel command line parameter - bzImage32 / init_32.xz booted on a 64 bit architecture (although this usually yields in a different error from what I know)
Possibly something else I missed!? Please add other things you know so I can add this to the wiki soon!
Bumping this post - this one is all yours, @Sebastian-Roth
-
Thanks @Wayne-Workman for reminding me. Added to the wiki now (see my signature). The article is still missing a lot of details about the boot process and all the issues one might run into.