# [Solved]Kernel boot hangs for about 1.5 minutes and then res

## sinanqapudan

Hi there,

I recently changed my dead Asus P4S800-MX mobo with an ASRock P4i945GC. This forced me to change also my agp video card with a PCIe one (both are Radeon) and RAM (because of the different socket). CPU, PCI controllers and hard disk are the same.

I recompiled the kernel to adjust it to fit this new system and everything went just fine, apart from the fact that now my system hangs for about 1.5 minutes at boot just before the switch to framebuffer. The last thing printed on the screen is 

```
Switching to clocksource tsc
```

After waiting for 1.5 minutes, the boot process resumes regularly and everything appears to be just fine.

Any ideas on how to avoid this delay?Last edited by sinanqapudan on Wed Oct 26, 2011 10:54 am; edited 1 time in total

----------

## Sadako

First guess is the kernel is attempting to load firmware for the radeon which you don't have installed, in which case a simple `emerge radeon-ucode` may fix it.

dmesg should be able to tell you if this is the case, or give you some idea of where the delay lies if that isn't it.

Add "printk.time=1" to your bootloader kernel args on your next boot if you don't have timestamps in dmesg currently enabled, it'll make it a lot easer to see where the delay really is.

----------

## sinanqapudan

Well that should not be the case, I followed instructions on The X Server Configuration HOWTO and added the firmware blobs in the kernel. What I doubt is that the HOWTO states to include all firmware for the Evergreen cards:

```
Device Drivers --->

  Generic Driver Options --->

  [*]  Include in-kernel firmware blobs in kernel binary

  # RadeonHD 2000, 3000, and 4000 series cards:

  (radeon/R600_rlc.bin radeon/R700_rlc.bin) External firmware blobs

  # RadeonHD 5000, a.k.a Evergreen, and newer cards:

  (radeon/CEDAR_me.bin radeon/CEDAR_pfp.bin radeon/CEDAR_rlc.bin

   radeon/CYPRESS_me.bin radeon/CYPRESS_pfp.bin radeon/CYPRESS_rlc.bin

   radeon/JUNIPER_me.bin radeon/JUNIPER_pfp.bin radeon/JUNIPER_rlc.bin

   radeon/REDWOOD_me.bin radeon/REDWOOD_pfp.bin 

   radeon/REDWOOD_rlc.bin) External firmware blobs
```

whilst I added only those that are specific to my Cedar card, and therefore my kernel config loks like this:

```
Device Drivers --->

  Generic Driver Options --->

  [*]  Include in-kernel firmware blobs in kernel binary

  (radeon/CEDAR_me.bin radeon/CEDAR_pfp.bin radeon/CEDAR_rlc.bin)

  External firmware blobs
```

Now, is it possible that the kernel is searching for the missing firmwares, i.e. those for the Cypress, Juniper and Redwood cards that I left out of my config?

Oh, and by the way I have the timestamps, only that I'm writing this with no access to my box so I don't know what actual values are for the timestamps.

Regards

----------

## chithanh

To see if radeon firmware is really at fault, make DRM_RADEON a module or boot with radeon.modeset=0 parameter. If that helps, then you were missing a firmware file.

----------

## sinanqapudan

It seems as if the system has trouble loading the firmware radeon/CEDAR_rlc.bin:

