Bug 48991 - CONFIG_SYSFS_DEPRECATED & CONFIG_SYSFS_DEPRECATED_V2 appear to not work
Summary: CONFIG_SYSFS_DEPRECATED & CONFIG_SYSFS_DEPRECATED_V2 appear to not work
Status: RESOLVED DOCUMENTED
Alias: None
Product: File System
Classification: Unclassified
Component: SysFS (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Greg Kroah-Hartman
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-10-18 00:58 UTC by Steven Haigh
Modified: 2012-10-23 12:57 UTC (History)
2 users (show)

See Also:
Kernel Version: 3.6.2
Tree: Mainline
Regression: Yes


Attachments
Screenshot of kernel panic via IP KVM (41.07 KB, image/png)
2012-10-18 01:14 UTC, Steven Haigh
Details
Example kernel config. (108.24 KB, application/octet-stream)
2012-10-18 03:23 UTC, Steven Haigh
Details

Description Steven Haigh 2012-10-18 00:58:07 UTC
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?
Comment 1 Steven Haigh 2012-10-18 01:14:04 UTC
Created attachment 83781 [details]
Screenshot of kernel panic via IP KVM

Added screenshot of kernel panic.
Comment 2 Steven Haigh 2012-10-18 01:17:38 UTC
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.
Comment 3 Steven Haigh 2012-10-18 03:23:35 UTC
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.
Comment 4 Steven Haigh 2012-10-18 06:21:45 UTC
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.
Comment 5 Greg Kroah-Hartman 2012-10-18 15:08:15 UTC
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.
Comment 6 Steven Haigh 2012-10-18 21:42:08 UTC
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 :)
Comment 7 Greg Kroah-Hartman 2012-10-19 00:23:41 UTC
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.
Comment 8 Steven Haigh 2012-10-19 03:10:46 UTC
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 :)
Comment 9 Greg Kroah-Hartman 2012-10-19 03:15:06 UTC
Try upgrading your version of udev to what is in EL6 and see if that solves the issue.
Comment 10 Steven Haigh 2012-10-19 04:05:14 UTC
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 ;)
Comment 11 Steven Haigh 2012-10-19 04:09:00 UTC
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?
Comment 12 Greg Kroah-Hartman 2012-10-19 18:00:47 UTC
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.
Comment 13 Steven Haigh 2012-10-23 12:06:06 UTC
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
Comment 14 Alan 2012-10-23 12:57:11 UTC
"EL5 is strange, and very old, and you really are on your own here, sorry"

That is documenting it.

Note You need to log in before you can comment on or make changes to this bug.