# [gelöst]kernel panic nach Umstieg auf gentoo-sources 5.10.27

## flammenflitzer

Hallo, ich habe make oldconfig genutzt, von gentoo-sources 5.10.10 auf gentoo-sources 5.10.27. Einzige Änderung:

```
Processor family > 1. AMD Opteron/Athlon64/Hammer/K8 (MK8)
```

 auf 

```
 > 12. AMD Zen 2 (MZEN2) (NEW)
```

. In grub.cfg den Abschnitt 5.10.10 kopiert und in 5.10.27 geändert. 

```
kernel Panic .... mount: mounting /dev/sda1 on /mnt/root failed: Invalid Argument
```

grubcfg

```
menuentry 'Gentoo GNU/Linux' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-a9096302-8544-4f99-a3e3-3fef8af22aa3' {

        load_video

        set gfxpayload=keep

        insmod gzio

        insmod part_gpt

        insmod ext2

        search --no-floppy --fs-uuid --set=root a9096302-8544-4f99-a3e3-3fef8af22aa3

        echo    'Loading Linux 5.10.27-gentoo ...'

        linux   /boot/vmlinuz-5.10.27-gentoo root=/dev/nvme0n1p7 ro init=/usr/lib/systemd/systemd 

}
```

```
cat /etc/fstab | grep a9096302-8544-4f99-a3e3-3fef8af22aa3

UUID=a9096302-8544-4f99-a3e3-3fef8af22aa3  /  ext4  noatime 0 1
```

```
blkid | grep a9096302-8544-4f99-a3e3-3fef8af22aa3

/dev/nvme0n1p7: LABEL="Gentoo" UUID="a9096302-8544-4f99-a3e3-3fef8af22aa3" BLOCK_SIZE="2048" TYPE="ext4" PARTLABEL="Basic data partition" PARTUUID="bdfddb20-6cc5-01d6-90e9-9cdc6236eb00"
```

```
blkid | grep sda1

/dev/sda1: PARTLABEL="Microsoft reserved partition" PARTUUID="c2f21f97-b615-4288-88d7-231016eaf263"
```

Diesen Kernel kann ich booten

```
menuentry 'Gentoo GNU/Linux 5.10.10 /dev/nvme0n1p7' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-a9096302-8544-4f99-a3e3-3fef8af22aa3' {

        load_video

        set gfxpayload=keep

        insmod gzio

        insmod part_gpt

        insmod ext2

        if [ x$feature_platform_search_hint = xy ]; then

          search --no-floppy --fs-uuid --set=root  a9096302-8544-4f99-a3e3-3fef8af22aa3

        else

          search --no-floppy --fs-uuid --set=root a9096302-8544-4f99-a3e3-3fef8af22aa3

        fi

        echo    'Loading Linux 5.10.10-gentoo ...'

        linux   /boot/vmlinuz-5.10.10-gentoo root=/dev/nvme0n1p7 ro init=/usr/lib/systemd/systemd 

}
```

Last edited by flammenflitzer on Fri Apr 09, 2021 5:46 pm; edited 1 time in total

----------

## flammenflitzer

Das gleiche bei 5.11.11-gentoo. Ich habe mal beide .config verglichen.

```
diff Config-5.10.10-gentoo.txt Config-5.11.11-gentoo.txt

1c1

< CONFIG_CC_VERSION_TEXT="gcc (Gentoo 9.3.0-r2 p4) 9.3.0"

---

> CONFIG_CC_VERSION_TEXT="gcc (Gentoo 10.2.0-r5 p6) 10.2.0"

3c3

< CONFIG_GCC_VERSION=90300

---

> CONFIG_GCC_VERSION=100200

114a115,116

> CONFIG_INITRAMFS_ROOT_UID=0

> CONFIG_INITRAMFS_ROOT_GID=0

121a124

> CONFIG_INITRAMFS_COMPRESSION_GZIP=y

158a162

> CONFIG_KCMP=y

199d202

< CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y

215c218

< CONFIG_MK8=y

---

> CONFIG_MZEN2=y

218d220

< CONFIG_X86_INTEL_USERCOPY=y

457a460

> CONFIG_HAVE_CONTEXT_TRACKING_OFFSTACK=y

459a463

> CONFIG_HAVE_MOVE_PUD=y

490a495

> CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y

972a978

> CONFIG_MTD_NAND_CORE=m

975c981,982

< CONFIG_MTD_NAND_ECC_SW_HAMMING=m

---

> CONFIG_MTD_NAND_ECC=y

> CONFIG_MTD_NAND_ECC_SW_HAMMING=y

1136d1142

< CONFIG_INPUT_POLLDEV=m

1208,1209d1213

< CONFIG_SYNCLINK=m

< CONFIG_SYNCLINKMP=m

1610a1615

> CONFIG_SURFACE_PLATFORMS=y

1744a1750

> CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240

2012a2019

> CONFIG_ARCH_SUPPORTS_KMAP_LOCAL_FORCE_MAP=y

2030a2038

> CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS=y
```