```
[    1.273190] [drm] Initialized drm 1.1.0 20060810

[    1.273364] [drm] radeon defaulting to kernel modesetting.

[    1.273500] [drm] radeon kernel modesetting enabled.

[    1.273676] radeon 0000:04:00.0: found PCI INT A -> IRQ 5

[    1.273817] radeon 0000:04:00.0: sharing IRQ 5 with 0000:00:01.0

[    1.273956] radeon 0000:04:00.0: sharing IRQ 5 with 0000:00:1b.0

[    1.274115] radeon 0000:04:00.0: sharing IRQ 5 with 0000:00:1c.0

[    1.274263] radeon 0000:04:00.0: sharing IRQ 5 with 0000:00:1d.3

[    1.274422] radeon 0000:04:00.0: setting latency timer to 64

[    1.274599] [drm] initializing kernel modesetting (CEDAR 0x1002:0x68E1).

[    1.274767] [drm] register mmio base: 0xFEAC0000

[    1.274902] [drm] register mmio size: 131072

[    1.285635] ATOM BIOS: PARK

[    1.285851] radeon 0000:04:00.0: VRAM: 1024M 0x0000000000000000 - 0x000000003FFFFFFF (1024M used)

[    1.286102] radeon 0000:04:00.0: GTT: 512M 0x0000000040000000 - 0x000000005FFFFFFF

[    1.286578] [drm] Detected VRAM RAM=1024M, BAR=256M

[    1.286717] [drm] RAM width 64bits DDR

[    1.286915] [TTM] Zone  kernel: Available graphics memory: 442758 kiB.

[    1.287070] [TTM] Zone highmem: Available graphics memory: 1036522 kiB.

[    1.287208] [TTM] Initializing pool allocator.

[    1.287380] [drm] radeon: 1024M of VRAM memory ready

[    1.287517] [drm] radeon: 512M of GTT memory ready.

[    1.287667] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).

[    1.287804] [drm] Driver supports precise vblank timestamp query.

[    1.287966] [drm] radeon: irq initialized.

[    1.288118] [drm] GART: num cpu pages 131072, num gpu pages 131072

[    1.289323] [drm] Loading CEDAR Microcode

[    2.240023] Refined TSC clocksource calibration: 2792.999 MHz.

[    2.240163] Switching to clocksource tsc

[   61.920090] r600_cp: Failed to load firmware "radeon/CEDAR_rlc.bin"

[   61.920229] [drm:evergreen_startup] *ERROR* Failed to load firmware!

[   61.920367] radeon 0000:04:00.0: disabling GPU acceleration

[   61.921540] radeon 0000:04:00.0: f61b2000 unpin not necessary

[   61.921678] radeon 0000:04:00.0: f61b2000 unpin not necessary

[   61.922512] [drm] Radeon Display Connectors

[   61.922647] [drm] Connector 0:

[   61.922779] [drm]   HDMI-A

[   61.922910] [drm]   HPD2

[   61.923050] [drm]   DDC: 0x6440 0x6440 0x6444 0x6444 0x6448 0x6448 0x644c 0x644c

[   61.923286] [drm]   Encoders:

[   61.923418] [drm]     DFP1: INTERNAL_UNIPHY1

[   61.923552] [drm] Connector 1:

[   61.923684] [drm]   DVI-I

[   61.923815] [drm]   HPD4

[   61.923947] [drm]   DDC: 0x6460 0x6460 0x6464 0x6464 0x6468 0x6468 0x646c 0x646c

[   61.924187] [drm]   Encoders:

[   61.924320] [drm]     DFP2: INTERNAL_UNIPHY

[   61.924454] [drm]     CRT1: INTERNAL_KLDSCP_DAC1

[   61.924588] [drm] Connector 2:

[   61.924720] [drm]   VGA

[   61.924852] [drm]   DDC: 0x6430 0x6430 0x6434 0x6434 0x6438 0x6438 0x643c 0x643c

[   61.925091] [drm]   Encoders:

[   61.925224] [drm]     CRT2: INTERNAL_KLDSCP_DAC2

[   61.998643] [drm] Internal thermal controller with fan control

[   61.998844] [drm] radeon: power management initialized

[   62.070088] [drm] fb mappable at 0xD0040000

[   62.070223] [drm] vram apper at 0xD0000000

[   62.070357] [drm] size 5324800

[   62.070489] [drm] fb depth is 24

[   62.070621] [drm]    pitch is 5888

[   62.070834] fbcon: radeondrmfb (fb0) is primary device

[   62.288666] Console: switching to colour frame buffer device 180x56

[   62.294316] fb0: radeondrmfb frame buffer device

[   62.294319] drm: registered panic notifier

[   62.294400] [drm] Initialized radeon 2.9.0 20080528 for 0000:04:00.0 on minor 0

[   62.294736] sata_sil24 0000:05:02.0: version 1.1

```

but the firmware is where it should be:

