Gentoo Archives: gentoo-user

From: "John H. Moe" <johnmoe@××××××××××××.au>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] kernel build - back in the soup.
Date: Wed, 04 Nov 2009 05:47:15
Message-Id: 4AF1155A.4070500@optusnet.com.au
In Reply to: [gentoo-user] kernel build - back in the soup. by Harry Putnam
1 Harry Putnam wrote:
2 > I'll say right from the start, that building a new kernel, has always
3 > been a problem for me. I don't remember ever not having a problem, in
4 > 10+ yrs..
5 >
6 > Many people here seem to find it completely easy... not me.
7 >
8 > So I'm back in the soup.
9 > [I hope what I try to layout below is not overly confusing]
10 >
11 > (After install of gentoo-sources-2.6.31-r4)
12 >
13 > I started with `make oldconfig'
14 > Moved from that to `make menuconfig'
15 >
16 > Trying to mimic all the needed drivers in current running kernel.
17 > But, On the first build and reboot, I got `kernel panic'
18 >
19 > So by now I've rebuilt the kernel 4 times, each time trying to get the
20 > new one to have all the needed drivers that are present in the old
21 > one, but still getting `kernel panic'.
22 >
23 > I tried closely comparing the current working kernel with newly built
24 > one. I mean side by side with `make menuconfig' running in both sources.
25 > I cannot tell what it is I'm overlooking.
26 >
27 > I copied the latest output painfully off the boot screen, and best I
28 > can make of it, a driver required to let the kernel recognize the
29 > filesystem that / is on, is not getting loaded. I think its one of
30 > PIIX items.
31 >
32 > The thing is, I cannot find the culprit. For example, examining the
33 > PIIX items in the working kernel and inserting here:
34 >
35 > zgrep PIIX /proc/config.gz
36 >
37 > CONFIG_BLK_DEV_PIIX=y
38 > CONFIG_ATA_PIIX=m
39 > CONFIG_PATA_MPIIX=y
40 > # CONFIG_PATA_OLDPIIX is not set
41 > CONFIG_I2C_PIIX4=m
42 >
43 > Try the same thing on the newbuild:
44 >
45 > grep PIIX /usr/src/linux/.config
46 >
47 > CONFIG_BLK_DEV_PIIX=y
48 > CONFIG_ATA_PIIX=m
49 > CONFIG_PATA_MPIIX=y
50 > # CONFIG_PATA_OLDPIIX is not set
51 > CONFIG_I2C_PIIX4=m
52 >
53 > So maybe it is not even related to PIIX....
54 > But let me insert the kernel messages from a failed boot here:
55 > (I've numbered the lines from the bad boot output so as not confuse
56 > them with the good boot messages from kernel 2.6.30-r1
57 > ------- --------- ---=--- --------- --------
58 > From Kernel 2.6.31-r4
59 >
60 > 1 hda: ST3160021A, ATA DISK drive
61 > 2 hdb: WDC SE3000JB-00KFA0, ATA DISK drive
62 > 3 hda: UDMA/100 mode selected
63 > 4 hdb: UDMA/100 mode selected
64 > 5 hdc: LITE-ON CD-ROM LTN-5291s, ATAPI CD/DVD-ROM drive
65 > 6 hdd: WDC WD16000JB-00EVA0, ATA DISK drive
66 > 7 hdc: UDMA/33 mode selected
67 > 8 hdd: UDMA/100 mode selected
68 > 9 IDE0 at 0x1f0-0X1f7,0X3f6 on irg 14
69 > 10 IDE0 at 0x170-0X177,0X376 on irg 15
70 > ------- --------- ---=--- --------- --------
71 >
72 > NOTE: Comparing a similar section of dmesg from working kernel
73 > 2.6.30-r1
74 >
75 > Uniform Multi-Platform E-IDE driver
76 > piix 0000:00:1f.1: IDE controller (0x8086:0x24db rev 0x02)
77 > PIIX_IDE 0000:00:1f.1: enabling device (0005 -> 0007)
78 > ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 10
79 > PCI: setting IRQ 10 as level-triggered
80 > PIIX_IDE 0000:00:1f.1: PCI INT A -> Link[LNKC] -> GSI 10 (level, low) -> IRQ 10
81 > piix 0000:00:1f.1: not 100% native mode: will probe irqs later
82 > ide0: BM-DMA at 0xfc00-0xfc07
83 > ide1: BM-DMA at 0xfc08-0xfc0f
84 >
85 > ** The part above, I think is where a piix driver is loaded or
86 > something (these messages from working kernel 2.6.30-r1)
87 >
88 > Probing IDE interface ide0...
89 > Switched to high resolution mode on CPU 0
90 > hda: ST3160021A, ATA DISK drive
91 > hdb: WDC WD3000JB-00KFA0, ATA DISK drive
92 > hda: host max PIO4 wanted PIO255(auto-tune) selected PIO4
93 > hda: UDMA/100 mode selected
94 > hdb: host max PIO4 wanted PIO255(auto-tune) selected PIO4
95 > hdb: UDMA/100 mode selected
96 > Probing IDE interface ide1...
97 > hdc: LITE-ON CD-ROM LTN-5291S, ATAPI CD/DVD-ROM drive
98 > hdd: WDC WD1600JB-00EVA0, ATA DISK drive
99 > hdc: host max PIO4 wanted PIO255(auto-tune) selected PIO4
100 > hdc: UDMA/33 mode selected
101 > hdd: host max PIO4 wanted PIO255(auto-tune) selected PIO4
102 > hdd: UDMA/100 mode selected
103 >
104 > [...] snipped the rest of dmesg ouput from running kernel
105 > 2.6.30.1
106 >
107 > ------- --------- ---=--- --------- --------
108 > (continuation of messages from failed boot of kernel-2.6.31-r4
109 >
110 > 11 ide_generic: please use "probe_mask=0x3f" module parameters for probing all legacy IS IDE ports
111 > 12 ide-cd driver 5.00
112 > 13 ide cd:hdc: ATAPI 52X CD-ROM drive 96kB Cache
113 > 14 Uniform CD-ROM driver Revision: 3.10
114 > 15 Intel(R) PRO/1000 Network Driver version - 7.3.21-k3-NAPI
115 > 16 Copyright (c) 1999-2006 Intel Corporation
116 > 17 e1000e: Intel(R) Pro/1000 Network Driver, 1.0.2-k2
117 > 18: e1000e: Copyright(c) 1999-2008 Intel Corporation
118 > 19: e100: Intel (R) PRO/100 Network Driver 3.5.24-k-NAPI
119 > 20: e100: Copyright blah blah
120 > 21: sky2 driver version 1.23
121 > 22: r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded
122 > 23: r8169 0000:02:03:0: PCI INT A -> GSI 19 (level,low) -> IRQ 19
123 > 24: r8169 0000:02:03:0: no PCI Experss capability
124 > 25: eth0 RTL8110s at 0xf8026f00, 00:40:f4:b5:29:41, XID 04000000 IRQ 20
125 > 26: r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded
126 > 27: r8169 0000:02:06:0: PCI INT A -> GSI 20 (level,low) -> IRQ 20
127 > 28: r8169 0000:02:06:0: no PCI Experss capability
128 > 29: eth1 RTL8110s at 0xf802ae00, 00:11:09:ee:6c:04, XID 04000000 IRQ 20
129 > 30: PnP: PS/2 Controller [PNP0303:PS2K] at 0x60,0x64 IRQ 1
130 > 31: PnP: PS/2 appears to have AUX port disabled, if this bla bla
131 > 32: serio: i8042 KBD port at 0x60,0x64 IRQ 1
132 > 33: mice: PS/2 mouse device common for all mice
133 > 34: cupidle: using governors ladder
134 > 35: cpuidle: using governor menu
135 > 36: TCP cubic registered
136 > 37: NET: Registered protocol family 17
137 > 38: RPC: Registered udp transport module
138 > 39: RPC: Registered udp transport module
139 > 40: Using IPI No-Shortcut mode
140 > 41: input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input2
141 > 42: ROOT-NFS: No NFS server available, giving up.
142 > 43: VFS: Unable to mount root fs via NFS, trying floppy
143 > 44: VFS: Cannot open root device "hda5" or unknown-block(2.0)
144 > 45: Please append a correct "root=" boot option - here are the available partitions:
145 > 46: 1600 419302 hdc driver: ide-cdrom
146 > 47: kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2.0)
147 > 48: Pid: 1: comm: swappers Not tainted 2.6.31-gentoo-r4_rdr-2 #3
148 > 49: Call Trace:
149 > 50: [<c130cd18>] ? printk+0xf/0x17
150 > 51: [<c130cc6e>] panic+0x39/0xd4
151 > [There were several more lines here]
152 >
153 >
154 >
155 >
156 I stopped using that option in my systems, as there is now a AHCI SATA
157 option to use instead. It appears CONFIG_ATA_SFF (which CONFIG_ATA_PIIX
158 requires) is deprecated. From the help on it:
159
160 ------
161 SFF is the legacy IDE interface that has been around since the dawn of
162 time. Almost all PATA controllers have an SFF interface. Many SATA
163 controllers have an SFF interface when configured into a legacy
164 compatibility mode.
165
166 For users with exclusively modern controllers like AHCI, Silicon Image
167 3124, or Marvell 6440, you may choose to disable this unneeded SFF support.
168 ------
169
170 So I disabled ATA_SFF and used SATA_AHCI instead. You can enable (or
171 disable) AHCI from most BIOS'es; sometimes it's nice and simple with
172 something like: ATA Mode: AHCI or IDE Emulation. Others just ask if you
173 want ATA Native mode, which seems to be AHCI.
174
175 HTH
176
177 John Moe

Replies

Subject Author
[gentoo-user] Re: kernel build - back in the soup. Harry Putnam <reader@×××××××.com>