# [solved] Kernel panic when enabling radeon

## StaffanP

I don't know what I did wrong but here goes. I have been using my built-in Intel graphics for a while but I want to try out the new RadeonSI driver now that apparently it can actually do something (I have a Radeon HD7950, i.e. Southern Islands "Tahiti")

So I followed the guide on the Gentoo wiki but all that happens is that the kernel panics at bootup with the message "VFS: Unable to mount root fs on unknown-block(8,4)"

That is very odd because I'm using the very same kernel (i.e. pre-radeon config) as I write this. This is the exact difference between the working (this) and non-working (radeonSI) kernel configs:

```
# diff linux-4.8.15-gentoo/.config linux-4.8.15-gentoo-radeonsi/.config                                                            

17c17                                                                                                                                        

< CONFIG_GENTOO_LINUX_INIT_SYSTEMD=y                                                                                                         

---                                                                                                                                          

> # CONFIG_GENTOO_LINUX_INIT_SYSTEMD is not set                                                                                              

69c69                                                                                                                                        

< CONFIG_LOCALVERSION=""                                                                                                                     

---                                                                                                                                          

> CONFIG_LOCALVERSION="radeonsi"                                                                                                             

1172c1172,1174                                                                                                                               

< CONFIG_EXTRA_FIRMWARE=""                                                                                                                   

---                                                                                                                                          

> #CONFIG_EXTRA_FIRMWARE="radeon/tahiti_ce.bin radeon/tahiti_mc.bin radeon/tahiti_me.bin radeon/tahiti_pfp.bin radeon/tahiti_rlc.bin radeon/tahiti_smc.bin radeon/TAHITI_uvd.bin radeon/TAHITI_vce.bin"                                                                                   

> CONFIG_EXTRA_FIRMWARE="radeon/ARUBA_me.bin radeon/ARUBA_pfp.bin radeon/ARUBA_rlc.bin radeon/BARTS_mc.bin radeon/BARTS_me.bin radeon/BARTS_pfp.bin radeon/BARTS_smc.bin radeon/BONAIRE_ce.bin radeon/BONAIRE_mc.bin radeon/BONAIRE_mc2.bin radeon/BONAIRE_me.bin radeon/BONAIRE_mec.bin radeon/BONAIRE_pfp.bin radeon/BONAIRE_rlc.bin radeon/BONAIRE_sdma.bin radeon/BONAIRE_smc.bin radeon/BONAIRE_uvd.bin radeon/BONAIRE_vce.bin radeon/BTC_rlc.bin radeon/CAICOS_mc.bin radeon/CAICOS_me.bin radeon/CAICOS_pfp.bin radeon/CAICOS_smc.bin radeon/CAYMAN_mc.bin radeon/CAYMAN_me.bin radeon/CAYMAN_pfp.bin radeon/CAYMAN_rlc.bin radeon/CAYMAN_smc.bin radeon/CEDAR_me.bin radeon/CEDAR_pfp.bin radeon/CEDAR_rlc.bin radeon/CEDAR_smc.bin radeon/CYPRESS_me.bin radeon/CYPRESS_pfp.bin radeon/CYPRESS_rlc.bin radeon/CYPRESS_smc.bin radeon/CYPRESS_uvd.bin radeon/HAINAN_ce.bin radeon/HAINAN_mc.bin radeon/HAINAN_mc2.bin radeon/HAINAN_me.bin radeon/HAINAN_pfp.bin radeon/HAINAN_rlc.bin radeon/HAINAN_smc.bin radeon/HAWAII_ce.bin radeon/HAWAII_mc.bin radeon/HAWAII_mc2.bin radeon/HAWAII_me.bin radeon/HAWAII_mec.bin radeon/HAWAII_pfp.bin radeon/HAWAII_rlc.bin radeon/HAWAII_sdma.bin radeon/HAWAII_smc.bin radeon/JUNIPER_me.bin radeon/JUNIPER_pfp.bin radeon/JUNIPER_rlc.bin radeon/JUNIPER_smc.bin radeon/KABINI_ce.bin radeon/KABINI_me.bin radeon/KABINI_mec.bin radeon/KABINI_pfp.bin radeon/KABINI_rlc.bin radeon/KABINI_sdma.bin radeon/KAVERI_ce.bin radeon/KAVERI_me.bin radeon/KAVERI_mec.bin radeon/KAVERI_pfp.bin radeon/KAVERI_rlc.bin radeon/KAVERI_sdma.bin radeon/MULLINS_ce.bin radeon/MULLINS_me.bin radeon/MULLINS_mec.bin radeon/MULLINS_pfp.bin radeon/MULLINS_rlc.bin radeon/MULLINS_sdma.bin radeon/OLAND_ce.bin radeon/OLAND_mc.bin radeon/OLAND_mc2.bin radeon/OLAND_me.bin radeon/OLAND_pfp.bin radeon/OLAND_rlc.bin radeon/OLAND_smc.bin radeon/PALM_me.bin radeon/PALM_pfp.bin radeon/PITCAIRN_ce.bin radeon/PITCAIRN_mc.bin radeon/PITCAIRN_mc2.bin radeon/PITCAIRN_me.bin radeon/PITCAIRN_pfp.bin radeon/PITCAIRN_rlc.bin radeon/PITCAIRN_smc.bin radeon/R100_cp.bin radeon/R200_cp.bin radeon/R300_cp.bin radeon/R420_cp.bin radeon/R520_cp.bin radeon/R600_me.bin radeon/R600_pfp.bin radeon/R600_rlc.bin radeon/R600_uvd.bin radeon/R700_rlc.bin radeon/REDWOOD_me.bin radeon/REDWOOD_pfp.bin radeon/REDWOOD_rlc.bin radeon/REDWOOD_smc.bin radeon/RS600_cp.bin radeon/RS690_cp.bin radeon/RS780_me.bin radeon/RS780_pfp.bin radeon/RS780_uvd.bin radeon/RV610_me.bin radeon/RV610_pfp.bin radeon/RV620_me.bin radeon/RV620_pfp.bin radeon/RV630_me.bin radeon/RV630_pfp.bin radeon/RV635_me.bin radeon/RV635_pfp.bin radeon/RV670_me.bin radeon/RV670_pfp.bin radeon/RV710_me.bin radeon/RV710_pfp.bin radeon/RV710_smc.bin radeon/RV710_uvd.bin radeon/RV730_me.bin radeon/RV730_pfp.bin radeon/RV730_smc.bin radeon/RV740_smc.bin radeon/RV770_me.bin radeon/RV770_pfp.bin radeon/RV770_smc.bin radeon/RV770_uvd.bin radeon/SUMO2_me.bin radeon/SUMO2_pfp.bin radeon/SUMO_me.bin radeon/SUMO_pfp.bin radeon/SUMO_rlc.bin radeon/SUMO_uvd.bin radeon/TAHITI_ce.bin radeon/TAHITI_mc.bin radeon/TAHITI_mc2.bin radeon/TAHITI_me.bin radeon/TAHITI_pfp.bin radeon/TAHITI_rlc.bin radeon/TAHITI_smc.bin radeon/TAHITI_uvd.bin radeon/TAHITI_vce.bin radeon/TURKS_mc.bin radeon/TURKS_me.bin radeon/TURKS_pfp.bin radeon/TURKS_smc.bin radeon/VERDE_ce.bin radeon/VERDE_mc.bin radeon/VERDE_mc2.bin radeon/VERDE_me.bin radeon/VERDE_pfp.bin radeon/VERDE_rlc.bin radeon/VERDE_smc.bin radeon/bonaire_ce.bin radeon/bonaire_k_smc.bin radeon/bonaire_mc.bin radeon/bonaire_me.bin radeon/bonaire_mec.bin radeon/bonaire_pfp.bin radeon/bonaire_rlc.bin radeon/bonaire_sdma.bin radeon/bonaire_sdma1.bin radeon/bonaire_smc.bin radeon/bonaire_uvd.bin radeon/bonaire_vce.bin radeon/hainan_ce.bin radeon/hainan_k_smc.bin radeon/hainan_mc.bin radeon/hainan_me.bin radeon/hainan_pfp.bin radeon/hainan_rlc.bin radeon/hainan_smc.bin radeon/hawaii_ce.bin radeon/hawaii_k_smc.bin radeon/hawaii_mc.bin radeon/hawaii_me.bin radeon/hawaii_mec.bin radeon/hawaii_pfp.bin radeon/hawaii_rlc.bin radeon/hawaii_sdma.bin radeon/hawaii_sdma1.bin radeon/hawaii_smc.bin radeon/hawaii_uvd.bin radeon/hawaii_vce.bin radeon/kabini_ce.bin radeon/kabini_me.bin radeon/kabini_mec.bin radeon/kabini_pfp.bin radeon/kabini_rlc.bin radeon/kabini_sdma.bin radeon/kabini_sdma1.bin radeon/kabini_uvd.bin radeon/kabini_vce.bin radeon/kaveri_ce.bin radeon/kaveri_me.bin radeon/kaveri_mec.bin radeon/kaveri_mec2.bin radeon/kaveri_pfp.bin radeon/kaveri_rlc.bin radeon/kaveri_sdma.bin radeon/kaveri_sdma1.bin radeon/kaveri_uvd.bin radeon/kaveri_vce.bin radeon/mullins_ce.bin radeon/mullins_me.bin radeon/mullins_mec.bin radeon/mullins_pfp.bin radeon/mullins_rlc.bin radeon/mullins_sdma.bin radeon/mullins_sdma1.bin radeon/mullins_uvd.bin radeon/mullins_vce.bin radeon/oland_ce.bin radeon/oland_k_smc.bin radeon/oland_mc.bin radeon/oland_me.bin radeon/oland_pfp.bin radeon/oland_rlc.bin radeon/oland_smc.bin radeon/pitcairn_ce.bin radeon/pitcairn_k_smc.bin radeon/pitcairn_mc.bin radeon/pitcairn_me.bin radeon/pitcairn_pfp.bin radeon/pitcairn_rlc.bin radeon/pitcairn_smc.bin radeon/tahiti_ce.bin radeon/tahiti_k_smc.bin radeon/tahiti_mc.bin radeon/tahiti_me.bin radeon/tahiti_pfp.bin radeon/tahiti_rlc.bin radeon/tahiti_smc.bin radeon/verde_ce.bin radeon/verde_k_smc.bin radeon/verde_mc.bin radeon/verde_me.bin radeon/verde_pfp.bin radeon/verde_rlc.bin radeon/verde_smc.bin"

> CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware"

2410a2413

> CONFIG_DRM_TTM=y

2420c2423,2424

< # CONFIG_DRM_RADEON is not set

---

> CONFIG_DRM_RADEON=y

> # CONFIG_DRM_RADEON_USERPTR is not set

2469c2473

< # CONFIG_FB_DDC is not set

---

> CONFIG_FB_DDC=y

2483c2487

< # CONFIG_FB_BACKLIGHT is not set

---

> CONFIG_FB_BACKLIGHT=y

2509c2513,2516

< # CONFIG_FB_RADEON is not set

---

> CONFIG_FB_RADEON=y

> CONFIG_FB_RADEON_I2C=y

> CONFIG_FB_RADEON_BACKLIGHT=y

> # CONFIG_FB_RADEON_DEBUG is not set

2682c2689

< # CONFIG_SND_HDA_PATCH_LOADER is not set

---

> CONFIG_SND_HDA_PATCH_LOADER=y

```

