Skip to content

ROCKPro64 - Der Bootvorgang

Verschoben Hardware
  • Basis für diesen Beitrag

    rock64@rockpro64:/boot$ uname -a
    Linux rockpro64 4.4.132-1075-rockchip-ayufan-ga83beded8524 #1 SMP Thu Jul 26 08:22:22 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux
    

    So sieht die Partitionstabelle des Images aus (SD-Karte)

     rock64@rockpro64:/boot$ sudo fdisk /dev/mmcblk0
     [sudo] password for rock64: 
     
     Welcome to fdisk (util-linux 2.31.1).
     Changes will remain in memory only, until you decide to write them.
     Be careful before using the write command.
     
     
     Command (m for help): p
     Disk /dev/mmcblk0: 29.7 GiB, 31914983424 bytes, 62333952 sectors
     Units: sectors of 1 * 512 = 512 bytes
     Sector size (logical/physical): 512 bytes / 512 bytes
     I/O size (minimum/optimal): 512 bytes / 512 bytes
     Disklabel type: gpt
     Disk identifier: 2C9A4A22-7AA8-4A1B-815E-0C3E2E7065E6
     
     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 62333918 62071775 29.6G Linux filesystem
     
     Command (m for help): 
    
    Partition Start Sector Number of Sectors Partition Size PartNum in GPT Requirements
    MBR 0 1 512
    Primary GPT 1 63 32256
    loader1 64 7104 4096000 1 preloader (miniloader or U-Boot SPL)
    Vendor Storage 7168 512 262144 SN, MAC and etc.
    Reserved Space 7680 384 196608 Not used
    reserved1 8064 128 65536 legacy DRM key
    U-Boot ENV 8128 64 32768
    reserved2 8192 8192 4194304 legacy parameter
    loader2 16384 8192 4194304 2 U-Boot or UEFI
    trust 24576 8192 4194304 3 trusted-os like ATF, OP-TEE
    boot(bootable must be set) 32768 229376 117440512 4 kernel, dtb, extlinux.conf, ramdisk
    rootfs 262144 - - 5 Linux system
    Secondary GPT 16777183 33 16896

    Quelle der Info's (bearbeitet) Rockchip.

    Hier sieht man das zwei Partitionen gemountet werden.

    rock64@rockpro64:~$ df -h
    Filesystem      Size  Used Avail Use% Mounted on
    udev            992M     0  992M   0% /dev
    tmpfs           200M  484K  199M   1% /run
    /dev/mmcblk0p7   30G  1.3G   27G   5% /
    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
    /dev/sda1       1.9T   43G  1.8T   3% /mnt
    tmpfs           200M     0  200M   0% /run/user/1000
    
    • /dev/mmcblk0p6 = /boot/efi
    • /dev/mmcblk0p7 = Linux System /

    Inhalt /boot/efi (/dev/mmcblk0p6)

    rock64@rockpro64:/boot/efi$ ls -la
    total 22
    drwxr-xr-x 3 root root 16384 Jan  1  1970 .
    drwxr-xr-x 5 root root  4096 Aug 27 17:23 ..
    drwxr-xr-x 2 root root  2048 Jul 26 09:15 extlinux
    

    Inhalt extlinux

    rock64@rockpro64:/boot/efi$ ls -la extlinux/
    total 20
    drwxr-xr-x 2 root root  2048 Jul 26 09:15 .
    drwxr-xr-x 3 root root 16384 Jan  1  1970 ..
    -rwxr-xr-x 1 root root   688 Jul 21 22:50 extlinux.conf
    

    Datei extlinux.conf

     timeout 10
     default kernel-latest
     menu title select kernel
     
     label kernel-latest
         kernel /Image
         initrd /initrd.img
         fdt /dtb
         append rw root=LABEL=linux-root rootwait rootfstype=ext4 panic=10 init=/sbin/init coherent_pool=1M ethaddr=${ethaddr} eth1addr=${eth1addr} serial=${serial#} cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1
     
     label kernel-previous
         kernel /Image.bak
         initrd /initrd.img.bak
         fdt /dtb.bak
         append rw root=LABEL=linux-root rootwait rootfstype=ext4 panic=10 init=/sbin/init coherent_pool=1M ethaddr=${ethaddr} eth1addr=${eth1addr} serial=${serial#} cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1
    

    Inhalt /boot (/dev/mmcblk0p7)

    rock64@rockpro64:/boot$ ls
    System.map-4.4.132-1075-rockchip-ayufan-ga83beded8524  filesystem.packages
    config-4.4.132-1075-rockchip-ayufan-ga83beded8524      filesystem.packages-remove
    dtbs                                                   initrd.img-4.4.132-1075-rockchip-ayufan-ga83beded8524
    efi                                                    vmlinuz-4.4.132-1075-rockchip-ayufan-ga83beded8524
    extlinux
    

    In extlinux liegt auch hier eine extlinux.conf mit folgendem Inhalt.

    timeout 10
    menu title select kernel
    
    label kernel-4.4.132-1075-rockchip-ayufan-ga83beded8524
        kernel /boot/vmlinuz-4.4.132-1075-rockchip-ayufan-ga83beded8524
        initrd /boot/initrd.img-4.4.132-1075-rockchip-ayufan-ga83beded8524
        devicetreedir /boot/dtbs/4.4.132-1075-rockchip-ayufan-ga83beded8524
        append rw panic=10 init=/sbin/init coherent_pool=1M ethaddr=${ethaddr} eth1addr=${eth1addr} serial=${serial#} cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1 root=LABEL=linux-root rootwait rootfstype=ext4
    
    label kernel-4.4.132-1075-rockchip-ayufan-ga83beded8524-memtest
        kernel /boot/vmlinuz-4.4.132-1075-rockchip-ayufan-ga83beded8524
        initrd /boot/initrd.img-4.4.132-1075-rockchip-ayufan-ga83beded8524
        devicetreedir /boot/dtbs/4.4.132-1075-rockchip-ayufan-ga83beded8524
        append rw panic=10 init=/sbin/init coherent_pool=1M ethaddr=${ethaddr} eth1addr=${eth1addr} serial=${serial#} cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1 root=LABEL=linux-root rootwait rootfstype=ext4 memtest
    

    Ok, das kenne ich. Hier stellt man ein von wo er bootet usw. Was ich nicht verstehe, wofür braucht es dann /boot/efi (/dev/mmcblk0p6) ?? Es gibt immer einen Eintrag für die aktuelle Kernelversion und die alte Kernelversion. Wenn was schief geht, kann man die alte Version booten. Die aktuelle Version steht immer oben. Im Beispiel handelt es sich um das Original Image, kein anderer Kernel ist installiert.

    • Ordner /boot/efi ???
    • Ordner /boot/dtbs - hier liegt das .dts File!!
    • Ordner /boot/efi ???
    • Ordner /boot/extlinux ???????

    System.map-4.4.132-1075-rockchip-ayufan-ga83beded8524

    A symbol table is a look-up between symbol names and their addresses in memory. A symbol name may be the name of a variable or the name of a function.

    Quelle: https://en.wikipedia.org/wiki/System.map

    Beispiel (gekürzt)

    0000000000000000 A __rela_size
    0000000000000000 A _kernel_flags_le_hi32
    0000000000000000 A _kernel_offset_le_hi32
    0000000000000000 A _kernel_size_le_hi32
    000000000000000a A _kernel_flags_le_lo32
    0000000000000200 A PECOFF_FILE_ALIGNMENT
    0000000000080000 A _kernel_offset_le_lo32
    000000000119f908 A __rela_offset
    0000000001392000 A _kernel_size_le_lo32
    ffffff8008080000 t _head
    ffffff8008080000 T _text
    ffffff8008080800 T __exception_text_start
    ffffff8008080800 T _stext
    ffffff8008080800 T do_undefinstr
    ffffff8008080a1c T do_sysinstr
    ffffff8008080ab4 T do_mem_abort
    ffffff8008080b60 T do_sp_pc_abort
    ffffff8008080c34 T do_debug_exception
    ffffff8008080ce8 T __exception_text_end
    ffffff8008080ce8 T __irqentry_text_start
    ffffff8008080ce8 t gic_handle_irq
    ffffff8008080da8 t gic_handle_irq
    ffffff8008080f28 T __do_softirq
    ffffff8008080f28 T __irqentry_text_end
    ffffff8008080f28 T __softirqentry_text_start
    ffffff8008081228 T __entry_text_start
    ffffff8008081228 T __softirqentry_text_end
    ffffff8008081800 T vectors
    

    config-4.4.132-1075-rockchip-ayufan-ga83beded8524

    Linux Kernel Konfiguration

    Beispiel (gekürzt)

    #
    # Automatically generated file; DO NOT EDIT.
    # Linux/arm64 4.4.132 Kernel Configuration
    #
    CONFIG_ARM64=y
    CONFIG_64BIT=y
    CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
    CONFIG_MMU=y
    CONFIG_ARCH_MMAP_RND_BITS_MIN=18
    CONFIG_ARCH_MMAP_RND_BITS_MAX=24
    CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11
    CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
    CONFIG_ARM64_PAGE_SHIFT=12
    CONFIG_ARM64_CONT_SHIFT=4
    CONFIG_STACKTRACE_SUPPORT=y
    CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
    CONFIG_LOCKDEP_SUPPORT=y
    CONFIG_TRACE_IRQFLAGS_SUPPORT=y
    CONFIG_RWSEM_XCHGADD_ALGORITHM=y
    CONFIG_GENERIC_BUG=y
    CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
    CONFIG_GENERIC_HWEIGHT=y
    CONFIG_GENERIC_CSUM=y
    CONFIG_GENERIC_CALIBRATE_DELAY=y
    CONFIG_ZONE_DMA=y
    CONFIG_HAVE_GENERIC_RCU_GUP=y
    CONFIG_ARCH_DMA_ADDR_T_64BIT=y
    CONFIG_NEED_DMA_MAP_STATE=y
    CONFIG_NEED_SG_DMA_LENGTH=y
    CONFIG_SMP=y
    CONFIG_SWIOTLB=y
    CONFIG_IOMMU_HELPER=y
    CONFIG_KERNEL_MODE_NEON=y
    CONFIG_FIX_EARLYCON_MEM=y
    CONFIG_PGTABLE_LEVELS=3
    

    filesystem.packages

    Beispiel (gekürzt)

    adduser 3.116ubuntu1
    alsa-utils      1.1.3-1ubuntu1
    apt     1.6.1
    apt-utils       1.6.1
    base-files      10.1ubuntu2
    base-passwd     3.5.44
    bash    4.4.18-2ubuntu1
    binutils        2.30-15ubuntu1
    binutils-aarch64-linux-gnu      2.30-15ubuntu1
    binutils-common:arm64   2.30-15ubuntu1
    bsdutils        1:2.31.1-0.4ubuntu3
    build-essential 12.4ubuntu1
    busybox-initramfs       1:1.27.2-2ubuntu3
    bzip2   1.0.6-8.1
    ca-certificates 20180409
    console-setup   1.178ubuntu2
    console-setup-linux     1.178ubuntu2
    coreutils       8.28-1ubuntu1
    

    filesystem.packages-remove

    Datei ist leer

    initrd.img-4.4.132-1075-rockchip-ayufan-ga83beded8524

    initrd ist ein temporäres Dateisystem, das vom Linux-Kernel während des Bootvorgangs verwendet wird.

    Quelle: https://de.wikipedia.org/wiki/Initrd

    Jedes mal, wenn man einen Kernel installiert, wird dieses File angelegt. Ein Beispiel von meinem ROCKPro64 mit NVMe SSD.

    rock64@rockpro64v2_0:/boot$ ls
    config-4.18.0-rc8-1060-ayufan-g45828c4db727
    config-4.4.132-1075-rockchip-ayufan-ga83beded8524
    dtbs
    efi
    extlinux
    filesystem.packages
    filesystem.packages-remove
    initrd.img-4.18.0-rc8-1056-ayufan-gad339353011e
    initrd.img-4.18.0-rc8-1060-ayufan-g45828c4db727
    initrd.img-4.18.0-rc8-1060-ayufan-g45828c4db727.bak
    initrd.img-4.4.132-1075-rockchip-ayufan-ga83beded8524
    System.map-4.18.0-rc8-1060-ayufan-g45828c4db727
    System.map-4.4.132-1075-rockchip-ayufan-ga83beded8524
    vmlinuz-4.18.0-rc8-1060-ayufan-g45828c4db727
    vmlinuz-4.4.132-1075-rockchip-ayufan-ga83beded8524
    

    Hier kann man auch ganz gut erkennen, das es immer ein initrd.img gibt, eine entsprechende System.map und eine vmlinux.

    vmlinuz-4.4.132-1075-rockchip-ayufan-ga83beded8524

    On Linux systems, vmlinux is a statically linked executable file that contains the Linux kernel in one of the object file formats supported by Linux, which includes ELF, COFF and a.out. The vmlinux file might be required for kernel debugging, symbol table generation or other operations, but must be made bootable before being used as an operating system kernel by adding a multiboot header, bootsector and setup routines.

    Ich denke, das man das normalerweise nicht braucht. Aber ich mach hier zur Sicherheit mal ein paar ???? dran!

    wird fortgesetzt..

  • Ich versuche hier mal den Bootvorgang des ROCKPro64 zu verstehen 🙂

  • Um einen neuen Kernel booten zu können, brauche ich diese 4 Dateien unter /boot

    • config-4.19.0-rc4-1065-ayufan-g72e04c7b3e06
    • initrd.img-4.19.0-rc4-1065-ayufan-g72e04c7b3e06
    • System.map-4.19.0-rc4-1065-ayufan-g72e04c7b3e06
    • vmlinuz-4.19.0-rc4-1065-ayufan-g72e04c7b3e06

    Und den Ordner /boot/dtbs/4.19.0-rc4-1065-ayufan-g72e04c7b3e06 mit folgendem Inhalt

    rock64@rockpro64v2_0:/boot/dtbs/4.19.0-rc4-1065-ayufan-g72e04c7b3e06$ ls -la
    total 104
    drwxr-xr-x 26 root root 4096 Sep 30 09:54 .
    drwxr-xr-x  6 root root 4096 Sep 30 09:55 ..
    drwxr-xr-x  2 root root 4096 Sep 30 09:54 al
    drwxr-xr-x  2 root root 4096 Sep 30 09:54 allwinner
    drwxr-xr-x  2 root root 4096 Sep 30 09:54 altera
    drwxr-xr-x  2 root root 4096 Sep 30 09:54 amd
    drwxr-xr-x  2 root root 4096 Sep 30 09:54 amlogic
    drwxr-xr-x  2 root root 4096 Sep 30 09:54 apm
    drwxr-xr-x  2 root root 4096 Sep 30 09:54 arm
    drwxr-xr-x  4 root root 4096 Sep 30 09:54 broadcom
    drwxr-xr-x  2 root root 4096 Sep 30 09:54 cavium
    drwxr-xr-x  2 root root 4096 Sep 30 09:54 exynos
    drwxr-xr-x  2 root root 4096 Sep 30 09:54 freescale
    drwxr-xr-x  2 root root 4096 Sep 30 09:54 hisilicon
    drwxr-xr-x  2 root root 4096 Sep 30 09:54 lg
    drwxr-xr-x  2 root root 4096 Sep 30 09:54 marvell
    drwxr-xr-x  2 root root 4096 Sep 30 09:54 mediatek
    drwxr-xr-x  2 root root 4096 Sep 30 09:54 nvidia
    drwxr-xr-x  2 root root 4096 Sep 30 09:54 qcom
    drwxr-xr-x  2 root root 4096 Sep 30 09:54 renesas
    drwxr-xr-x  2 root root 4096 Sep 30 09:54 rockchip
    drwxr-xr-x  2 root root 4096 Sep 30 09:54 socionext
    drwxr-xr-x  2 root root 4096 Sep 30 09:54 sprd
    drwxr-xr-x  2 root root 4096 Sep 30 09:54 synaptics
    drwxr-xr-x  2 root root 4096 Sep 30 09:54 xilinx
    drwxr-xr-x  2 root root 4096 Sep 30 09:54 zte
    

    Unter /boot/extlinux liegt dann die Datei extlinux.conf

    Die sieht bei mir dann so aus

    timeout 10
    menu title select kernel
    
    label kernel-4.19.0-rc4-1065-ayufan-g72e04c7b3e06
        kernel /boot/vmlinuz-4.19.0-rc4-1065-ayufan-g72e04c7b3e06
        initrd /boot/initrd.img-4.19.0-rc4-1065-ayufan-g72e04c7b3e06
        devicetreedir /boot/dtbs/4.19.0-rc4-1065-ayufan-g72e04c7b3e06
        append rw panic=10 init=/sbin/init coherent_pool=1M ethaddr=${ethaddr} eth1addr=${eth1addr} serial=${serial#} cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1 root=LABEL=TEST rootwait rootfstype=ext4
    
    label kernel-4.19.0-rc4-1065-ayufan-g72e04c7b3e06-memtest
        kernel /boot/vmlinuz-4.19.0-rc4-1065-ayufan-g72e04c7b3e06
        initrd /boot/initrd.img-4.19.0-rc4-1065-ayufan-g72e04c7b3e06
        devicetreedir /boot/dtbs/4.19.0-rc4-1065-ayufan-g72e04c7b3e06
        append rw panic=10 init=/sbin/init coherent_pool=1M ethaddr=${ethaddr} eth1addr=${eth1addr} serial=${serial#} cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1 root=LABEL=TEST rootwait rootfstype=ext4 memtest
    

    Darunter kommen dann evt. die alten Kernel die installiert waren, das habe ich hier im Beispiel weg gelassen.

  • 0 Stimmen
    17 Beiträge
    1k Aufrufe
    FrankMF

    Durch diesen Beitrag ist mir mal wieder eingefallen, das wir das erneut testen könnten 😉

    Also die aktuellen Daten von Debian gezogen. Das Image gebaut, könnt ihr alles hier im ersten Beitrag nachlesen. Da die eingebaute Netzwerkschnittstelle nicht erkannt wurde, habe ich mal wieder den USB-to-LAN Adapter eingesetzt.

    Bus 005 Device 002: ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet

    Die Installation wollte ich auf einem NVMe Riegel installieren.

    Die Debian Installation durchgezogen und nach erfolgreicher Installation neugestartet. Und siehe da, ohne das man alles möglich ändern musste, bootete die NVMe SSD 🤓

    Eingesetzter uboot -> 2020.01-ayufan-2013......

    Die nicht erkannte LAN-Schnittstelle müsste an nicht freien Treibern liegen, hatte ich da irgendwo kurz gelesen. Beim Schreiben dieses Satzes kam die Nacht und ich konnte noch mal drüber schlafen. Heute Morgen, beim ersten Kaffee, dann noch mal logischer an die Sache ran gegangen.

    Wir schauen uns mal die wichtigsten Dinge an.

    root@debian:~# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 62:03:b0:d6:dc:b3 brd ff:ff:ff:ff:ff:ff 3: enx000acd26e2c8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:0a:cd:26:e2:c8 brd ff:ff:ff:ff:ff:ff inet 192.168.3.208/24 brd 192.168.3.255 scope global dynamic enx000acd26e2c8 valid_lft 42567sec preferred_lft 42567sec inet6 fd8a:6ff:2880:0:20a:cdff:fe26:e2c8/64 scope global dynamic mngtmpaddr valid_lft forever preferred_lft forever inet6 2a02:908:1260:13bc:20a:xxxx:xxxx:xxxx/64 scope global dynamic mngtmpaddr valid_lft 5426sec preferred_lft 1826sec inet6 fe80::20a:cdff:fe26:e2c8/64 scope link valid_lft forever preferred_lft forever

    Ok, er zeigt mir die Schnittstelle eth0 ja an, dann kann es an fehlenden Treibern ja nicht liegen. Lässt dann auf eine fehlerhafte Konfiguration schließen. Nächster Halt wäre dann /etc/network/interfaces

    Das trägt Debian ein

    # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # The primary network interface allow-hotplug enx000acd26e2c8 iface enx000acd26e2c8 inet dhcp # This is an autoconfigured IPv6 interface iface enx000acd26e2c8 inet6 auto

    Gut, bei der Installation hat Debian ja nur die zusätzliche Netzwerkschnittstelle erkannt, folgerichtig ist die auch als primäre Schnittstelle eingetragen. Dann ändern wir das mal...

    # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # The primary network interface #allow-hotplug enx000acd26e2c8 allow-hotplug eth0 #iface enx000acd26e2c8 inet dhcp iface eth0 inet dhcp # This is an autoconfigured IPv6 interface #iface enx000acd26e2c8 inet6 auto iface eth0 inet6 auto

    Danach einmal alles neu starten bitte 😉

    systemctl status networking

    Da fehlte mir aber jetzt die IPv4 Adresse, so das ich einmal komplett neugestartet habe. Der Ordnung halber, so hätte man die IPv4 Adresse bekommen.

    dhclient eth0

    Nachdem Neustart kam dann das

    root@debian:/etc/network# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 62:03:b0:d6:dc:b3 brd ff:ff:ff:ff:ff:ff inet 192.168.3.172/24 brd 192.168.3.255 scope global dynamic eth0 valid_lft 42452sec preferred_lft 42452sec inet6 fd8a:6ff:2880:0:6003:b0ff:fed6:dcb3/64 scope global dynamic mngtmpaddr valid_lft forever preferred_lft forever inet6 2a02:908:1260:13bc:6003:xxxx:xxxx:xxxx/64 scope global dynamic mngtmpaddr valid_lft 5667sec preferred_lft 2067sec inet6 fe80::6003:b0ff:fed6:dcb3/64 scope link valid_lft forever preferred_lft forever 3: enx000acd26e2c8: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 00:0a:cd:26:e2:c8 brd ff:ff:ff:ff:ff:ff

    Fertig, eth0 läuft. Nun kann man den zusätzlichen Adapter entfernen oder halt konfigurieren, wenn man ihn braucht.

    Warum der Debian Installer die eth0 nicht erkennt verstehe ich nicht, aber vielleicht wird das irgendwann auch noch gefixt. Jetzt habe ich erst mal einen Workaround um eine Installation auf den ROCKPro64 zu bekommen.

  • ROCKPro64 - Samsung Portable SSD T5 500GB

    Hardware
    1
    0 Stimmen
    1 Beiträge
    278 Aufrufe
    Niemand hat geantwortet
  • 0 Stimmen
    2 Beiträge
    445 Aufrufe
    FrankMF

    Hat ein wenig Nerven gekostet und der Artikel ist auch was länger geworden 🙂 Viel Spaß beim Lesen und testen!

  • Mainline 5.4.x

    Images
    2
    0 Stimmen
    2 Beiträge
    332 Aufrufe
    FrankMF

    Bootet bei mir weder von USB3-SSD noch von SD-Karte.

    USB3-SSD -> https://pastebin.com/QAS92sme
    SD-Karte -> https://pastebin.com/Bsr3WLJ7

  • 0 Stimmen
    1 Beiträge
    425 Aufrufe
    Niemand hat geantwortet
  • ROCKPro64 - Das erste Mal

    Angeheftet Verschoben Hardware
    5
    1 Stimmen
    5 Beiträge
    817 Aufrufe
    FrankMF

    Ich kann heute die Fragen aller Fragen beantworten 🙂

    Damit ist leider die Frage immer noch unbeantwortet ob WLan und PCIe zusammen nutzbar ist!! Es geht!!

    Ich habe von MrFixit ein Testimage der RecalBox, benutzt das selbe Debian wie oben. Die Tage konnte man im IRC verfolgen, wie man dem Grundproblem näher kam und wohl einen Fix gebastelt hat, damit beides zusammen funktioniert. Mr.Fixit hat das in RecalBox eingebaut und ich durfte testen.

    # ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP8000> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 62:03:b0:d6:dc:b3 brd ff:ff:ff:ff:ff:ff 3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP8000> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether ac:83:f3:e6:1f:b2 brd ff:ff:ff:ff:ff:ff inet 192.168.178.27/24 brd 192.168.178.255 scope global wlan0 valid_lft forever preferred_lft forever inet6 2a02:908:1262:4680:ae83:f3ff:fee6:1fb2/64 scope global dynamic valid_lft 7145sec preferred_lft 3545sec inet6 fe80::ae83:f3ff:fee6:1fb2/64 scope link valid_lft forever preferred_lft forever # ls /mnt bin etc media recalbox sd.img test2.img boot home mnt root selinux tmp crypthome lib opt run srv usr dev lost+found proc sbin sys var # fdisk BusyBox v1.27.2 (2019-02-01 22:43:19 EST) multi-call binary. Usage: fdisk [-ul] [-C CYLINDERS] [-H HEADS] [-S SECTORS] [-b SSZ] DISK Change partition table -u Start and End are in sectors (instead of cylinders) -l Show partition table for each DISK, then exit -b 2048 (for certain MO disks) use 2048-byte sectors -C CYLINDERS Set number of cylinders/heads/sectors -H HEADS Typically 255 -S SECTORS Typically 63 # fdisk -l Disk /dev/mmcblk0: 15 GB, 15931539456 bytes, 31116288 sectors 486192 cylinders, 4 heads, 16 sectors/track Units: cylinders of 64 * 512 = 32768 bytes Device Boot StartCHS EndCHS StartLBA EndLBA Sectors Size Id Type /dev/mmcblk0p1 * 2,10,9 10,50,40 32768 163839 131072 64.0M c Win95 FAT32 (LBA) Partition 1 does not end on cylinder boundary /dev/mmcblk0p2 * 16,81,2 277,102,17 262144 4456447 4194304 2048M 83 Linux Partition 2 does not end on cylinder boundary /dev/mmcblk0p3 277,102,18 1023,254,63 4456448 31115263 26658816 12.7G 83 Linux Partition 3 does not end on cylinder boundary Disk /dev/nvme0n1: 233 GB, 250059350016 bytes, 488397168 sectors 2543735 cylinders, 12 heads, 16 sectors/track Units: cylinders of 192 * 512 = 98304 bytes Device Boot StartCHS EndCHS StartLBA EndLBA Sectors Size Id Type /dev/nvme0n1p1 1,0,1 907,11,16 2048 488397167 488395120 232G 83 Linux #

    Oben sieht man eine funktionierende WLan-Verbindung, das LAN-Kabel war entfernt. Unten sieht man die PCIe NVMe SSD, gemountet nach /mnt und Inhaltsausgabe.

    Das sollte beweisen, das der Ansatz der Lösung funktioniert. Leider kann ich nicht sagen, das es zum jetzigen Zeitpunkt stabil läuft. Ich habe einfach so Reboots, kann den Fehler aktuell aber nicht fangen. Mal sehen ob ich noch was finde.

    Aber, es ist ein Anfang!

  • Mainline Kernel 4.20.x

    Verschoben Images
    26
    0 Stimmen
    26 Beiträge
    4k Aufrufe
    FrankMF

    4.20.0-1090-ayufan released

    Änderungen -> https://gitlab.com/ayufan-repos/rock64/linux-mainline-kernel/commits/master

  • Serielle Konsole UART2

    Angeheftet Verschoben Hardware
    8
    0 Stimmen
    8 Beiträge
    3k Aufrufe
    FrankMF

    Ich verweise mal auf einen Artikel auf einer Webseite von mir, der Einsteiger Niveau hat.
    https://frank-mankel.de/wichtig/serielle-konsole

    Wenn es dann noch Probleme gibt, einfach fragen.

    Und beachte bitte, das wir hier nicht über PIs schreiben, sondern über ROCKPros. Da könnte es kleine Unterschiede geben. https://www.raspberrypi.org/documentation/configuration/uart.md