Skip to content

Kernel updaten NVMe / SDCard

Verschoben ROCKPro64
  • Wir müssen uns nochmal was mit dem Kernelupdaten bei folgender Installation beschäftigen.

    Installation

    • ROCKPro64
    • SD-Karte
    • PCIe-NVMe-Adapter mit SSD

    Bei dieser Installation nutzen wir die SD-Karte nur zum Booten und binden so früh wie möglich das Rootverzeichnis (/) ein. Dieses Rootverzeichnis liegt auf der SSD.

    0_1540405119543_970_EVO_ergebnis.jpg

    Verzeichnis Struktur

     rock64@rockpro64v2_1_TEST:~$ df -h
     Filesystem      Size  Used Avail Use% Mounted on
     udev            992M     0  992M   0% /dev
     tmpfs           200M  448K  199M   1% /run
     /dev/nvme0n1    229G  8,5G  209G   4% /
     tmpfs           996M     0  996M   0% /dev/shm
     tmpfs           5,0M  4,0K  5,0M   1% /run/lock
     tmpfs           996M     0  996M   0% /sys/fs/cgroup
     /dev/mmcblk0p6  112M  4,0K  112M   1% /boot/efi
     tmpfs           200M     0  200M   0% /run/user/1000
    

    Hier sieht man die Rootpartition /, die auf /dev/nvme0n1 verweist.
    Und die Bootpartition /boot/efi, die auf /dev/mmcblk0p6 liegt.

    SD-Karte

    Device          Start       End   Sectors  Size Type
    /dev/mmcblk0p1     64      8063      8000  3,9M Linux filesystem
    /dev/mmcblk0p2   8064      8191       128   64K Linux filesystem
    /dev/mmcblk0p3   8192     16383      8192    4M Linux filesystem
    /dev/mmcblk0p4  16384     24575      8192    4M Linux filesystem
    /dev/mmcblk0p5  24576     32767      8192    4M Linux filesystem
    /dev/mmcblk0p6  32768    262143    229376  112M Microsoft basic data
    /dev/mmcblk0p7 262144 124735454 124473311 59,4G Linux filesystem
    

    SSD

    rock64@rockpro64v2_1_TEST:~$ ls /
    bin   boot_BAK  etc   lib         media  opt   root  sbin  sys  usr
    boot  dev       home  lost+found  mnt    proc  run   srv   tmp  var
    

    Was passiert jetzt, wenn man den Kernel updatet?

    Ich mache das fast immer so, das ich mir vom Kamil alle Files runterlade und diese dann per

    sudo dpkg -i *.deb
    

    installiere. Dabei werden die neuen Files in /boot reingeschrieben.

    rock64@rockpro64v2_1_TEST:~$ ls /boot
    config-4.4.132-1075-rockchip-ayufan-ga83beded8524
    config-4.4.154-1122-rockchip-ayufan-g7859b9b904a9
    config-4.4.154-1124-rockchip-ayufan-ged3ce4d15ec1
    dtbs
    efi
    extlinux
    filesystem.packages
    filesystem.packages-remove
    initrd.img-4.4.132-1075-rockchip-ayufan-ga83beded8524
    initrd.img-4.4.154-1122-rockchip-ayufan-g7859b9b904a9
    initrd.img-4.4.154-1124-rockchip-ayufan-ged3ce4d15ec1
    System.map-4.4.132-1075-rockchip-ayufan-ga83beded8524
    System.map-4.4.154-1122-rockchip-ayufan-g7859b9b904a9
    System.map-4.4.154-1124-rockchip-ayufan-ged3ce4d15ec1
    vmlinuz-4.4.132-1075-rockchip-ayufan-ga83beded8524
    vmlinuz-4.4.154-1122-rockchip-ayufan-g7859b9b904a9
    vmlinuz-4.4.154-1124-rockchip-ayufan-ged3ce4d15ec1
    

    Wir sehen hier, das es dort drei verschiedene Kernel gibt.

    • 4.4.132-1075
    • 4.4.154-1122
    • 4.4.154-1124

    Jetzt installieren wir mal einen Mainline Kernel.
    Dazu laden wir die drei benötigten Files herunter.

    Dann ein

    sudo dpkg -i *.deb

    Ausgabe

     rock64@rockpro64v2_1_TEST:~$ sudo dpkg -i *.deb
     Vormals nicht ausgewähltes Paket linux-headers-4.19.0-1073-ayufan-ga6e013135a6e wird gewählt.
     (Lese Datenbank ... 101525 Dateien und Verzeichnisse sind derzeit installiert.)
     Vorbereitung zum Entpacken von linux-headers-4.19.0-1073-ayufan-ga6e013135a6e_4.19.0-1073-ayufan_arm64.deb ...
     Entpacken von linux-headers-4.19.0-1073-ayufan-ga6e013135a6e (4.19.0-1073-ayufan) ...
     Vormals nicht ausgewähltes Paket linux-image-4.19.0-1073-ayufan-ga6e013135a6e wird gewählt.
     Vorbereitung zum Entpacken von linux-image-4.19.0-1073-ayufan-ga6e013135a6e_4.19.0-1073-ayufan_arm64.deb ...
     Entpacken von linux-image-4.19.0-1073-ayufan-ga6e013135a6e (4.19.0-1073-ayufan) ...
     Vormals nicht ausgewähltes Paket linux-image-4.19.0-1073-ayufan-ga6e013135a6e-dbg wird gewählt.
     Vorbereitung zum Entpacken von linux-image-4.19.0-1073-ayufan-ga6e013135a6e-dbg_4.19.0-1073-ayufan_arm64.deb ...
     Entpacken von linux-image-4.19.0-1073-ayufan-ga6e013135a6e-dbg (4.19.0-1073-ayufan) ...
     linux-headers-4.19.0-1073-ayufan-ga6e013135a6e (4.19.0-1073-ayufan) wird eingerichtet ...
     linux-image-4.19.0-1073-ayufan-ga6e013135a6e (4.19.0-1073-ayufan) wird eingerichtet ...
     update-initramfs: Generating /boot/initrd.img-4.19.0-1073-ayufan-ga6e013135a6e
     Creating new extlinux.conf...
     Installing new extlinux.conf...
     linux-image-4.19.0-1073-ayufan-ga6e013135a6e-dbg (4.19.0-1073-ayufan) wird eingerichtet ...
    

    Jetzt schauen wir uns das Verzeichnis von eben nochmal an.

    rock64@rockpro64v2_1_TEST:~$ ls /boot
    config-4.19.0-1073-ayufan-ga6e013135a6e
    config-4.4.132-1075-rockchip-ayufan-ga83beded8524
    config-4.4.154-1122-rockchip-ayufan-g7859b9b904a9
    config-4.4.154-1124-rockchip-ayufan-ged3ce4d15ec1
    dtbs
    efi
    extlinux
    filesystem.packages
    filesystem.packages-remove
    initrd.img-4.19.0-1073-ayufan-ga6e013135a6e
    initrd.img-4.4.132-1075-rockchip-ayufan-ga83beded8524
    initrd.img-4.4.154-1122-rockchip-ayufan-g7859b9b904a9
    initrd.img-4.4.154-1124-rockchip-ayufan-ged3ce4d15ec1
    System.map-4.19.0-1073-ayufan-ga6e013135a6e
    System.map-4.4.132-1075-rockchip-ayufan-ga83beded8524
    System.map-4.4.154-1122-rockchip-ayufan-g7859b9b904a9
    System.map-4.4.154-1124-rockchip-ayufan-ged3ce4d15ec1
    vmlinuz-4.19.0-1073-ayufan-ga6e013135a6e
    vmlinuz-4.4.132-1075-rockchip-ayufan-ga83beded8524
    vmlinuz-4.4.154-1122-rockchip-ayufan-g7859b9b904a9
    vmlinuz-4.4.154-1124-rockchip-ayufan-ged3ce4d15ec1
    

    Wir sehen den neuen Kernel 4.19 Aktuell läuft folgender Kernel.

    rock64@rockpro64v2_1_TEST:~$ uname -a
    Linux rockpro64v2_1_TEST 4.4.154-1124-rockchip-ayufan-ged3ce4d15ec1 #1 SMP Mon Oct 22 20:59:41 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux
    

    Wir starten mal neu!

    sudo reboot now
    

    Aufpassen! Aktuell geht der Reboot mit Kernel 4.4. so nicht. Mal bitte die Reset Taste auf dem ROCKPro64 betätigen!

    Wir schauen mal nach dem Kernel.

     rock64@rockpro64v2_1_TEST:~$ uname -a
     Linux rockpro64v2_1_TEST 4.4.154-1124-rockchip-ayufan-ged3ce4d15ec1 #1 SMP Mon Oct 22 20:59:41 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux
    

    Hoppla, was das? Er startet immer noch den Kernel 4.4.154 Warum?

    Bootvorgang

    Beim Booten von der SD-Karte wird von dort der Kernel geladen, erst später schalten wir dann auf die SSD um. Damit ist die Aktualisierung von oben erst mal wirkungslos. Aber das ist recht einfach, wir müssen die Verzeichnisse nur identisch halten.

    SD-Karte mounten

    Nochmal auf die SD-Karte zurück gehen. Die Struktur von oben sieht so aus.

    Device          Start       End   Sectors  Size Type
    /dev/mmcblk0p1     64      8063      8000  3,9M Linux filesystem
    /dev/mmcblk0p2   8064      8191       128   64K Linux filesystem
    /dev/mmcblk0p3   8192     16383      8192    4M Linux filesystem
    /dev/mmcblk0p4  16384     24575      8192    4M Linux filesystem
    /dev/mmcblk0p5  24576     32767      8192    4M Linux filesystem
    /dev/mmcblk0p6  32768    262143    229376  112M Microsoft basic data
    

    Die Partition

    /dev/mmcblk0p6  112M  4,0K  112M   1% /boot/efi
    

    ist schon gemountet. Die interessiert aber nicht. Wir brauchen das Rootverzeichnis der SD-Karte. Das ist die Partition

    /dev/mmcblk0p7
    

    Das Mounten wir jetzt mal eben nach /mnt

     sudo mount /dev/mmcblk0p7 /mnt
    

    Dort interessiert uns das Verzeichnis boot

    rock64@rockpro64v2_1_TEST:~$ ls /mnt/boot
    config-4.4.132-1075-rockchip-ayufan-ga83beded8524
    config-4.4.154-1122-rockchip-ayufan-g7859b9b904a9
    config-4.4.154-1124-rockchip-ayufan-ged3ce4d15ec1
    dtbs
    efi
    extlinux
    filesystem.packages
    filesystem.packages-remove
    initrd.img-4.4.132-1075-rockchip-ayufan-ga83beded8524
    initrd.img-4.4.154-1122-rockchip-ayufan-g7859b9b904a9
    initrd.img-4.4.154-1124-rockchip-ayufan-ged3ce4d15ec1
    System.map-4.4.132-1075-rockchip-ayufan-ga83beded8524
    System.map-4.4.154-1122-rockchip-ayufan-g7859b9b904a9
    System.map-4.4.154-1124-rockchip-ayufan-ged3ce4d15ec1
    vmlinuz-4.4.132-1075-rockchip-ayufan-ga83beded8524
    vmlinuz-4.4.154-1122-rockchip-ayufan-g7859b9b904a9
    vmlinuz-4.4.154-1124-rockchip-ayufan-ged3ce4d15ec1
    

    Wer bis hierhin mitgekommen ist, weiß jetzt wo das Problem liegt 🙂 Auf der SD-Karte muss ebenfalls der Mainline Kernel drauf. Also kopieren wir uns das mal eben rüber.

    Quelle

    rock64@rockpro64v2_1_TEST:~$ ls /boot
    config-4.19.0-1073-ayufan-ga6e013135a6e
    config-4.4.132-1075-rockchip-ayufan-ga83beded8524
    config-4.4.154-1122-rockchip-ayufan-g7859b9b904a9
    config-4.4.154-1124-rockchip-ayufan-ged3ce4d15ec1
    dtbs
    efi
    extlinux
    filesystem.packages
    filesystem.packages-remove
    initrd.img-4.19.0-1073-ayufan-ga6e013135a6e
    initrd.img-4.4.132-1075-rockchip-ayufan-ga83beded8524
    initrd.img-4.4.154-1122-rockchip-ayufan-g7859b9b904a9
    initrd.img-4.4.154-1124-rockchip-ayufan-ged3ce4d15ec1
    System.map-4.19.0-1073-ayufan-ga6e013135a6e
    System.map-4.4.132-1075-rockchip-ayufan-ga83beded8524
    System.map-4.4.154-1122-rockchip-ayufan-g7859b9b904a9
    System.map-4.4.154-1124-rockchip-ayufan-ged3ce4d15ec1
    vmlinuz-4.19.0-1073-ayufan-ga6e013135a6e
    vmlinuz-4.4.132-1075-rockchip-ayufan-ga83beded8524
    vmlinuz-4.4.154-1122-rockchip-ayufan-g7859b9b904a9
    vmlinuz-4.4.154-1124-rockchip-ayufan-ged3ce4d15ec1
    

    Ziel

    rock64@rockpro64v2_1_TEST:~$ ls /mnt/boot
    config-4.4.132-1075-rockchip-ayufan-ga83beded8524
    config-4.4.154-1122-rockchip-ayufan-g7859b9b904a9
    config-4.4.154-1124-rockchip-ayufan-ged3ce4d15ec1
    dtbs
    efi
    extlinux
    filesystem.packages
    filesystem.packages-remove
    initrd.img-4.4.132-1075-rockchip-ayufan-ga83beded8524
    initrd.img-4.4.154-1122-rockchip-ayufan-g7859b9b904a9
    initrd.img-4.4.154-1124-rockchip-ayufan-ged3ce4d15ec1
    System.map-4.4.132-1075-rockchip-ayufan-ga83beded8524
    System.map-4.4.154-1122-rockchip-ayufan-g7859b9b904a9
    System.map-4.4.154-1124-rockchip-ayufan-ged3ce4d15ec1
    vmlinuz-4.4.132-1075-rockchip-ayufan-ga83beded8524
    vmlinuz-4.4.154-1122-rockchip-ayufan-g7859b9b904a9
    vmlinuz-4.4.154-1124-rockchip-ayufan-ged3ce4d15ec1
    

    Kopieren

    sudo cp -r /boot/* /mnt/boot
    

    Kontrolle Ziel

    rock64@rockpro64v2_1_TEST:~$ ls /mnt/boot
    config-4.19.0-1073-ayufan-ga6e013135a6e
    config-4.4.132-1075-rockchip-ayufan-ga83beded8524
    config-4.4.154-1122-rockchip-ayufan-g7859b9b904a9
    config-4.4.154-1124-rockchip-ayufan-ged3ce4d15ec1
    dtbs
    efi
    extlinux
    filesystem.packages
    filesystem.packages-remove
    initrd.img-4.19.0-1073-ayufan-ga6e013135a6e
    initrd.img-4.4.132-1075-rockchip-ayufan-ga83beded8524
    initrd.img-4.4.154-1122-rockchip-ayufan-g7859b9b904a9
    initrd.img-4.4.154-1124-rockchip-ayufan-ged3ce4d15ec1
    System.map-4.19.0-1073-ayufan-ga6e013135a6e
    System.map-4.4.132-1075-rockchip-ayufan-ga83beded8524
    System.map-4.4.154-1122-rockchip-ayufan-g7859b9b904a9
    System.map-4.4.154-1124-rockchip-ayufan-ged3ce4d15ec1
    test
    vmlinuz-4.19.0-1073-ayufan-ga6e013135a6e
    vmlinuz-4.4.132-1075-rockchip-ayufan-ga83beded8524
    vmlinuz-4.4.154-1122-rockchip-ayufan-g7859b9b904a9
    vmlinuz-4.4.154-1124-rockchip-ayufan-ged3ce4d15ec1
    

    Da ist der Kernel 4.19. Noch was Wichtiges, wir müssen die extlinux.conf wieder anpassen.

    sudo nano /mnt/boot/extlinux/extlinux.conf
    

    Ich setze voraus, das das bekannt ist. Ansonsten hier zum Nachlesen!

    Wir entfernen den Mount.

    sudo umount /mnt
    sudo reboot now
    

    Erinnerung! Reboot now ist in Kernel 4.4. aktuell kaputt 😞

    Und nachschauen!

    rock64@rockpro64v2_1_TEST:~$ uname -a
    Linux rockpro64v2_1_TEST 4.19.0-1073-ayufan-ga6e013135a6e #1 SMP PREEMPT Tue Oct 23 09:19:54 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux
    

    Yeah! Kernel 4.19 läuft. Ich hoffe das Prinzip ist verständlich und ihr könnt das gut nachbauen. Wir wollen mal hoffen, das wir in Zukunft einen u-boot sehen, der in der Lage ist direkt von der PCIe-NVMe-Karte zu booten. Das würde einiges vereinfachen, den u-boot in den SPI Flash und fertig! Ob es das mal gibt, weiß ich nicht. Im Moment müssen wir uns so behelfen. Da man den Kernel im Normalfall ja nicht jeden Tag aktualisiert, ist das eine praktikable Lösung!

    Viel Spaß mit einem flotten ROCKPro64!

  • Kernel 6.0.0-rc7

    ROCKPro64
    2
    0 Stimmen
    2 Beiträge
    183 Aufrufe
    FrankMF
    Geht [image: 1664296204344-fb1bc176-5c57-48bf-8d75-1834b5548552-grafik.png] https://github.com/ayufan-rock64/linux-mainline-kernel/releases Altes Image installieren, die zwei .deb Files vom Kamil herunterladen. dpkg -i *.deb und neustarten. Und hochgezogen auf Debian Bullseye root@rockpro64:~# cat /etc/debian_version 11.5
  • RockPro64 - Mainline Kernel 5.9.x vom Kamil

    Images
    5
    0 Stimmen
    5 Beiträge
    528 Aufrufe
    FrankMF
    Hoppla, nach langer Zeit mal was Neues vom Kamil. 5.9.0-1146-ayufan released WIP: cdn_dp hdmi audio switch
  • ROCKPro64 - Secondary IP entfernen

    ROCKPro64
    5
    0 Stimmen
    5 Beiträge
    695 Aufrufe
    FrankMF
    Hallo @mabs, es ging bei meinem Post gar nicht um den dhcpd, also den Daemon der die Adressen verteilt. Hintergrund, ich versuche gerade mal wieder einen Router auf Basis eines ROCKPro64 zu bauen. Dabei bin ich in Kamils Debian Minimal über die zweite IP-Adresse gestolpert. Danke aber für deine Anregungen. Es gibt da aber wohl mit dem Debian Minimal irgendwelche Probleme mit dem Forwarding, so das ich das jetzt auf einem Bionic mache, dort klappt das einwandfrei. Aber dazu später ausführlich in einem anderen Thread.
  • ROCKPro64 - Docker Image

    ROCKPro64
    4
    1
    0 Stimmen
    4 Beiträge
    1k Aufrufe
    FrankMF
    Das ganze hat einen furchtbar schönen Vorteil. Mal angenommen, ich habe ein NodeBB-Forum in einem Container laufen. Will das Ding updaten und das crasht einfach mal so. Egal, Container stoppen, Container starten und alles läuft wieder. Mit dem Commit sichere ich mir dann den Zustand nachdem ich weiß, das alles klappt
  • Booten von der NVMe Platte

    ROCKPro64
    16
    0 Stimmen
    16 Beiträge
    8k Aufrufe
    S
    Für dies Kernal: Linux rockpro64 4.4.167-1213-rockchip-ayufan-g34ae07687fce #1 SMP Tue Jun 18 20:44:49 UTC 2019 aarch64 GNU/Linux Booten von der NVMe Platte nicht möglich. Ich folgte die folgende Schritte. Leider funktioniert es nicht. Es gibt einen Fehler in Boot. Ohne RAID oder LVM config. Specs: Rockpro64 Marvel PCIe 88se9230 karte SANDISK SSD 120 GB
  • Bionic Minimal 0.7.8

    ROCKPro64
    2
    1
    0 Stimmen
    2 Beiträge
    599 Aufrufe
    FrankMF
    Testin Testing
  • Zwischenfazit Juni 2018

    ROCKPro64
    1
    0 Stimmen
    1 Beiträge
    698 Aufrufe
    Niemand hat geantwortet
  • Paar Info's vom Chef

    ROCKPro64
    1
    0 Stimmen
    1 Beiträge
    651 Aufrufe
    Niemand hat geantwortet