```
pietro@sargon /lib/firmware $ ls -l radeon

total 316

-rw-r--r-- 1 root root 24096 Sep  6 14:03 BARTS_mc.bin

-rw-r--r-- 1 root root  5504 Sep  6 14:03 BARTS_me.bin

-rw-r--r-- 1 root root  4480 Sep  6 14:03 BARTS_pfp.bin

-rw-r--r-- 1 root root  3072 Sep  6 14:03 BTC_rlc.bin

-rw-r--r-- 1 root root 24096 Sep  6 14:03 CAICOS_mc.bin

-rw-r--r-- 1 root root  5504 Sep  6 14:03 CAICOS_me.bin

-rw-r--r-- 1 root root  4480 Sep  6 14:03 CAICOS_pfp.bin

-rw-r--r-- 1 root root 24148 Sep  6 14:03 CAYMAN_mc.bin

-rw-r--r-- 1 root root  8704 Sep  6 14:03 CAYMAN_me.bin

-rw-r--r-- 1 root root  8704 Sep  6 14:03 CAYMAN_pfp.bin

-rw-r--r-- 1 root root  4096 Sep  6 14:03 CAYMAN_rlc.bin

-rw-r--r-- 1 root root  5504 Sep  6 14:03 CEDAR_me.bin

-rw-r--r-- 1 root root  4480 Sep  6 14:03 CEDAR_pfp.bin

-rw-r--r-- 1 root root  3072 Sep  6 14:03 CEDAR_rlc.bin

-rw-r--r-- 1 root root  5504 Sep  6 14:03 CYPRESS_me.bin

-rw-r--r-- 1 root root  4480 Sep  6 14:03 CYPRESS_pfp.bin

-rw-r--r-- 1 root root  3072 Sep  6 14:03 CYPRESS_rlc.bin

-rw-r--r-- 1 root root  5504 Sep  6 14:03 JUNIPER_me.bin

-rw-r--r-- 1 root root  4480 Sep  6 14:03 JUNIPER_pfp.bin

-rw-r--r-- 1 root root  3072 Sep  6 14:03 JUNIPER_rlc.bin

-rw-r--r-- 1 root root  5504 Sep  6 14:03 PALM_me.bin

-rw-r--r-- 1 root root  4480 Sep  6 14:03 PALM_pfp.bin

-rw-r--r-- 1 root root  3072 Sep  6 14:03 R600_rlc.bin

-rw-r--r-- 1 root root  4096 Sep  6 14:03 R700_rlc.bin

-rw-r--r-- 1 root root  5504 Sep  6 14:03 REDWOOD_me.bin

-rw-r--r-- 1 root root  4480 Sep  6 14:03 REDWOOD_pfp.bin

-rw-r--r-- 1 root root  3072 Sep  6 14:03 REDWOOD_rlc.bin

-rw-r--r-- 1 root root  5504 Sep  6 14:03 SUMO2_me.bin

-rw-r--r-- 1 root root  4480 Sep  6 14:03 SUMO2_pfp.bin

-rw-r--r-- 1 root root  5504 Sep  6 14:03 SUMO_me.bin

-rw-r--r-- 1 root root  4480 Sep  6 14:03 SUMO_pfp.bin

-rw-r--r-- 1 root root  3072 Sep  6 14:03 SUMO_rlc.bin

-rw-r--r-- 1 root root 24096 Sep  6 14:03 TURKS_mc.bin

-rw-r--r-- 1 root root  5504 Sep  6 14:03 TURKS_me.bin

-rw-r--r-- 1 root root  4480 Sep  6 14:03 TURKS_pfp.bin

```

and it has been correctly blobbed in the kernel.

One extra info, when I run make menuconfig, I get this error message:

```
sargon linux # make menuconfig

scripts/kconfig/mconf Kconfig

warning: (DRM_RADEON_KMS && DRM_I915 && STUB_POULSBO && FB_BACKLIGHT && PANEL_SHARP_LS037V7DW01 && PANEL_ACX565AKM && USB_APPLEDISPLAY && ASUS_LAPTOP && SONY_LAPTOP && THINKPAD_ACPI && EEEPC_LAPTOP && ACPI_ASUS && ACPI_CMPC) selects BACKLIGHT_CLASS_DEVICE which has unmet direct dependencies (HAS_IOMEM && BACKLIGHT_LCD_SUPPORT)

warning: (SCHED_AUTOGROUP) selects CGROUP_SCHED which has unmet direct dependencies (CGROUPS && EXPERIMENTAL)
```

Any idea/suggestions?

----------

## chithanh

