# Strange delay before loading kernel

## lars_msh

I have a weird problem with my new Gentoo. Grub seems to load and do its job, and the kernel seems to load (or whatever this process is called) and the system then boots fine.

However, somewhere between Grub and the kernel loading, there is a delay of about 7-8 minutes with this showing:

```
Booting 'Gentoo'

kernel /boot/bzImage

     root=/dev/hdb3

[Linux_bzImage, setup=0xa00,

     size=0x14d632]
```

Apologies if this isn't perfect, I copied it down by hand; also I don't know for sure if this is before or after the kernel loads - I get the above on screen, alone, after selecting Gentoo in Grub. After the long delay, the usual boot stuff scrolls up the screen and the system basically works.

During the delay there is constant 'low level' disk activity (i.e. it's not thrashing madly, but the disk light is on and I can hear some whirring). I think the delay was originally about five minutes and then crept up in length (maybe related to the number of files on the disk?) but I could be wrong.

Apart from this weirdness I can boot fine into Linux and Windows 2000 (with no delay). Here's my /boot/grub/menu.lst (after mounting /boot of course):

```
default 0

timeout 30

splashimage=(hd1,0)/boot/grub/splash.xpm.gz

title=Gentoo

root(hd1,0)

kernel /boot/bzImage root=/dev/hdb3

title=Windows 2000

root(hd0,0)

chainloader +1
```

As you can see, Windows is on "hda" (first IDE disk) and Gentoo is on "hdb" (second disk). I think the boot loader itself is on hda though (not sure how to check now).

Anyway I'm still dual-booting between Windows 2000 and Gentoo so it's a nuisance but not a disaster. Does anyone have any pointers for me? Maybe I messed up the kernel config and should try playing with that? Or is it more likely a Grub config problem? Or something else...

Many thanks.  :Smile: 

----------

## pjp

Have you gone through the output of 'dmesg'?

----------

## lars_msh

I must admit I couldn't find anything in there which helped me (by the way I have some prior Linux experience but I'm definitely not an expert!)

I'm not sure if this info from dmesg starts after the delay or before, but anyway there's a lot of stuff so here's most of it...

