# [SOLVED] Kernel panic -- not syncing: No init found:

## redwood

I have a server running 2.6.26-r4 

I'm trying to upgrade to 2.6.29-r5.

So I copied my old config and ran make oldconfig and selected most of the suggested

defaults for any new options. This has always worked for me in the past. But this time

I get a kernel panic when booting:

 *Quote:*   

> 
> 
> raid1: raid set md1 active with 2 out of 2 mirrors
> 
> md: ... autorun DONE
> ...

 

My grub.conf

 *Quote:*   

> 
> 
> default 0
> 
> timeout 30
> ...

 

I have 3 SATA drives connected to a 4-port Promise TX4 Controller card.

The Gigabyte mb also has an onboard pair of nvidia SATA ports (with no drives connected)

Excerpt from "lspci -vvk"

 *Quote:*   

> 
> 
> 02:09.0 Mass storage controller: Promise Technology, Inc. PDC40718 (SATA 300 TX4) (rev 02)
> 
>         Subsystem: Promise Technology, Inc. PDC40718 (SATA 300 TX4)                       
> ...

 

I have 3 harddrives: /dev/{sda,sdb,sdc}

with sda & sdb each partitioned identically into 4 partitions

and configured as RAID devices for /boot, swap, root, and lvm:

My /proc/mdstat

 *Quote:*   

> 
> 
> Personalities : [raid0] [raid1]
> 
> md1 : active raid1 sdb1[1] sda1[0]
> ...

 

And parts of my /etc/fstab

 *Quote:*   

> 
> 
> /dev/sda2               none            swap            sw,pri=1                        0 0
> 
> /dev/sdb2               none            swap            sw,pri=1                        0 0
> ...

 

I've built RAID into my kernel:

CONFIG_BLK_DEV_MD=y

CONFIG_MD_AUTODETECT=y

CONFIG_MD_LINEAR=m

CONFIG_MD_RAID0=y

CONFIG_MD_RAID1=y

CONFIG_MD_RAID10=m

CONFIG_MD_RAID456=m

CONFIG_MD_RAID5_RESHAPE=y

CONFIG_MD_MULTIPATH=m

With drivers for sata_nv and sata_promise

CONFIG_SATA_PMP=y                         

CONFIG_SATA_AHCI=y                        

CONFIG_SATA_NV=y

CONFIG_SATA_PROMISE=y

And some amd stuff:

CONFIG_CPU_SUP_AMD=y

CONFIG_X86_MCE_AMD=y

CONFIG_MICROCODE_AMD=y

CONFIG_PATA_AMD=y

CONFIG_AMD8111_ETH=y

CONFIG_HW_RANDOM_AMD=m

CONFIG_AGP_AMD64=y

CONFIG_KVM_AMD=m

And REISERFS stuff

CONFIG_REISERFS_FS=y

# CONFIG_REISERFS_CHECK is not set

CONFIG_REISERFS_PROC_INFO=y

CONFIG_REISERFS_FS_XATTR=y

CONFIG_REISERFS_FS_POSIX_ACL=y

# CONFIG_REISERFS_FS_SECURITY is not set

I guess I could run genkernel and let it compile every module

or run "make defconfig" then "make menuconfig" to add my options

But I was hoping somebody may have a clue as to what could be causing

the "init not found" panic. I've been running gentoo for 4 years and have

always been able to upgrade kernels by just copying my working .config

and running make oldconfig.

Thanks for any suggestions.Last edited by redwood on Fri Aug 28, 2009 2:15 am; edited 1 time in total

----------

## eccerr0r

It looks like most of your MD RAID arrays started up.  And it looks like it mounted /dev/md3.  However are you sure the /dev/md3 on the new kernel is the same as before?  Tried some other /dev/mdX devices to see if your root partition changed names somehow?

Just a guess...

----------

## Jupiler

Hmm i must say i have exact the same problem. also when upgrading from 26-r4 to 29-r5

and also a promise sata controller but no raid or lvm

 *Quote:*   

> 00:0b.0 Mass storage controller: Promise Technology, Inc. PDC20318 (SATA150 TX4) (rev 02)
> 
>         Subsystem: Promise Technology, Inc. PDC20318 (SATA150 TX4)
> 
>         Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
> ...

 

the kernel does find the disk but panic's anyway with 

Kernel panic --- not syncing: No init found: Try passing init= option to kernel

my grub.conf 

 *Quote:*   

> 
> 
> title Gentoo Linux Router
> 
> root (hd0,0)
> ...

 

it boots just fine if i use my old kernel

I did in first instance just the same copy old config ran it with make oldconfig going mostly with the defaults. since that didn't work out i tried to just use the old config but that gives me exactly the same.

----------

## redwood

I finally got around to fixing this.

I had a half dozen gentoo computer all stuck at around gentoo-2.6.26-r4 which wouldn't upgrade to newest kernel without kernel panic using my standard procedure

```

cp /usr/src/linux-old/.config /usr/src/linux-new/

make oldconfig && make prepare

make -jX && make modules_install

```

Anyhow, I had an old i386 scanner server which needed to be rebooted. But upon rebooting all my raid and lvm devices were gone. Apparently, udev had been upgraded from 141 to 145 and no longer worked with older kernels. So all my /dev nodes were missing (and MAKEDEV was gone too). So I had to boot from a rescue cd, chroot and downgrade udev to get a functioning system.

I decided to upgrade to latest stable kernel 2.6.30-r4 from a clean start

```

rm /usr/src/linux-2.6.30-r4/.config

make defconfig

make menuconfig (and select needed drivers0

make -jX && make modules_install

```

I listed all my needed drivers

```

lspci -vvv | grep Kernel

lsmod

```

I ran into a slight problem with my i810 onboard video card. It hung during probing the monitor. After eliminating EDID as the cause, I traced the problem back to the option DDC, which I disabled.

I also decided to go pure sata instead of old ata ide. 

So I modified my fstab to use /dev/disk/by-uuid/X instead of /dev/hdX

so that I could boot either old or new kernel:

```

title linux 2.6.30-r4

root (hd0,0)             

kernel /boot/linux-x86-2.6.30-gentoo-r4 root=/dev/sdb1

title linux-2.6.26-r4

root (hd0,0)         

kernel /boot/linux-2.6.26-r4 root=/dev/hdb1

```

Also, the defconfig compiled in some NETFILTER options which previously I had as modules.

Then my /etc/rc.firewall (guarddog firewall script) had a fatal error regarding a couple conntrack modules which were missing (now compiled in). So the fix was to simply comment out the offending modprobe lines in rc.firewall.

Finally I got a shiny new 2.6.30-r4 kernel. While all this was still fresh in my mind, I decided to upgrade the other half dozen systems (a mix of newer amd opterons and older pIIIs) Starting out with a fresh defconfig worked like a charm for all these disparate systems. Never figured out why the "make oldconfig" was able to upgrade kernel without kernel panic -- probably too many changes for it to handle. The only (tedious) solution for me was starting from scratch.

----------