I'm not using systemd so I doubt that has anything to do with it. As you can see all config differences relate to the radeon driver, nothing has anything to do with disk device drivers so why does it suddenly not find my boot device?

My grub config is as follows:

```

title Gentoo Linux 4.8.15 with RadeonSI driver

root (hd0,1)

kernel /boot/bzImage-4.8.15-gentoo-radeonsi root=/dev/sda4 ro

title Gentoo Linux 4.8.15 unpatched

root (hd0,1)

kernel /boot/bzImage-4.8.15-gentoo root=/dev/sda4 ro

```

in other words, exactly the same parameter except the second works, the first does not.

edit: Here's a picture of the panic:

https://s28.postimg.org/wm6onjw6l/20161221_221450.jpgLast edited by StaffanP on Mon Dec 26, 2016 4:17 pm; edited 1 time in total

----------

## Markus09

That is very odd, indeed.

Have you tried using the radeon driver as a module?

----------

## StaffanP

 *Markus09 wrote:*   

> That is very odd, indeed.
> 
> Have you tried using the radeon driver as a module?

 

Thanks for replying but I think I have sorted it out.

I don't exactly know what went wrong. I'm running zfs on linux as well so maybe I mixed up the /usr/src/linux symlink when compiling the zfs drivers and the kernel became confused but I cleaned it out and started over from scratch and suddenly it works!

I also disabled the Intel graphics support, I don't know if that was necessary but I should at least mention it.

----------