```
Linux version 2.4.19-gentoo-r7 (root@(none)) (gcc version 2.95.3 20010315 (release)) #2 SMP Wed Aug 28 11:30:14 BST 2002

BIOS-provided physical RAM map:

 BIOS-e820: 0000000000000000 - 000000000009f000 (usable)

 BIOS-e820: 000000000009f000 - 00000000000a0000 (reserved)

 BIOS-e820: 00000000000ce000 - 00000000000d0000 (reserved)

 BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)

 BIOS-e820: 0000000000100000 - 000000001fef0000 (usable)

 BIOS-e820: 000000001fef0000 - 000000001feff000 (ACPI data)

 BIOS-e820: 000000001feff000 - 000000001ff00000 (ACPI NVS)

 BIOS-e820: 000000001ff00000 - 000000001ff80000 (usable)

 BIOS-e820: 000000001ff80000 - 0000000020000000 (reserved)

 BIOS-e820: 00000000ff800000 - 00000000ffc00000 (reserved)

 BIOS-e820: 00000000fff00000 - 0000000100000000 (reserved)

511MB LOWMEM available.

On node 0 totalpages: 130944

zone(0): 4096 pages.

zone(1): 126848 pages.

zone(2): 0 pages.

Kernel command line: root=/dev/hdb3

Found and enabled local APIC!

Initializing CPU#0

Detected 1993.951 MHz processor.

Console: colour VGA+ 80x25

Calibrating delay loop... 3932.16 BogoMIPS

Memory: 513272k/523776k available (2004k kernel code, 10052k reserved, 549k data, 256k init, 0k highmem)

Dentry cache hash table entries: 65536 (order: 7, 524288 bytes)

Inode cache hash table entries: 32768 (order: 6, 262144 bytes)

Mount cache hash table entries: 8192 (order: 4, 65536 bytes)

Buffer cache hash table entries: 32768 (order: 5, 131072 bytes)

Page-cache hash table entries: 131072 (order: 7, 524288 bytes)

CPU: Before vendor init, caps: 3febfbff 00000000 00000000, vendor = 0

CPU: L1 I cache: 12K, L1 D cache: 8K

CPU: L2 cache: 256K

CPU: Hyper-Threading is disabled

CPU: After vendor init, caps: 3febfbff 00000000 00000000 00000000

Intel machine check architecture supported.

Intel machine check reporting enabled on CPU#0.

CPU:     After generic, caps: 3febfbff 00000000 00000000 00000000

CPU:             Common caps: 3febfbff 00000000 00000000 00000000

Enabling fast FPU save and restore... done.

Enabling unmasked SIMD FPU exception support... done.

Checking 'hlt' instruction... OK.

POSIX conformance testing by UNIFIX

CPU: Before vendor init, caps: 3febfbff 00000000 00000000, vendor = 0

CPU: L1 I cache: 12K, L1 D cache: 8K

CPU: L2 cache: 256K

CPU: Hyper-Threading is disabled

CPU: After vendor init, caps: 3febfbff 00000000 00000000 00000000

Intel machine check reporting enabled on CPU#0.

CPU:     After generic, caps: 3febfbff 00000000 00000000 00000000

CPU:             Common caps: 3febfbff 00000000 00000000 00000000

CPU0: Intel(R) Pentium(R) 4 CPU 2.00GHz stepping 02

per-CPU timeslice cutoff: 731.69 usecs.

task migration cache decay timeout: 1 msecs.

SMP motherboard not detected.

enabled ExtINT on CPU#0

ESR value before enabling vector: 00000000

ESR value after enabling vector: 00000000

Using local APIC timer interrupts.

calibrating APIC timer ...

..... CPU clock speed is 1993.0270 MHz.

..... host bus clock speed is 99.0663 MHz.

cpu: 0, clocks: 99663, slice: 49831

CPU0<T0:99648,T1:49808,D:9,S:49831,C:99663>

PCI: PCI BIOS revision 2.10 entry at 0xfd9a0, last bus=2

PCI: Using configuration type 1

PCI: Probing PCI hardware

Unknown bridge resource 0: assuming transparent

Unknown bridge resource 2: assuming transparent

PCI: Using IRQ router PIIX [8086/2440] at 00:1f.0

isapnp: Scanning for PnP cards...

isapnp: No Plug & Play device found

Linux NET4.0 for Linux 2.4

Based upon Swansea University Computer Society NET3.039

Initializing RT netlink socket

Starting kswapd

Journalled Block Device driver loaded

devfs: v1.12 (20020219) Richard Gooch ()

devfs: boot_options: 0x1

Installing knfsd (copyright (C) 1996 ).

NTFS driver v1.1.22 [Flags: R/O]

SGI XFS with ACLs, quota, no debug enabled

parport0: PC-style at 0x378 (0x778) [PCSPP(,...)]

parport0: irq 7 detected

pty: 256 Unix98 ptys configured

Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI ISAPNP enabled

ttyS00 at 0x03f8 (irq = 4) is a 16550A

ttyS01 at 0x02f8 (irq = 3) is a 16550A

lp0: using parport0 (polling).

block: 992 slots per queue, batch=248

Uniform Multi-Platform E-IDE driver Revision: 6.31

ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx

PIIX4: IDE controller on PCI bus 00 dev f9

PIIX4: chipset revision 5

PIIX4: not 100% native mode: will probe irqs later

    ide0: BM-DMA at 0x1800-0x1807, BIOS settings: hda:DMA, hdb:DMA

    ide1: BM-DMA at 0x1808-0x180f, BIOS settings: hdc:DMA, hdd:DMA

hda: SAMSUNG SV4002H, ATA DISK drive

hdb: IC35L040AVER07-0, ATA DISK drive

hdc: SAMSUNG DVD-ROM SD-616T, ATAPI CD/DVD-ROM drive

hdd: SAMSUNG CD-R/RW DRIVE SW-224B, ATAPI CD/DVD-ROM drive

ide0 at 0x1f0-0x1f7,0x3f6 on irq 14

ide1 at 0x170-0x177,0x376 on irq 15

hda: 78242976 sectors (40060 MB) w/1945KiB Cache, CHS=4870/255/63, UDMA(100)

hdb: 80418240 sectors (41174 MB) w/1916KiB Cache, CHS=5005/255/63, UDMA(100)

hdc: ATAPI 48X DVD-ROM drive, 512kB Cache, UDMA(33)

Uniform CD-ROM driver Revision: 3.12

hdd: ATAPI 40X CD-ROM CD-R/RW drive, 2048kB Cache, DMA

Partition check:

 /dev/ide/host0/bus0/target0/lun0: p1

 /dev/ide/host0/bus0/target1/lun0: p1 p2 p3 p4

Floppy drive(s): fd0 is 1.44M

FDC 0 is a post-1991 82077

Linux Tulip driver version 0.9.15-pre10 (Mar 8, 2002)

PCI: Found IRQ 9 for device 02:0a.0

tulip0:  MII transceiver #1 config 3000 status 7829 advertising 01e1.

eth0: Lite-On 82c168 PNIC rev 32 at 0x2000, 00:A0:CC:D3:72:C5, IRQ 9.

Linux agpgart interface v0.99 (c) Jeff Hartmann

agpgart: Maximum main memory to use for agp memory: 439M

agpgart: Detected Intel i845 chipset

agpgart: AGP aperture is 64M @ 0xec000000

[drm] Initialized tdfx 1.0.0 20010216 on minor 0

[drm] AGP 0.99 on Unknown @ 0xec000000 64MB

[drm] Initialized radeon 1.1.1 20010405 on minor 1

SCSI subsystem driver Revision: 1.00

scsi0 : SCSI host adapter emulation for IDE ATAPI devices

es1371: version v0.30 time 11:31:35 Aug 28 2002

usb.c: registered new driver hub

uhci.c: USB Universal Host Controller Interface driver v1.1

PCI: Found IRQ 11 for device 00:1f.2

PCI: Setting latency timer of device 00:1f.2 to 64

uhci.c: USB UHCI at I/O 0x1820, IRQ 11

usb.c: new USB bus registered, assigned bus number 1

hub.c: USB hub found

hub.c: 2 ports detected

PCI: Found IRQ 10 for device 00:1f.4

PCI: Setting latency timer of device 00:1f.4 to 64

uhci.c: USB UHCI at I/O 0x1840, IRQ 10

usb.c: new USB bus registered, assigned bus number 2

hub.c: USB hub found

hub.c: 2 ports detected

Initializing USB Mass Storage driver...

usb.c: registered new driver usb-storage

USB Mass Storage support registered.

NET4: Linux TCP/IP 1.0 for NET4.0

IP Protocols: ICMP, UDP, TCP, IGMP

IP: routing cache hash table of 4096 buckets, 32Kbytes

TCP: Hash tables configured (established 32768 bind 32768)

NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.

kjournald starting.  Commit interval 5 seconds

EXT3-fs: mounted filesystem with ordered data mode.

VFS: Mounted root (ext3 filesystem) readonly.

Mounted devfs on /dev

Freeing unused kernel memory: 256k freed

hub.c: USB new device connect on bus1/2, assigned device number 2

hub.c: USB hub found

hub.c: 4 ports detected

Adding Swap: 1052248k swap-space (priority -1)

EXT3 FS 2.4-0.9.17, 10 Jan 2002 on ide0(3,67), internal journal

kjournald starting.  Commit interval 5 seconds

EXT3 FS 2.4-0.9.17, 10 Jan 2002 on ide0(3,68), internal journal

EXT3-fs: recovery complete.

EXT3-fs: mounted filesystem with ordered data mode.

nvidia: loading NVIDIA NVdriver Kernel Module  1.0-2960  Tue May 14 07:41:42 PDT 2002

eth0: Setting full-duplex based on MII#1 link partner capability of 45e1.

NVRM: AGPGART: unknown chipset

NVRM: AGPGART: aperture: 64M @ 0xec000000

NVRM: AGPGART: aperture mapped from 0xec000000 to 0xe19dc000

NVRM: AGPGART: mode 4x

NVRM: AGPGART: allocated 16 pages

PCI: Enabling device 00:1f.5 (0000 -> 0001)

PCI: Found IRQ 9 for device 00:1f.5

PCI: Sharing IRQ 9 with 00:1f.3

PCI: Setting latency timer of device 00:1f.5 to 64

intel8x0: clocking to 48000

NVRM: AGPGART: allocated 258 pages

NVRM: AGPGART: allocated 2304 pages

NVRM: AGPGART: freed 2304 pages

NVRM: AGPGART: freed 258 pages

NVRM: AGPGART: allocated 258 pages

NVRM: AGPGART: freed 258 pages

NVRM: AGPGART: allocated 258 pages

NVRM: AGPGART: freed 258 pages
```

...cut a load of mostly USB stuff at the end, let me know if it's likely to be needed... also cut out a couple of author e-mail addresses, they probably get enough spam...

Hope that's ok.

----------

## lars_msh

I've fixed this nasty little blighter, at last!  :Very Happy: 

While deliberate attempts to understand and fix this problem failed, it eventually went away when I got around to setting up the CD writer.

As shown in my first post above, when my machine was booting the kernel wasn't being passed the necessary hdd=ide-scsi (it's the second drive in my case). I just hadn't got around to it.

I put that into my Grub config, but still I had the long delay booting and still I wasn't able to write CDs. Finally, I discovered that I'd missed out the generic SCSI support (sg) from my kernel, even though all the other stuff was compiled in.

So I changed this one option, recompiled the kernel, put the new bzImage in place... and now it boots straight away! (Plus CD writing works a treat).

I don't know if the lack of SCSI generic support was causing the delay, or if there was some strange error with my kernel that recompiling fixed. Hope this sorry tale is useful for somebody!

----------