Check that you are booting a kernel with the correct CONFIG_EXTRA_FIRMWARE set.

```
# zgrep CONFIG_EXTRA_FIRMWARE /proc/config.gz
```

If /proc/config.gz doesn't exist, then you need to enable IKCONFIG_PROC in menuconfig. Note that grep in /usr/src/linux/.config or /boot/config-`uname -r` does not give meaningful results, because that config may or may not be the config of your currently running kernel.

----------

## sinanqapudan

This is what I get:

```
sargon linux # zgrep CONFIG_EXTRA_FIRMWARE /proc/config.gz

CONFIG_EXTRA_FIRMWARE="radeon/CEDAR_me.bin radeon/CEDAR_pfp.bin /radeon/CEDAR_rlc.bin"

CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware/"

sargon linux # 

```

I think it is OK, right?

----------

## chithanh

Ok that looks correct. Does the problem happen if you build radeon as module?

----------

## sinanqapudan

I don't know, I've never tried that

----------

## Hu

 *sinanqapudan wrote:*   

> 
> 
> ```
> sargon linux # zgrep CONFIG_EXTRA_FIRMWARE /proc/config.gz
> 
> ...

 That is close, but each token in CONFIG_EXTRA_FIRMWARE must match the name the kernel will request.  You put a leading / on the third path, which will cause it not to match the string the kernel uses.

----------

## chithanh

Good catch, I missed that.

----------

## sinanqapudan

OK, I fixed the kernel config, compiled a new one, but still get the same delay (and the card not working properly):

```
[    1.272753] Non-volatile memory driver v1.3

[    1.272943] intel_rng: FWH not detected

[    1.273192] [drm] Initialized drm 1.1.0 20060810

[    1.273366] [drm] radeon defaulting to kernel modesetting.

[    1.273502] [drm] radeon kernel modesetting enabled.

[    1.273679] radeon 0000:04:00.0: found PCI INT A -> IRQ 5

[    1.273820] radeon 0000:04:00.0: sharing IRQ 5 with 0000:00:01.0

[    1.273960] radeon 0000:04:00.0: sharing IRQ 5 with 0000:00:1b.0

[    1.274119] radeon 0000:04:00.0: sharing IRQ 5 with 0000:00:1c.0

[    1.274266] radeon 0000:04:00.0: sharing IRQ 5 with 0000:00:1d.3

[    1.274426] radeon 0000:04:00.0: setting latency timer to 64

[    1.274604] [drm] initializing kernel modesetting (CEDAR 0x1002:0x68E1).

[    1.274772] [drm] register mmio base: 0xFEAC0000

[    1.274907] [drm] register mmio size: 131072

[    1.285639] ATOM BIOS: PARK

[    1.285854] radeon 0000:04:00.0: VRAM: 1024M 0x0000000000000000 - 0x000000003FFFFFFF (1024M used)

[    1.286104] radeon 0000:04:00.0: GTT: 512M 0x0000000040000000 - 0x000000005FFFFFFF

[    1.286582] [drm] Detected VRAM RAM=1024M, BAR=256M

[    1.286721] [drm] RAM width 64bits DDR

[    1.286920] [TTM] Zone  kernel: Available graphics memory: 442758 kiB.

[    1.287074] [TTM] Zone highmem: Available graphics memory: 1036522 kiB.

[    1.287212] [TTM] Initializing pool allocator.

[    1.287384] [drm] radeon: 1024M of VRAM memory ready

[    1.287520] [drm] radeon: 512M of GTT memory ready.

[    1.287670] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).

[    1.287807] [drm] Driver supports precise vblank timestamp query.

[    1.287968] [drm] radeon: irq initialized.

[    1.288119] [drm] GART: num cpu pages 131072, num gpu pages 131072

[    1.289321] [drm] Loading CEDAR Microcode

[    2.240023] Refined TSC clocksource calibration: 2792.999 MHz.

[    2.240162] Switching to clocksource tsc

[   61.920090] r600_cp: Failed to load firmware "radeon/CEDAR_rlc.bin"

[   61.920229] [drm:evergreen_startup] *ERROR* Failed to load firmware!

[   61.920368] radeon 0000:04:00.0: disabling GPU acceleration

[   61.921542] radeon 0000:04:00.0: f61b2000 unpin not necessary

