Hi all, I'm trying to build kernel 3.5.4 to work with EL5. Each time I try to boot this kernel, I get a panic stating it can't find / The same kernel config works for EL6. The documentation I have found states that for compatibility with EL5, I should enable the CONFIG_SYSFS_DEPRECATED and CONFIG_SYSFS_DEPRECATED_V2 options in General Setup. I have done this as shown: # grep SYSFS /boot/config-3.5.4-4.el5xen.x86_64 CONFIG_SYSFS_DEPRECATED=y CONFIG_SYSFS_DEPRECATED_V2=y CONFIG_WIRELESS_EXT_SYSFS=y CONFIG_ISCSI_BOOT_SYSFS=m # CONFIG_GPIO_SYSFS is not set CONFIG_VIDEO_PVRUSB2_SYSFS=y CONFIG_RTC_INTF_SYSFS=y # CONFIG_DMI_SYSFS is not set CONFIG_SYSFS=y The system however does not boot. I have also tried passing "sysfs.deprecated=1" on the kernel line in grub with no success. I cannot seem to find anything further that could cause this issue other than a fault in these kernel options. Can anyone much wiser than me assist here? How can I help debug this further?
Created attachment 83781 [details] Screenshot of kernel panic via IP KVM Added screenshot of kernel panic.
Grub config: title CentOS (3.5.4-4.el5xen.x86_64) root (hd0,0) kernel /xen.gz module /vmlinuz-3.5.4-4.el5xen.x86_64 ro root=/dev/md1 sysfs.deprecated=1 module /initrd-3.5.4-4.el5xen.x86_64.img I have also tried without the Xen hypervisor: title CentOS (3.5.4-4.el5xen.x86_64) root (hd0,0) kernel /vmlinuz-3.5.4-4.el5xen.x86_64 ro root=/dev/md1 sysfs.deprecated=1 initrd /initrd-3.5.4-4.el5xen.x86_64.img Both result in the same panic.
Created attachment 83801 [details] Example kernel config. Tested this on v3.6.2 also. Still can't figure out why it panics. Attaching kernel config.
Just re-reading this after a little break. I should clarify that: CONFIG_SYSFS_DEPRECATED=y CONFIG_SYSFS_DEPRECATED_V2=y are not set in the working EL6 version. From my understanding though the age of EL5 requires they be set. Those are the only two differences in kernel config. As such, on EL5, the resulting kernel panics both with and without these two options set.
On Thu, Oct 18, 2012 at 12:58:07AM +0000, bugzilla-daemon@bugzilla.kernel.org wrote: > Summary: CONFIG_SYSFS_DEPRECATED & CONFIG_SYSFS_DEPRECATED_V2 > appear to not work Your system can't find the root disk, why do you think these config options are the ones in charge of that? Odds are you aren't building in the correct disk driver for your system.
Hi Greg, Normally I would agree 100% - however when built using EL6 using the exact same config as attached (except having CONFIG_SYSFS_DEPRECATED and CONFIG_SYSFS_DEPRECATED_V2 *not set*), the kernel boots and operates as expected. No changes were made to any other options. References: http://mattiasgeniar.be/2011/02/19/building-your-own-kernel-based-on-centos-switchroot-mount-failed-kernel-panic/ http://www.centos.org/modules/newbb/viewtopic.php?topic_id=23627&forum=37 Its only after a couple of days experimentation that I ended up posting this - only figuring that these options seem to be not working as expected. It could be however that my expectations are wrong - hence I would love to accept all feedback in trying to resolve - no matter how simple :)
What is "EL6" and "EL5"? RHEL 5 and RHEL 6? If so, your userspace packages are too old to be running a new kernel on RHEL 5, that is well known and no one supports that, see the list of needed userspace programs for the kernel in the CHANGES file. You probably need to update your version of udev. And you really don't want to run a kernel.org kernel on RHEL 5, that way lies madness, and you just broke your subscription from Red Hat which you paid a lot of money for. We can't support that in the community at all, sorry.
Sorry, EL5 & EL6 = the RHEL 'clones'. Sometimes CentOS, sometimes Scientific Linux etc. I don't wish to call them RHEL - as it implies something that it isn't. Documentation/Changes shows: Current Minimal Requirements ============================ --- snip --- o udev 081 # udevd --version On EL5, "udevd --version" doesn't return anything, however: # udevinfo -V udevinfo, version 095 # rpm -qa udev udev-095-14.27.el5_7.1 Also checking: o module-init-tools 0.9.10 # depmod -V # depmod -V module-init-tools 3.3-pre2 o procps 3.2.0 # ps --version # ps -V procps version 3.2.7 o mcelog 0.6 # mcelog --version # mcelog --version mcelog 0.9pre This would seem to indicate that EL5 meets the requirements in Documentation/Changes. As there is no subscription or support from RH to worry about, I've been hacking away :)
Try upgrading your version of udev to what is in EL6 and see if that solves the issue.
I have attempted this, however the newer udev requires a newer usbutils which to build requires a newer automake etc... Sounds like that is starting to be a lot of pain ;)
Thinking on this a bit more... Its either a case of: 1) Bug in the EL5 version of udev (095); or 2) Bug in kernel documentation (ie the required version is too low); or 3) Bug in the kernel not doing something it should Any suggestions on how to prove which one it is?
On Fri, Oct 19, 2012 at 04:09:00AM +0000, bugzilla-daemon@bugzilla.kernel.org wrote: > --- Comment #11 from Steven Haigh <netwiz@crc.id.au> 2012-10-19 04:09:00 --- > Thinking on this a bit more... Its either a case of: > > 1) Bug in the EL5 version of udev (095); or > 2) Bug in kernel documentation (ie the required version is too low); or > 3) Bug in the kernel not doing something it should > > Any suggestions on how to prove which one it is? Update the version of udev and see if that solves the issue or not. Do you have a boot log somewhere? Are you sure the root device is being found? Are you sure you are generating the initramfs properly? EL5 is strange, and very old, and you really are on your own here, sorry. good luck.
Were there some changes to the documentation for this? If not, I do not believe it should be closed as documented... As of right now, compared with the current Changes file documenting required software version, EL5 should certainly be able to build / operate on 3.6.x Reference: http://www.kernel.org/doc/Documentation/Changes I also don't see anything pointing to updated documentation in: http://www.kernel.org/pub/linux/kernel/v3.0/ChangeLog-3.6.3
"EL5 is strange, and very old, and you really are on your own here, sorry" That is documenting it.