# [erledigt] Booten - initramfs amd-ucode

## flammenflitzer

Hallo, ich habe festgestellt, das meine Manjaro Installation schneller bootet als Gentoo. Vielleicht liegt es daran, das Manjaro initramfs nutzt.

```
initrd   /boot/amd-ucode.img /boot/initramfs-5.10-x86_64.img
```

 Dabei bin ich auf das gestoßen. 

```
Manjaro Wiki:All users with an AMD or Intel CPU should install the microcode updates to ensure system stability.
```

Ich habe 

```
emerge dracut
```

```
emerge  sys-kernel/linux-firmware
```

```
[*]   AMD microcode loading support
```

 

```
nano /etc/dracut.conf.d/microcode.conf early_microcode="yes"
```

```
dracut --early-microcode  --hostonly
```

 und zuletzt die grub.cfg angepasst.

```

linux   /boot/vmlinuz-5.12.10-gentoo root=PARTUUID=bdfddb20-6cc5-01d6-90e9-9cdc6236eb00 ro  

initrd /boot/initramfs-5.12.10-gentoo.img
```

 Ist das richtig? Wo bekomme ich jetzt die 

```
/boot/amd-ucode.img
```

? Oder brauche ich die nicht mehr, weil es in der initramfs-5.12.10-gentoo.img enthalten ist?Last edited by flammenflitzer on Sun Sep 19, 2021 1:26 pm; edited 1 time in total

----------

## firefly

Sicher das es am kernel liegt, dass deine Manjaro installation "schneller" bootet als gentoo?

Woran machst du das fest?

Ich denke eher dass es an unterschieden des restlichen systems liegt.

z.b. Die Hardware ist unterschiedlich eventuell läuft die manjaro installation auf einem Datenträger, der höhere schreib/lese raten hat als der Datenträger auf dem gentoo läuft.

Oder unter gentoo werden mehr dienste gestartet?

----------

## Christian99

Ich glaube auch nicht, dass es was mit dem Prozessor Mikrocode zu tun hat, dass die eine Installation schneller bootet als die andere.

Aber trotzdem halte ich es für sinnvoll den aktuellen Prozessor Mikrocode zu haben.

Was du gemacht hast klingt spontan für mich erst mal richtig und vollständig.

Weitere Prüfungen kannst du machen mit

```
lsinitrd <pfad zur initrd>
```