[   61.921680] radeon 0000:04:00.0: f61b2000 unpin not necessary

[   61.922515] [drm] Radeon Display Connectors

[   61.922651] [drm] Connector 0:

[   61.922783] [drm]   HDMI-A

[   61.922915] [drm]   HPD2

[   61.923055] [drm]   DDC: 0x6440 0x6440 0x6444 0x6444 0x6448 0x6448 0x644c 0x644c

[   61.923290] [drm]   Encoders:

[   61.923422] [drm]     DFP1: INTERNAL_UNIPHY1

[   61.923556] [drm] Connector 1:

[   61.923687] [drm]   DVI-I

[   61.923819] [drm]   HPD4

[   61.923952] [drm]   DDC: 0x6460 0x6460 0x6464 0x6464 0x6468 0x6468 0x646c 0x646c

[   61.924193] [drm]   Encoders:

[   61.924326] [drm]     DFP2: INTERNAL_UNIPHY

[   61.924460] [drm]     CRT1: INTERNAL_KLDSCP_DAC1

[   61.924594] [drm] Connector 2:

[   61.924726] [drm]   VGA

[   61.924859] [drm]   DDC: 0x6430 0x6430 0x6434 0x6434 0x6438 0x6438 0x643c 0x643c

[   61.925098] [drm]   Encoders:

[   61.925230] [drm]     CRT2: INTERNAL_KLDSCP_DAC2

[   61.998597] [drm] Internal thermal controller with fan control

[   61.998798] [drm] radeon: power management initialized

[   62.066764] [drm] fb mappable at 0xD0040000

[   62.066899] [drm] vram apper at 0xD0000000

[   62.067038] [drm] size 5324800

[   62.067170] [drm] fb depth is 24

[   62.067302] [drm]    pitch is 5888

[   62.067515] fbcon: radeondrmfb (fb0) is primary device

[   62.285623] Console: switching to colour frame buffer device 180x56

[   62.291212] fb0: radeondrmfb frame buffer device

[   62.291214] drm: registered panic notifier

[   62.291297] [drm] Initialized radeon 2.9.0 20080528 for 0000:04:00.0 on minor 0

[   62.291633] sata_sil24 0000:05:02.0: version 1.1

[   62.291650] PCI: setting IRQ 3 as level-triggered

[   62.291655] sata_sil24 0000:05:02.0: found PCI INT A -> IRQ 3

[   62.291719] sata_sil24 0000:05:02.0: sharing IRQ 3 with 0000:00:1d.0

[   62.291780] sata_sil24 0000:05:02.0: sharing IRQ 3 with 0000:00:1d.7

```

And now it seems as if the kernel is being loaded with the correct configuration:

```
sargon pietro # zgrep CONFIG_EXTRA_FIRMWARE /proc/config.gz

CONFIG_EXTRA_FIRMWARE="radeon/CEDAR_me.bin radeon/CEDAR_pfp.bin radeon/CEDAR_rlc.bin"

CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware/"
```

I also checked if the file CEDAR_rlc.bin is where it should be, and there it is:

```
sargon pietro # ls -l /lib/firmware/radeon

total 316

-rw-r--r-- 1 root root 24096 Sep  6 14:03 BARTS_mc.bin

-rw-r--r-- 1 root root  5504 Sep  6 14:03 BARTS_me.bin

-rw-r--r-- 1 root root  4480 Sep  6 14:03 BARTS_pfp.bin

-rw-r--r-- 1 root root  3072 Sep  6 14:03 BTC_rlc.bin

-rw-r--r-- 1 root root 24096 Sep  6 14:03 CAICOS_mc.bin

-rw-r--r-- 1 root root  5504 Sep  6 14:03 CAICOS_me.bin

-rw-r--r-- 1 root root  4480 Sep  6 14:03 CAICOS_pfp.bin

-rw-r--r-- 1 root root 24148 Sep  6 14:03 CAYMAN_mc.bin

-rw-r--r-- 1 root root  8704 Sep  6 14:03 CAYMAN_me.bin

-rw-r--r-- 1 root root  8704 Sep  6 14:03 CAYMAN_pfp.bin

-rw-r--r-- 1 root root  4096 Sep  6 14:03 CAYMAN_rlc.bin