Ich habe versucht ein Bild hochzuladen.   :Confused:  https://ibb.co/t47SGpW Der Fehler scheint bei INITRAMFS zu liegen...  :Shocked: 

----------

## Christian99

der erste Fehler ist von mount. wie erstellst du deine initramdisk?

Evtl. fehlt auch einfach nur der fs treiber?

----------

## flammenflitzer

Ich nutze keine initramdisk. Ich hatte die mal genutzt, aber das ist lange her. Alle benötigten Treiber sollten im Kernel enthalten sein, da ich oldconfig bemüht habe und 

```
diff Config-5.10.10-gentoo.txt Config-5.11.11-gentoo.txt
```

keine Auffälligkeiten aufweist. Vielleicht liegt der Fehler hier:

```
cat /usr/src/initramfs/init

#!/bin/busybox sh

# Mount the /proc and /sys filesystems.

mount -t proc none /proc

mount -t sysfs none /sys

# Do your stuff here.

echo "This script just mounts and boots the rootfs, nothing else!"

# Mount the root filesystem.

mount -o ro /dev/sda1 /mnt/root

# Clean up.

umount /proc

umount /sys

# Boot the real thing.

exec switch_root /mnt/root /sbin/init
```

 Allerdings stört das meinen aktuellen 5.10.10-gentoo kernel auch nicht.

----------

## firefly

 *flammenflitzer wrote:*   

> Ich nutze keine initramdisk. 

 

Öhm doch, auch wenn es eine initramfs ist  :Wink: .

Wenn die initramfs eh nichts macht als das rootfs zu mouten (via /dev/sdX) dann kannst du diese auch weg lassen.

Dann kannst du direkt root=/dev/sda1 im bootloader angeben

Verwendest du GPT oder MSDOS (Oder auch oft als MBR bezeichnet) als Partitionsschema?

Falls es GPT ist dann kannst du das rootfs device auch als PARTUUID angeben (Die UUID der GPT Partition)

z.b.

 *Quote:*   

> root=PARTUUID="c26295d1-cd37-4bd4-bcc7-c8ccab8f5e82"

 

Die PARTUUID kannst du mit 

```
blkid /dev/sda1
```

 herausfinden

----------

## flammenflitzer

Ich habe 

```
root=/dev/nvme0n1p7
```

 

```
linux   /boot/vmlinuz-5.10.27-gentoo root=/dev/nvme0n1p7 ro init=/usr/lib/systemd/systemd 
```

(s.oben). Funktioniert auch, mit Kernelversionen bis 5.10.10. Ich verwende GPT. Und wie gesagt  :Very Happy:   kernel 5.10.10 bootet. Das Problem habe ich mit kernel 5.10.27 und 5.11.11   :Sad: 

----------

## firefly

öhm wie den nu?

in der von dir geposteten initramfs "init"-script wird /dev/sda1 als device für das rootfs angegeben.

Aber nun redest du von /dev/nvmeXXX. 

Entweder du verwendest keine initramfs oder das was du gepostet hast stimmt nicht.

Ansonsten mach deine Änderung in "Processor family" rückgängig um auszuschließen, dass das Problem dadurch entstanden ist.

Und wie gesagt, da du GPT verwendest, nimm lieber root=PARTUUID dadurch ist der name des devices selbst scheiß egal da die PARTUUID eindeutig ist.

----------

## Josef.95

Mit folgenden Eintrag kann GRUB root=PARTUUID= auch selbst mit grub-mkconfig passend in die grub.cfg schreiben: 

```
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to kernel

GRUB_DISABLE_LINUX_UUID=true

GRUB_DISABLE_LINUX_PARTUUID=false
```

 (wenn ich mich recht erinnere wird das ab >=grub-2.04 unterstützt)

Und, init=/usr/lib/systemd/systemd

brauchst normal auch nicht mehr mit angeben. Per default wird /sbin/init genutzt, und das sollte passend vorhanden sein: 

```
file /sbin/init 

/sbin/init: symbolic link to ../lib/systemd/systemd
```

----------

## flammenflitzer

Ich habe den Eintrag aus der kernel .config 

```
CONFIG_INITRAMFS_SOURCE="/usr/src/initramfs"

```

 gelöscht. Der war schon lange in der .config, hatte ich mal benutzt. Warum es jetzt erst zu dem Fehler kam... Danke. Schönes WE.

----------