das listet die in der initrd enthaltenen dateien auf. am anfang im Abschnitt Early CPIO Image sollte es so (oder so ähnlich aussehen:

```
Early CPIO image                                                                                                                                                                                            

========================================================================                                                                                                                                    

drwxr-xr-x   3 root     root            0 Feb 21  2021 .                                                                                                                                                    

-rw-r--r--   1 root     root            2 Feb 21  2021 early_cpio                                                                                                                                           

drwxr-xr-x   3 root     root            0 Feb 21  2021 kernel                                                                                                                                               

drwxr-xr-x   3 root     root            0 Feb 21  2021 kernel/x86                                                                                                                                           

drwxr-xr-x   2 root     root            0 Feb 21  2021 kernel/x86/microcode                                                                                                                                 

-rw-r--r--   1 root     root        30546 Feb 21  2021 kernel/x86/microcode/AuthenticAMD.bin                                                                                                                

========================================================================
```

Danach kannst du nach dem booten im kernel log nachschauen, ob das auch geladen wurde:

```
 microcode: microcode: updated early to new patch_level=0x06000832
```

sollte da stehen.

Mir ist aber grad aufgefallen, dass bei mir kein update durchgeführt wird. Ich hab mal ein bisschen recherchiert und das gefunden:

https://bbs.archlinux.org/viewtopic.php?id=264913

Da heißt es, dass für microcode updates die MainBoard hersteller in Form von BIOS updates zuständig sind und der weg über linux-firmware nur gemacht wird, wenn es Sicherheitskritische fixes im ucode gibt. Deswegen ist es, finde ich, gut das eingerichtet zu haben, aber es garantiert nicht, dass du den aktuellen ucode auch hast. Du könntest mal in deinem Manjaro schauen, ob/wie/wlecher ucode da eingespielt wird.

Wenn du unbedingt möchtest, kannst du den dann verwenden oder den von AMD direkt runterladen, Wenn du die ucode datei dann in /lib/firmware/amd-ucode/ platzierst und deine Initrd dann neu baust, sollte das dann mit eingebaut und beim booten geladen werden.

----------

## pietinger

 *flammenflitzer wrote:*   

> Hallo, ich habe festgestellt, das meine Manjaro Installation schneller bootet als Gentoo.

 

Meinst Du jetzt nur den Kernel, oder den Teil der bis zum Ende der initramfs abgearbeitet wird, oder den gesamten Systemstart ?

Vergiss nicht, dass andere Distrubutionen häufig die System-Dienste parallel starten (können wir unter Gentoo aber auch: In der /etc/rc.conf -> rc_parallel="YES" ).

----------

## flammenflitzer

```
dmesg | grep microcode

[    1.786535] microcode: CPU0: patch_level=0x08701021

[    1.787104] microcode: CPU1: patch_level=0x08701021

[    1.787660] microcode: CPU2: patch_level=0x08701021

[    1.788248] microcode: CPU3: patch_level=0x08701021

[    1.788804] microcode: CPU4: patch_level=0x08701021

[    1.789458] microcode: CPU5: patch_level=0x08701021

[    1.790124] microcode: CPU6: patch_level=0x08701021

[    1.790774] microcode: CPU7: patch_level=0x08701021

[    1.791415] microcode: CPU8: patch_level=0x08701021

[    1.791919] microcode: CPU9: patch_level=0x08701021

[    1.792406] microcode: CPU10: patch_level=0x08701021

[    1.792887] microcode: CPU11: patch_level=0x08701021

[    1.793372] microcode: CPU12: patch_level=0x08701021

[    1.793960] microcode: CPU13: patch_level=0x08701021

[    1.794521] microcode: CPU14: patch_level=0x08701021

[    1.795083] microcode: CPU15: patch_level=0x08701021

[    1.795636] microcode: Microcode Update Driver: v2.2.
```

 Das scheint zu funktionieren. Der Systemstart bis zum LogIn scheint auch etwas schneller zu sein. Die Manjaro Installation liegt auf der gleichen SSD und arbeitet auch mit systemd, wie gentoo. Muss ich noch einmal in Ruhe prüfen. Gruß

----------

## mike155

 *flammenflitzer wrote:*   

> Hallo, ich habe festgestellt, das meine Manjaro Installation schneller bootet als Gentoo. Vielleicht liegt es daran, das Manjaro initramfs nutzt.

 

Warum soll Manjaro schneller sein?

Ich vermute, dass man am schnellsten booten kann, wenn man... 

in der Kernel-Config nur die Module aktiviert, die man auch braucht

Diese Module fest in den Kernel eincompiliert

Kein initramfs verwendet

Firmware (sofern überhaupt vorhanden und gewünscht) direkt in den Kernel baut

Systemd verwendet (das bootet nämlich wirklich unglaublich schnell)

Den Bootprozess unter Zuhilfenahme der in Systemd enthaltenen Monitoring Tools (z.B. systemd-analyze) weiter optimiert

Das System auf einer NVMe Disk installiert.

Dann kommt man auf Boot-Zeiten von unter einer Sekunde bis wenige Sekunden.

----------

## schmidicom

Ich hatte auch mal einen PC mit einer Intel-CPU wo ein Microcode-Update die Performance verbesserte, ist also möglich aber vermutlich ziemlich selten.

Meine Installationen starten derzeit wieder ohne initrd weil:

- Bei mir dracut nach einem Update plötzlich die installierten Kernel-Module nicht mehr finden und so auch nicht mehr ins initrd packen konnte.

- Ich schon lange kein btrfs mehr verwende und daher auch nicht mehr auf ein initrd angewiesen bin [1].

Das Microcode-Update habe ich direkt in den Kernel gepackt und wie es aussieht funktionierts:

```
Sep 14 08:00:29 pc170am kernel: microcode: microcode updated early to revision 0x46, date = 2021-01-27
```

[1] https://bugzilla.kernel.org/show_bug.cgi?id=89721

----------

## flammenflitzer

Danke. Ohne initramfs bootet bei mir Gentoo auch schneller, als mit initramfs.

----------