-rw-r--r-- 1 root root  5504 Sep  6 14:03 CEDAR_me.bin

-rw-r--r-- 1 root root  4480 Sep  6 14:03 CEDAR_pfp.bin

-rw-r--r-- 1 root root  3072 Sep  6 14:03 CEDAR_rlc.bin

-rw-r--r-- 1 root root  5504 Sep  6 14:03 CYPRESS_me.bin

-rw-r--r-- 1 root root  4480 Sep  6 14:03 CYPRESS_pfp.bin

```

----------

## sinanqapudan

Any sugestions?

----------

## sinanqapudan

OK, the problem was fixed by the new 3.0.6 kernel. The CEDAR firmware now loads and works fine.

```
[    1.279785] [drm] Initialized drm 1.1.0 20060810

[    1.279962] [drm] radeon defaulting to kernel modesetting.

[    1.280108] [drm] radeon kernel modesetting enabled.

[    1.280302] radeon 0000:04:00.0: found PCI INT A -> IRQ 5

[    1.280443] radeon 0000:04:00.0: sharing IRQ 5 with 0000:00:01.0

[    1.280582] radeon 0000:04:00.0: sharing IRQ 5 with 0000:00:1b.0

[    1.280720] radeon 0000:04:00.0: sharing IRQ 5 with 0000:00:1c.0

[    1.280867] radeon 0000:04:00.0: sharing IRQ 5 with 0000:00:1d.3

[    1.281044] radeon 0000:04:00.0: setting latency timer to 64

[    1.281222] [drm] initializing kernel modesetting (CEDAR 0x1002:0x68E1 0x174B:0x6000).

[    1.281490] [drm] register mmio base: 0xFEAC0000

[    1.281625] [drm] register mmio size: 131072

[    1.292340] ATOM BIOS: PARK

[    1.292557] radeon 0000:04:00.0: VRAM: 1024M 0x0000000000000000 - 0x000000003FFFFFFF (1024M used)

[    1.292796] radeon 0000:04:00.0: GTT: 512M 0x0000000040000000 - 0x000000005FFFFFFF

[    1.293261] [drm] Detected VRAM RAM=1024M, BAR=256M

[    1.293400] [drm] RAM width 64bits DDR

[    1.293598] [TTM] Zone  kernel: Available graphics memory: 442744 kiB.

[    1.293736] [TTM] Zone highmem: Available graphics memory: 1036508 kiB.

[    1.293874] [TTM] Initializing pool allocator.

[    1.294059] [drm] radeon: 1024M of VRAM memory ready

[    1.294195] [drm] radeon: 512M of GTT memory ready.

[    1.294345] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).

[    1.294483] [drm] Driver supports precise vblank timestamp query.

[    1.294642] [drm] radeon: irq initialized.

[    1.294782] [drm] GART: num cpu pages 131072, num gpu pages 131072

[    1.295987] [drm] Loading CEDAR Microcode

[    1.298958] radeon 0000:04:00.0: WB enabled

[    1.315594] [drm] ring test succeeded in 1 usecs

[    1.315853] [drm] radeon: ib pool ready.

[    1.316082] [drm] ib test succeeded in 0 usecs

[    1.316919] [drm] Radeon Display Connectors

[    1.317064] [drm] Connector 0:

[    1.317197] [drm]   HDMI-A

[    1.317329] [drm]   HPD2

[    1.317462] [drm]   DDC: 0x6440 0x6440 0x6444 0x6444 0x6448 0x6448 0x644c 0x644c

[    1.317697] [drm]   Encoders:

[    1.317829] [drm]     DFP1: INTERNAL_UNIPHY1

[    1.317963] [drm] Connector 1:

[    1.318102] [drm]   DVI-I

[    1.318234] [drm]   HPD4

[    1.318366] [drm]   DDC: 0x6460 0x6460 0x6464 0x6464 0x6468 0x6468 0x646c 0x646c

[    1.318600] [drm]   Encoders:

[    1.318732] [drm]     DFP2: INTERNAL_UNIPHY

[    1.318866] [drm]     CRT1: INTERNAL_KLDSCP_DAC1

[    1.319008] [drm] Connector 2:

[    1.319140] [drm]   VGA

[    1.319272] [drm]   DDC: 0x6430 0x6430 0x6434 0x6434 0x6438 0x6438 0x643c 0x643c

