Harry Putnam wrote:
> I'll say right from the start, that building a new kernel, has always
> been a problem for me.  I don't remember ever not having a problem, in
> 10+ yrs..
>
> Many people here seem to find it completely easy... not me.
>
> So I'm back in the soup.
> [I hope what I try to layout below is not overly confusing]
>
> (After install of gentoo-sources-2.6.31-r4)
>
> I started with `make oldconfig'
> Moved from that to `make menuconfig'
>
> Trying to mimic all the needed drivers in current running kernel.
> But, On the first build and reboot, I got  `kernel panic'
>
> So by now I've rebuilt the kernel 4 times, each time trying to get the
> new one to have all the needed drivers that are present in the old
> one, but still getting `kernel panic'.
>
> I tried closely comparing the current working kernel with newly built
> one. I mean side by side with `make menuconfig' running in both sources.
> I cannot tell what it is I'm overlooking.
>
> I copied the latest output painfully off the boot screen, and best I
> can make of it, a driver required to let the kernel recognize the
> filesystem that / is on, is not getting loaded.  I think its one of
> PIIX items.
>
> The thing is, I cannot find the culprit.  For example, examining the
> PIIX items in the working kernel and inserting here:
>
> zgrep PIIX /proc/config.gz
>
>  CONFIG_BLK_DEV_PIIX=y
>  CONFIG_ATA_PIIX=m
>  CONFIG_PATA_MPIIX=y
>  # CONFIG_PATA_OLDPIIX is not set
>  CONFIG_I2C_PIIX4=m
>
> Try the same thing on the newbuild:
>
> grep  PIIX /usr/src/linux/.config
>
>  CONFIG_BLK_DEV_PIIX=y
>  CONFIG_ATA_PIIX=m
>  CONFIG_PATA_MPIIX=y
>  # CONFIG_PATA_OLDPIIX is not set
>  CONFIG_I2C_PIIX4=m
>
> So maybe it is not even related to PIIX....
> But let me insert the kernel messages from a failed boot here:
> (I've numbered the lines from the bad boot output so as not confuse
> them with the good boot messages from kernel 2.6.30-r1
> -------        ---------       ---=---       ---------      --------
> From Kernel 2.6.31-r4
>  
> 1  hda: ST3160021A, ATA DISK drive
> 2  hdb: WDC SE3000JB-00KFA0, ATA DISK drive
> 3  hda: UDMA/100 mode selected
> 4  hdb: UDMA/100 mode selected
> 5  hdc: LITE-ON CD-ROM LTN-5291s, ATAPI CD/DVD-ROM drive
> 6  hdd: WDC WD16000JB-00EVA0, ATA DISK drive
> 7  hdc: UDMA/33 mode selected
> 8  hdd: UDMA/100 mode selected
> 9  IDE0 at 0x1f0-0X1f7,0X3f6 on irg 14
> 10 IDE0 at 0x170-0X177,0X376 on irg 15
> -------        ---------       ---=---       ---------      -------- 
>
> NOTE: Comparing a similar section of dmesg from  working kernel
>                                                  2.6.30-r1
>
> Uniform Multi-Platform E-IDE driver
> piix 0000:00:1f.1: IDE controller (0x8086:0x24db rev 0x02)
> PIIX_IDE 0000:00:1f.1: enabling device (0005 -> 0007)
> ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 10
> PCI: setting IRQ 10 as level-triggered
> PIIX_IDE 0000:00:1f.1: PCI INT A -> Link[LNKC] -> GSI 10 (level, low) -> IRQ 
> 10
> piix 0000:00:1f.1: not 100% native mode: will probe irqs later
>     ide0: BM-DMA at 0xfc00-0xfc07
>     ide1: BM-DMA at 0xfc08-0xfc0f
>
>   ** The part above, I think is where a piix driver is loaded or 
>      something (these messages from working kernel 2.6.30-r1)
>
> Probing IDE interface ide0...
> Switched to high resolution mode on CPU 0
> hda: ST3160021A, ATA DISK drive
> hdb: WDC WD3000JB-00KFA0, ATA DISK drive
> hda: host max PIO4 wanted PIO255(auto-tune) selected PIO4
> hda: UDMA/100 mode selected
> hdb: host max PIO4 wanted PIO255(auto-tune) selected PIO4
> hdb: UDMA/100 mode selected
> Probing IDE interface ide1...
> hdc: LITE-ON CD-ROM LTN-5291S, ATAPI CD/DVD-ROM drive
> hdd: WDC WD1600JB-00EVA0, ATA DISK drive
> hdc: host max PIO4 wanted PIO255(auto-tune) selected PIO4
> hdc: UDMA/33 mode selected
> hdd: host max PIO4 wanted PIO255(auto-tune) selected PIO4
> hdd: UDMA/100 mode selected
>
> [...] snipped the rest of dmesg ouput from running kernel
>                                       2.6.30.1
>
> -------        ---------       ---=---       ---------      -------- 
>    (continuation of messages from failed boot of kernel-2.6.31-r4
>
> 11 ide_generic: please use "probe_mask=0x3f" module parameters for probing 
> all legacy IS IDE ports
> 12 ide-cd driver 5.00
> 13 ide cd:hdc: ATAPI 52X CD-ROM drive 96kB Cache
> 14 Uniform CD-ROM driver Revision: 3.10
> 15 Intel(R) PRO/1000 Network Driver version - 7.3.21-k3-NAPI
> 16 Copyright (c) 1999-2006 Intel Corporation
> 17 e1000e: Intel(R) Pro/1000 Network Driver, 1.0.2-k2
> 18: e1000e: Copyright(c) 1999-2008 Intel Corporation
> 19: e100: Intel (R) PRO/100 Network Driver 3.5.24-k-NAPI
> 20: e100: Copyright blah blah
> 21: sky2 driver version 1.23
> 22: r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded
> 23: r8169 0000:02:03:0: PCI INT A -> GSI 19 (level,low) -> IRQ 19
> 24: r8169 0000:02:03:0: no PCI Experss capability
> 25: eth0  RTL8110s at 0xf8026f00, 00:40:f4:b5:29:41, XID 04000000 IRQ 20
> 26: r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded
> 27: r8169 0000:02:06:0: PCI INT A -> GSI 20 (level,low) -> IRQ 20
> 28: r8169 0000:02:06:0: no PCI Experss capability
> 29: eth1  RTL8110s at 0xf802ae00, 00:11:09:ee:6c:04, XID 04000000 IRQ 20
> 30: PnP: PS/2 Controller [PNP0303:PS2K] at 0x60,0x64 IRQ 1
> 31: PnP: PS/2 appears to have AUX port disabled, if this bla bla
> 32: serio: i8042 KBD port at 0x60,0x64 IRQ 1
> 33: mice: PS/2 mouse device common for all mice
> 34: cupidle: using governors ladder
> 35: cpuidle: using governor menu
> 36: TCP cubic registered
> 37: NET: Registered protocol family 17
> 38: RPC: Registered udp transport module
> 39: RPC: Registered udp transport module
> 40: Using IPI No-Shortcut mode
> 41: input: AT Translated Set 2 keyboard as 
> /devices/platform/i8042/serio0/input/input2
> 42: ROOT-NFS: No NFS server available, giving up.
> 43: VFS: Unable to mount root fs via NFS, trying floppy
> 44: VFS: Cannot open root device "hda5" or unknown-block(2.0)
> 45: Please append a correct "root=" boot option - here are the available 
> partitions:
> 46: 1600       419302 hdc driver: ide-cdrom
> 47: kernel panic - not syncing: VFS: Unable to mount root fs on 
> unknown-block(2.0)
> 48: Pid: 1: comm: swappers Not tainted 2.6.31-gentoo-r4_rdr-2 #3
> 49: Call Trace:
> 50: [<c130cd18>] ? printk+0xf/0x17
> 51: [<c130cc6e>] panic+0x39/0xd4
>  [There were several more lines here]
>
>
>
>   
I stopped using that option in my systems, as there is now a AHCI SATA
option to use instead. It appears CONFIG_ATA_SFF (which CONFIG_ATA_PIIX
requires) is deprecated. From the help on it:

------
SFF is the legacy IDE interface that has been around since the dawn of
time. Almost all PATA controllers have an SFF interface. Many SATA
controllers have an SFF interface when configured into a legacy
compatibility mode.

For users with exclusively modern controllers like AHCI, Silicon Image
3124, or Marvell 6440, you may choose to disable this unneeded SFF support.
------

So I disabled ATA_SFF and used SATA_AHCI instead. You can enable (or
disable) AHCI from most BIOS'es; sometimes it's nice and simple with
something like: ATA Mode: AHCI or IDE Emulation. Others just ask if you
want ATA Native mode, which seems to be AHCI.

HTH

John Moe


Reply via email to