[    1.319506] [drm]   Encoders:

[    1.319638] [drm]     CRT2: INTERNAL_KLDSCP_DAC2

[    1.329772] [drm] Radeon display connector HDMI-A-1: No monitor connected or invalid EDID

[    1.383243] [drm] Radeon display connector DVI-I-1: Found valid EDID

[    1.393361] [drm] Radeon display connector VGA-1: No monitor connected or invalid EDID

[    1.393653] [drm] Internal thermal controller with fan control

[    1.393979] [drm] radeon: power management initialized

[    1.466919] [drm] fb mappable at 0xD0141000

[    1.467063] [drm] vram apper at 0xD0000000

[    1.467197] [drm] size 5324800

[    1.467329] [drm] fb depth is 24

[    1.467461] [drm]    pitch is 5888

[    1.467676] fbcon: radeondrmfb (fb0) is primary device

[    1.886343] Console: switching to colour frame buffer device 180x56

[    1.892042] fb0: radeondrmfb frame buffer device

[    1.892044] drm: registered panic notifier

[    1.892129] [drm] Initialized radeon 2.10.0 20080528 for 0000:04:00.0 on minor 0

```

What seems strange to me is how the system was fixed, because I simply copied the .config file from the 2.6.39 sources directory to the 3.0.6 one and then just compiled the new kernel. In theory that should have worked also with the old 2.6.39 kernel.

I also noticed that compile time was significantly shorter when (re) compiling a 2.6.39 kernel (couple of minutes) than when compiling the new 3.0.6 kernel (half an hour), as if the compiling was based on some kind of "differential", so that having the 2.6.39 kernel already been built, the compile phase took only charge of integrating the configuration differences into the kernel instead of building a new one from scratch (as in the 3.0.6 kernel build). Is this a normal behaviour? If it is, is there a way to force a new build "from scratch" for a kernel version that has already been compiled once on the system? 

I remember that when I compiled the kernel for the first time on the newly installed system, it took around half an hour (the same time of the 3.0.6 kernel build) and that the following builds took signigicantly less time (couple of minutes).

Could you please explain the above behaviour?

Thanks a lot for your support.

----------

## Jaglover

You can do make clean, it will remove everything compiled during previous build.

----------

## Hu

 *sinanqapudan wrote:*   

> I also noticed that compile time was significantly shorter when (re) compiling a 2.6.39 kernel (couple of minutes) than when compiling the new 3.0.6 kernel (half an hour), as if the compiling was based on some kind of "differential", so that having the 2.6.39 kernel already been built, the compile phase took only charge of integrating the configuration differences into the kernel instead of building a new one from scratch (as in the 3.0.6 kernel build). Is this a normal behaviour?
> 
> 

 Yes.  Only the most braindead of build systems redo all their work on every run.  All the popular build systems do dependency checking and rebuild only what is needed.  Detection is based on inspecting the modification time of the input files versus the output file.  You can get bad behavior if the build tool is given inaccurate information about which files are inputs for a particular output.

 *sinanqapudan wrote:*   

> If it is, is there a way to force a new build "from scratch" for a kernel version that has already been compiled once on the system? 
> 
> 

 As Jaglover stated, you can use make clean to clean up the working area.  If you use an out-of-tree build, then you could also rm -rf $KBUILD_OUTPUT.

 *sinanqapudan wrote:*   

> I remember that when I compiled the kernel for the first time on the newly installed system, it took around half an hour (the same time of the 3.0.6 kernel build) and that the following builds took signigicantly less time (couple of minutes).
> 
> 

 That seems like a long time for a single kernel build.  It is possible on older CPUs, if you build in a huge number of features, or if you do not use parallelism well.  What is the output of cat /proc/cpuinfo?  Do you use a parallel build?

----------

## sinanqapudan

Thank you guys, apparently I switched off the brain when writing the my last post and when recompiling the 2.6.39 kernel! I totally forgot about the make clean option!!

As for the compile time (half an hour is a seat-of-the-pants estimation of the time it took, not a real measurement), I have indeed an old Pentium 4 2.8Ghz processor (that's one of the reasons why I've always loved Gentoo).

As for the parallel build, I believe my processor only supports MAKEOPTS="-j2".

----------

