MMGen Posted October 18, 2020 Posted October 18, 2020 (edited) Full root filesystem encryption on an Armbian system (new, fully rewritten, replaces my earlier tutorial on this topic) MMGen (https://github.com/mmgen) This tutorial provides detailed, step-by-step instructions for setting up full root filesystem encryption on an Armbian system. The disk can be unlocked remotely via SSH or the serial console, permitting unattended bootup. An automated script that performs the same steps, saving you much time and effort, can be found at https://github.com/mmgen/mmgen-geek-tools Note that unlike my earlier tutorial all steps are performed within a running Armbian system. The tutorial is known to work with the following board/image combinations: Orange Pi PC2 Debian Buster mainline / Ubuntu Bionic and Focal legacy RockPi 4 Debian Buster mainline / Ubuntu Bionic and Focal legacy RockPro 64 Ubuntu Focal mainline Odroid HC4 Debian Buster mainline / Ubuntu Focal mainline You may have success with other boards/images too. If so, please post the details below (or open an issue in the mmgen-geek-tools Github repository), and I’ll add your board to the list. Requirements: A SoC with a running, upgradeable and Internet-connected Armbian system A blank Micro-SD card and USB card reader, or, alternatively, an eMMC installed on the board The ability to edit text files and do simple administrative tasks on the Linux command line Step 1 - Preliminaries All steps in this tutorial are performed as root user on a running Armbian system (the “host”). The encrypted system (the “target”) will be created on a blank micro-SD card (the “target device”). If the board has an eMMC, it may be used as the target device instead of an SD card. Depending on your platform, you may need to run “armbian-install” and select “Install/Update the bootloader on MTD Flash” (preferable) or “Install/Update the bootloader on eMMC” to enable booting from the eMMC. Architecture of host and target (e.g. 64-bit or 32-bit ARM) must be the same. For best results, the host and target hardware should also be identical or similar. Building on a host with more memory than the target, for example, may lead to disk unlocking failure on the target. If you’re building the target system for the currently running board and with the currently running image, which is the recommended approach, the two preceding points will be a non-issue. Packages will be installed using APT, so the host machine must be Internet-connected and its clock correctly set. Step 2 - Upgrade your system and install the cryptsetup package # apt update && apt upgrade # apt install cryptsetup Step 3 - Get and unpack the latest Armbian image for your board Create your build directory: # mkdir armbenc-build && cd armbenc-build Download the Armbian image of your choice for your board, place it in this directory and unpack: # xz -dv *.img.xz Step 4 - Create mount directories and set up the loop mount Create the mount directories: # mkdir -p mnt boot root Determine your first free loop device: # losetup -f Associate the image file with the loop device name displayed by the previous command. This will be '/dev/loop0' in most cases, but if your output was different, substitute that for '/dev/loop0' in the following steps. # losetup -P /dev/loop0 *.img Examine the disk image using fdisk on the loop device: # fdisk -l /dev/loop0 The output should look something like this: Device Boot Start End Sectors Size Id Type /dev/loop0p1 32768 3489791 3457024 1.7G 83 Linux Make a note of the start sector (32768 in this case). You’ll need this value in the steps below. Now mount the loop device: # mount /dev/loop0p1 mnt Step 5 - Copy the boot loader to the target device If applicable, insert a blank micro-SD card and card reader into a USB port. Determine the target device name using 'dmesg' or 'lsblk'. We’ll assume it to be '/dev/sda', since that’s the most likely case. If your device name is different, substitute it for '/dev/sda' in the the following steps. For an eMMC, the device name will be something like '/dev/mmcblk1'. WARNING: if '/dev/sda' refers to some other storage device, running the following commands unchanged will destroy data on that device, so always remember to substitute the correct device name!!! The best way to eliminate this danger is to disconnect all unused storage devices on the board before proceeding further. Determine whether your image has a GPT partition table or a legacy MBR (i.e. DOS) one. This can be done by running fdisk -l on the image file and examining the “Disklabel type” entry. For GPT images, also make note of the value in the “Type” column. On ARM devices, it’s likely to be “Linux root (ARM-64)”, for example. You’ll need this information soon when partitioning the target device: # fdisk -l *.img Copy the image’s boot loader to the target device. With MBR-partitioned images, we use the Start sector value from Step 4 as the argument for 'count', while with GPT ones we skip the first 64 sectors and correspondingly subtract 64 from 'count', reducing the number of copied sectors by 64: ### MBR (DOS) images: # dd if=$(echo *.img) of=/dev/sda bs=512 count=32768 ### GPT images: # dd if=$(echo *.img) of=/dev/sda bs=512 skip=64 seek=64 count=32704 Step 6 - Partition the target device # fdisk /dev/sda At the fdisk prompt, create a new disk label with the 'o' command (for MBR images) or 'g' (for GPT images). Use the 'n' command to create a partition of size +200M beginning at the same Start sector as the disk image (for MBR images, select the “primary” partition type). Type 'p' to view the partition table, which should now look something like this: Device Boot Start End Sectors Size Id Type /dev/sda1 32768 442367 409600 200M 83 Linux Use 'n' again to create another partition beginning one sector after the first partition’s end sector and filling the remainder of the device (for MBR, select “primary” again). Type 'p' once more to view the partition table: Device Boot Start End Sectors Size Id Type /dev/sda1 32768 442367 409600 200M 83 Linux /dev/sda2 442368 30636031 30193664 14.4G 83 Linux Ensure that the first partition’s Start sector matches that of the disk image (32768 in this example) and that the second partition’s Start sector is one greater than the End sector of the first (442368 and 442367, respectively, in this example). If you’ve made a mistake, use 'd' to delete a partition and start again. With GPT images, you’ll need to change the partition type of your two partitions to match that of the image. Type 'l' to list the known partition types and find the entry matching the value of the “Type” column you made note of above. Note the entry’s integer code and exit the pager with 'q'. Using the 't' command, change the type of your two partitions using this code. Type 'p' once again to view the partition table, which should now look something like this (depending on your platform): Device Boot Start End Sectors Size Id Type /dev/sda1 32768 442367 409600 200M 83 Linux root (ARM-64) /dev/sda2 442368 30636031 30193664 14.4G 83 Linux root (ARM-64) Once everything looks correct, type 'w' to write the partition table to disk. Step 7 - Copy the system to the target device The following commands will create a filesystem on the target device’s boot partition and copy the boot partition data from the image file to it. Don’t forget to substitute the correct device name if necessary. If you’re building the system on an eMMC, the boot partition device will be something like '/dev/mmcblk1p1' instead of '/dev/sda1'. # mkfs.ext4 /dev/sda1 # or '/dev/mmcblk1p1', for an eMMC target # e2label /dev/sda1 CRYPTO_BOOT # mount /dev/sda1 boot # cp -av mnt/boot/* boot # (cd boot; ln -s . boot) Create the encrypted root partition. When prompted for a passphrase, it’s advisable to choose an easy one like 'abc' for now. The passphrase can be changed later with the 'cryptsetup luksChangeKey' command (type 'man cryptsetup' for details) once your encrypted system is up and running. # cryptsetup luksFormat /dev/sda2 # or '/dev/mmcblk1p2', for an eMMC target Activate the encrypted root partition and create a filesystem on it: # cryptsetup luksOpen /dev/sda2 rootfs # enter your passphrase from above # mkfs.ext4 /dev/mapper/rootfs Mount the encrypted root partition and copy the system to it: # mount /dev/mapper/rootfs root # (cd mnt && rsync -a --info=progress2 --exclude=boot * ../root) # sync # be patient, this could take a while # mkdir root/boot # touch root/root/.no_rootfs_resize Unmount the boot partition and image and free the loop device: # umount mnt boot # losetup -d /dev/loop0 Step 8 - Prepare the target system chroot # BOOT_PART=($(lsblk -l -o NAME,LABEL | grep CRYPTO_BOOT)) # ROOT_PART=${BOOT_PART%1}2 # ROOT_UUID="$(lsblk --nodeps --noheadings --output=UUID /dev/$ROOT_PART)" # BOOT_UUID="$(lsblk --noheadings --output=UUID /dev/$BOOT_PART)" # cd root # mount /dev/$BOOT_PART boot # mount -o rbind /dev dev # mount -t proc proc proc # mount -t sysfs sys sys Copy '/etc/resolv.conf' and '/etc/hosts' so you’ll have a working Internet connection within the chroot: # cat /etc/resolv.conf > etc/resolv.conf # cat /etc/hosts > etc/hosts If you’re using non-default APT repositories, you may need to copy their configuration files as well so that 'apt update' and 'apt install' will use them inside the chroot. Note that you can only do this if the host and target systems have the same distro/version. If that’s not the case, you’ll have to edit the target files by hand. # cat /etc/apt/sources.list > etc/apt/sources.list # cat /etc/apt/sources.list.d/armbian.list > etc/apt/sources.list.d/armbian.list If you’re using an apt proxy, then copy its configuration file too: # cp /etc/apt/apt.conf.d/*proxy etc/apt/apt.conf.d/ Step 9 - Edit or create required configuration files in the target system Perform the editing steps below using a text editor of your choice: If the file 'boot/armbianEnv.txt' exists, edit it so that the 'rootdev', 'console' and 'bootlogo' lines read as follows. If you’ll be unlocking the disk via the serial console, then use 'console=serial' instead of 'console=display'. Note that enabling the serial console will make it impossible to unlock the disk from the keyboard and monitor, though unlocking via SSH will still work: rootdev=/dev/mapper/rootfs console=display bootlogo=false If your image lacks an 'armbianEnv.txt' file, you’ll need to edit the file 'boot/extlinux/extlinux.conf' instead. All changes will be made to the line beginning with “append”. Alter the argument beginning with “root=” so that it reads “root=/dev/mapper/rootfs”. If you’ll be unlocking the disk via the serial console, remove the “console=tty1” argument. If not, remove the argument beginning with “console=ttyS...”. Replace the “splash plymouth...” argument with “splash=verbose”. Make sure to read the note about unlocking via serial console in the previous step. Edit 'etc/initramfs-tools/initramfs.conf'. If your board will have a statically configured IP, add the following line to the end of the file, substituting the correct IP in place of 192.168.0.88: IP=192.168.0.88:::255.255.255.0::end0:off If the board will be configured via DHCP, then edit the DEVICE line as follows: DEVICE=end0 If your default network device is eth0, use that instead of end0. If host and target systems are both Debian buster, you may wish add some key modules to the initramfs to avoid a blank display at bootup time. The easiest way to do this is to add all currently loaded modules as follows: # lsmod | cut -d ' ' -f1 | tail -n+2 > etc/initramfs-tools/modules Retrieve the SSH public key from the remote unlocking host and copy it to the target: # mkdir -p etc/dropbear/initramfs # rsync yourusername@remote_machine:.ssh/id_*.pub etc/dropbear/initramfs/authorized_keys If you want to unlock the disk from more than one host, then edit the authorized_keys file by hand, adding the required additional keys. Create 'etc/crypttab': # echo "rootfs UUID=$ROOT_UUID none initramfs,luks" > etc/crypttab Create 'etc/fstab': # echo '/dev/mapper/rootfs / ext4 defaults,noatime,nodiratime,commit=600,errors=remount-ro 0 1' > etc/fstab # echo "UUID=$BOOT_UUID /boot ext4 defaults,noatime,nodiratime,commit=600,errors=remount-ro 0 2" >> etc/fstab # echo 'tmpfs /tmp tmpfs defaults,nosuid 0 0' >> etc/fstab Create the dropbear configuration file: # echo 'DROPBEAR_OPTIONS="-p 2222"' > etc/dropbear/initramfs/dropbear.conf # echo 'DROPBEAR=y' >> etc/dropbear/initramfs/dropbear.conf If the target is Ubuntu bionic, then a deprecated environment variable must be set as follows: # echo 'export CRYPTSETUP=y' > etc/initramfs-tools/conf.d/cryptsetup Set up automatic disk unlock prompt. Performing this optional step will cause the disk password prompt to appear automatically when you log in remotely via SSH to unlock the disk. Using your text editor, create the file 'etc/initramfs-tools/hooks/cryptroot-unlock.sh' with the following contents: #!/bin/sh if [ "$1" = 'prereqs' ]; then echo 'dropbear-initramfs'; exit 0; fi . /usr/share/initramfs-tools/hook-functions source='/tmp/cryptroot-unlock-profile' root_home=$(echo $DESTDIR/root-*) root_home=${root_home#$DESTDIR} echo 'if [ "$SSH_CLIENT" ]; then /usr/bin/cryptroot-unlock; fi' > $source copy_file ssh_login_profile $source $root_home/.profile exit 0 Save the file and execute the command: chmod 755 'etc/initramfs-tools/hooks/cryptroot-unlock.sh' Step 10 - Chroot into the target system, install packages and configure Now chroot into the encrypted system. All remaining steps will be performed inside the chroot: # chroot . Install the cryptsetup package and the dropbear SSH server: # apt update # echo 'force-confdef' > /root/.dpkg.cfg # apt --yes install cryptsetup-initramfs dropbear-initramfs # for a buster or focal image # apt --yes install cryptsetup dropbear-initramfs # for a bionic image # rm /root/.dpkg.cfg Make sure everything was included in the initramfs (all three commands should produce output): # lsinitramfs /boot/initrd.img-* | grep 'usr.*cryptsetup' # lsinitramfs /boot/initrd.img-* | grep dropbear # lsinitramfs /boot/initrd.img-* | grep authorized_keys Now regenerate your SSH host keys: # ssh-keygen -A Your work is finished! Exit the chroot and shut down the board: # exit # halt -p Insert your freshly written SD card into the board’s main SD slot (or, if the target is an eMMC, just remove the SD card from that slot) and reboot. Unlock the disk by executing the following command on your remote unlocking machine, substituting the correct IP address if necessary: $ ssh -p 2222 root@192.168.0.88 If you performed step 9.10 above, the disk password prompt should appear automatically after login. If not, you must enter the command 'cryptroot-unlock'. You may also unlock the disk from the target board’s console if you wish. Note, however, that certain disk images (RockPi 4 buster mainline, for example) might give you a blank display at startup, so you’ll have to enter your disk password “blindly”. This bug will hopefully be fixed in the future. If all went well, your root-filesystem encrypted Armbian system is now up and running! Edited December 11 by MMGen GPT support 5 Quote
DevShanky Posted October 18, 2020 Posted October 18, 2020 This is a very good tutorial. Thank you for posting this here. Armbian build has an option CRYPTROOT_ENABLE=yes that can enable encrypted root system via custom build. See here. Is there some overlap here? -R 0 Quote
MMGen Posted October 18, 2020 Author Posted October 18, 2020 Thanks for pointing that out! As far as overlap goes, I think this tutorial (and the automated script) has a clear use case, as it creates encrypted Armbian systems without building or compiling anything, which is much easier for most users (the automated script can create a fully configured system on your SD card or eMMC in a matter of minutes). Secondly, the tutorial can be a valuable learning experience for those interested in better understanding disk partitioning, loop devices, LUKS encryption, uBoot, the Linux bootup process, basic administrative commands, etc. 0 Quote
DevShanky Posted October 20, 2020 Posted October 20, 2020 I am wondering if this script would break nand-sata-install since the base Armbian images are single partition while the new encrypted image on SD card is having a separate Boot and Root partition. If this is the case then how can we move the image to eMMC from SD? -R 0 Quote
sunzone Posted October 20, 2020 Posted October 20, 2020 Thanks for the post. I test the script with Orange Pi zero with the latest Ubuntu Focal image. Armbian 20.08.1 Focal with Linux 5.8.5-sunxi After writing to the SD, at booting phase, following error occurs. Starting kernel ... Uncompressing Linux... done, booting the kernel. Error: invalid dtb and unrecognized/unsupported machine ID r1=0x00001029, r2=0x40000100 r2[]=05 00 00 00 01 00 41 54 00 00 00 00 00 00 00 00 Available machine support: ID (hex) NAME ffffffff Generic DT based system ffffffff Allwinner suniv Family ffffffff Allwinner sun9i Family ffffffff Allwinner A83t board ffffffff Allwinner sun8i Family ffffffff Allwinner sun7i (A20) Family ffffffff Allwinner sun6i (A31) Family ffffffff Allwinner sun4i/sun5i Families Please check your kernel config and/or bootloader. @MMGen anything I need to do additionally to support Orange Pi Zero? Thanks. 0 Quote
MMGen Posted October 20, 2020 Author Posted October 20, 2020 9 hours ago, DevShanky said: I am wondering if this script would break nand-sata-install since the base Armbian images are single partition while the new encrypted image on SD card is having a separate Boot and Root partition. If this is the case then how can we move the image to eMMC from SD? -R You don't need nand-sata-install, because the tutorial (and script) create the encrypted system directly on the eMMC. This has been tested successfully on the RockPi 4. Would like to hear from users how it works on other boards. 0 Quote
MMGen Posted October 20, 2020 Author Posted October 20, 2020 4 hours ago, sunzone said: Thanks for the post. I test the script with Orange Pi zero with the latest Ubuntu Focal image. Armbian 20.08.1 Focal with Linux 5.8.5-sunxi After writing to the SD, at booting phase, following error occurs. ...SNIP.... @MMGen anything I need to do additionally to support Orange Pi Zero? Thanks. This is not the kind of error I would expect to see. Are you sure you performed all the steps correctly, didn't omit anything? Is the SD card itself in working order? I'll take a look at the Focal Orange Pi Zero image to see if there's anything there that might be causing this error, but I don't have that board to test on, unfortunately. UPDATE: I looked at your image. Some things you might want to check: 1) Make sure you're editing armbianEnv.txt correctly. After performing the edits, the file should look like this: verbosity=1 bootlogo=false console=display disp_mode=1920x1080p60 overlay_prefix=sun8i-h3 overlays=usbhost2 usbhost3 rootdev=/dev/mapper/rootfs rootfstype=ext4 2) In boot.cmd there are two lines beginning with 'setenv rootdev'. Make sure you're deleting the first one. If that doesn't work, there are other things you might try and see whether you get the same or similar error at bootup: 1) Use the automated script instead of the tutorial. 2) Try the Buster image instead of Focal. 0 Quote
sunzone Posted October 21, 2020 Posted October 21, 2020 20 hours ago, MMGen said: This is not the kind of error I would expect to see. Are you sure you performed all the steps correctly, didn't omit anything? Is the SD card itself in working order? I'll take a look at the Focal Orange Pi Zero image to see if there's anything there that might be causing this error, but I don't have that board to test on, unfortunately. UPDATE: I looked at your image. Some things you might want to check: 1) Make sure you're editing armbianEnv.txt correctly. After performing the edits, the file should look like this: verbosity=1 bootlogo=false console=display disp_mode=1920x1080p60 overlay_prefix=sun8i-h3 overlays=usbhost2 usbhost3 rootdev=/dev/mapper/rootfs rootfstype=ext4 2) In boot.cmd there are two lines beginning with 'setenv rootdev'. Make sure you're deleting the first one. If that doesn't work, there are other things you might try and see whether you get the same or similar error at bootup: 1) Use the automated script instead of the tutorial. 2) Try the Buster image instead of Focal. 1) Checked 2) Applied Still the same error.. 1) Used automated script 2) Used Buster image Still the same error.... 0 Quote
sunzone Posted October 21, 2020 Posted October 21, 2020 Also tried with an Opi Zero Plus I had since it is 64bit, following the steps and also using the script. Boot hangs after Starting kernel ... 0 Quote
MMGen Posted October 21, 2020 Author Posted October 21, 2020 31 minutes ago, sunzone said: Also tried with an Opi Zero Plus I had since it is 64bit, following the steps and also using the script. Boot hangs after Starting kernel ... Sorry to hear that. I'm afraid I've run out of options, since I don't have an Opi Zero for testing. If you really need root fs encryption, then you might try building Armbian with the CRYPTROOT_ENABLE option mentioned by @DevShankyin the post above. 0 Quote
sunzone Posted October 21, 2020 Posted October 21, 2020 On 10/21/2020 at 6:10 PM, MMGen said: Sorry to hear that. I'm afraid I've run out of options, since I don't have an Opi Zero for testing. If you really need root fs encryption, then you might try building Armbian with the CRYPTROOT_ENABLE option mentioned by @DevShankyin the post above. I will look into that. Thanks. Edit: building Armbian with the CRYPTROOT_ENABLE option works 1 Quote
MMGen Posted February 27, 2021 Author Posted February 27, 2021 - Add RockPro64 to supported list - Add automatic disk unlock prompt (Step 9.10) 0 Quote
legogris Posted March 3, 2021 Posted March 3, 2021 Great step-by-step guide as an alternative to the build option, and also as a training/education for people less familiar with this in general I guess it should be safe to assume that if `CRYPTROOT_UNLOCK` works, so should this guide? `CRYPTROOT_ENABLE` confirmed working on: * OdroidC4 (current buster and bullseye tested) * OdroidHC4 (current buster tested; interactive prompt does not show at boot and seems to stop at "Starting Kernel..." but remote unlock over SSH still works. Additionally, eth0 will only come up again after boot if you issue `ip link set eth0 down; rmmod realtek; sleep 1; modprobe realtek; ip link set eth0 up` after boot) Thanks to people in IRC for figuring out the points for the hc4. 0 Quote
Werner Posted March 3, 2021 Posted March 3, 2021 I added a link to this topic to the build options. 1 Quote
MMGen Posted March 3, 2021 Author Posted March 3, 2021 12 hours ago, legogris said: I guess it should be safe to assume that if `CRYPTROOT_UNLOCK` works, so should this guide? No, I wouldn't assume that. See the comments by @sunzone above regarding the Orange Pi Zero. In their case, the problem may be connected with the fact that the OPi Zero requires 'flash-kernel' to set up the boot loader. I think that boards/images that don't depend on flash-kernel should generally work with this tutorial, but I need more test data to confirm that hypothesis. 1 Quote
MMGen Posted April 9, 2021 Author Posted April 9, 2021 Add serial console disk unlocking instructions at step 9.1. Serial console disk unlocking has been added as an option to the automated script as well. 1 Quote
Bagel Posted June 7, 2021 Posted June 7, 2021 Thank you for the comprehensive tutorial! Instead of installing the encrypted system on an SD/eMMC I'd like to move the rootfs to my SSD and keep the boot partition on the SD-card (I'm using the Odroid HC4, unfortunately can't boot directly from SSD). Is it sufficient to edit the armbianEnv.txt-file in the SD-card's boot-partition? Do you have any suggestions on this? 0 Quote
MMGen Posted June 17, 2021 Author Posted June 17, 2021 On 6/7/2021 at 3:30 PM, Bagel said: Thank you for the comprehensive tutorial! Instead of installing the encrypted system on an SD/eMMC I'd like to move the rootfs to my SSD and keep the boot partition on the SD-card (I'm using the Odroid HC4, unfortunately can't boot directly from SSD). Is it sufficient to edit the armbianEnv.txt-file in the SD-card's boot-partition? Do you have any suggestions on this? Yes, this should be doable. Create a LUKS partition and ext4 fs on the SSD, copy the root fs to it, update /etc/crypttab with the new device UUID, mount, chroot and update the initramfs. I haven't tested this myself though, so other steps might be required. But first you should try the tutorial without modification to make sure it works for your board. If it does, please let me know and I'll add the HC4 to the "supported" list. 1 Quote
Bagel Posted July 4, 2021 Posted July 4, 2021 On 6/17/2021 at 12:42 PM, MMGen said: Yes, this should be doable. Create a LUKS partition and ext4 fs on the SSD, copy the root fs to it, update /etc/crypttab with the new device UUID, mount, chroot and update the initramfs. I haven't tested this myself though, so other steps might be required. But first you should try the tutorial without modification to make sure it works for your board. If it does, please let me know and I'll add the HC4 to the "supported" list. Whoop, it works, thanks! I've followed the (non-boot) parts in your tutorial. thus I created a single partition on the SSD, formatted it with LUKS/ext4 and copied the rootfs over to my SSD. I've performed some steps on the original (source) OS as well, such as installing dropbear, copying the authorized keys and editing the crypttab and fstab (basically step 9) + update initramfs. After rebooting and configuring the new rootfs such as providing new root password etc. I've added two lines to the fstab on the new or target-rootfs: UUID=old-rootfs-uuid-here /oldfs ext4 defaults,noatime,nodiratime,commit=600,errors=remount-ro 0 2 /oldfs/boot /boot none bind 0 0 Now the new system is aware of the boot folder. When I run update-initramfs on the new rootfs, the boot folder is updated accordingly. Not sure if this is the best way to do it, suggestions and improvements are welcome. When starting the newly copied system for the first time, I noticed that I couldn't use ssh to login for the first time (with root + password "1234"). Is this expected behaviour? 0 Quote
MMGen Posted July 14, 2021 Author Posted July 14, 2021 On 7/4/2021 at 2:29 PM, Bagel said: Whoop, it works, thanks! I've followed the (non-boot) parts in your tutorial. thus I created a single partition on the SSD, formatted it with LUKS/ext4 and copied the rootfs over to my SSD. I've performed some steps on the original (source) OS as well, such as installing dropbear, copying the authorized keys and editing the crypttab and fstab (basically step 9) + update initramfs. After rebooting and configuring the new rootfs such as providing new root password etc. I've added two lines to the fstab on the new or target-rootfs: UUID=old-rootfs-uuid-here /oldfs ext4 defaults,noatime,nodiratime,commit=600,errors=remount-ro 0 2 /oldfs/boot /boot none bind 0 0 Now the new system is aware of the boot folder. When I run update-initramfs on the new rootfs, the boot folder is updated accordingly. Not sure if this is the best way to do it, suggestions and improvements are welcome. When starting the newly copied system for the first time, I noticed that I couldn't use ssh to login for the first time (with root + password "1234"). Is this expected behaviour? Glad everything worked! However, the bind mount wasn't necessary. Since you're still booting from the SD/eMMC, the old fstab would have worked unmodified. Can't say why you couldn't log in via SSH initially, but in any case this is a minor issue. 0 Quote
Werner Posted August 12, 2021 Posted August 12, 2021 Since we have this as open issue do you want to port your tutorial to the documentation and use this thread as support thread? 0 Quote
MMGen Posted August 12, 2021 Author Posted August 12, 2021 13 hours ago, Werner said: Since we have this as open issue do you want to port your tutorial to the documentation and use this thread as support thread? Thanks for the offer/request. I'll be busy for the next several days, but when I get some free time I'll look into doing this. 1 Quote
g00d Posted October 12, 2021 Posted October 12, 2021 (edited) Hello and first things first MANY THANKS for this great tutorial!!! And I think I have discovered a small typo which will cause the tutorial to fail at that particular step. See here Step 8 - Prepare the target system chroot # BOOT_PART=($(lsblk -l -o NAME,LABEL | grep CRYPTO_BOOT)) # ROOT_PART=${BOOT_PART%1}2 # ROOT_UUID="$(lsblk --nodeps --noheadings --output=UUID /dev/$ROOT_PART)" # BOOT_UUID="$(lsblk --noheadings --output=UUID /dev/$BOOT_PART)" this line here: # BOOT_PART=($(lsblk -l -o NAME,LABEL | grep CRYPTO_BOOT)) should be correctly # BOOT_PART=($(lsblk -l -o NAME,LABEL | grep CRYPTO_ROOT)) ,,,BOOT should be ,,,ROOT (see commands above for clarification) Unfortunately, I was not successful with the full encryption. I got an ODROID-HC2 as a gift and wanted to try a full encryption with the latest Armbian. I got stuck already at the beginning. In the requirements it says that you have to do it on an already running Armbian host and on the other hand you have to have a free card/reader on the respective host with which you can write to a free SD card. [ Zitat ...all steps are performed within a running Armbian system. The tutorial is known to work with the following board/image combinations: Orange Pi PC2 Debian Buster mainline / Ubuntu Bionic and Focal legacy RockPi 4 Debian Buster mainline / Ubuntu Bionic and Focal legacy RockPro 64 Ubuntu Focal mainline Odroid HC4 Debian Buster mainline / Ubuntu Focal mainline Requirements: A blank Micro-SD card and USB card reader, or, alternatively, a blank eMMC installed on the board The ODROID-HC2 unfortunately has only one micro-SD slot, but it already has my micro-SD card 1 running on the Armbian Bullseye. I can badly pull out during operation this micro-SD card 1 and instead simply insert the empty micro-SD card 2 :-) I have no external SD-card reader which I could attach to the USB port of my ODROID-HC2. So I tried the following. I just used a USB stick (8GB) instead of the empty SD card 2 (32GB) and wrote all the procedure explained in the tutorial to the USB stick, so the target was the USB stick. After everything was successfully completed I removed the USB stick and the micro-SD2 from the ODROID-HC2 and plugged it into my Linux desktop PC. The USB stick was "sdb" and the microSD card was "sdc". I then cloned the contents of the USB stick I just created to the blank micro-SD card 2. dd if=/dev/sdb of=/dev/sdc bs=1M && sync but unfortunately it did not work. When I put the microSD card into the ODROID-HC2 and boot then I can neither ping nor connect via dropbear/ssh under the configured port. So it seems that the system is not reachable. I noticed that according to the tutorial you should enter DEVICE=eth0 in boot.ini. However, on my ODROID-HC2 with the Armbian bullseye image, the network interface is enx001e06xxxxxx where the numbers/letters after the prefix enx corresponds to the MAC address of the ODROID-HC2. I wonder if this is the error? Would I then have to enter the hardware MAC address in the boot.ini accordingly so device=enx001e06xxxxxx before I had generated the initram? maybe there are ODROID-HC2 users among you who have already done it and can give help? am curious and looking forward to helpful contributions. Thanks in advance. Edited October 12, 2021 by g00d formatting error 0 Quote
g00d Posted October 14, 2021 Posted October 14, 2021 Hi again. The error I complained about in the last post related to CRYPTO_BOOT CRYPTO_ROOT in Step8) s not an error, but had been seen/written incorrectly by me. Was my mistake, sorry. However, I just can't get this to work with full encryption on the ODROID-HC2. Whenever I try to start the ODROID-HC2 with the new created full-encrypted microSD card I never see my ODROID-HC online, no IP in the network, no ping, not possible to ssh into the configured 2222 dropbear port.I have now made the following attempts in the meantime: 1) booted with the microSD card, quite normal into the Armbian operating system. Then inserted an empty USB stick and transferred with nand-sata-install the root filesystem to the USB stick. The microSD is now only used for booting the /boot partition, the filesystem was swapped to the USB stick. This allows me to easily "umount /boot" and then remove the microSD card while the Armbian OS is running. Then I inserted the second empty microSD into the slot of the ODROID-HC2 and went through the entire tutorial point by point exactly as indicated. For me, the startup sector is 8192, so I configured it accordingly. 2) In Step9.1) I have manually created the boot/armbianEnv.txt and fed it with the three lines. In step 9.2 I tried three things. First with device=eth0 to get the lease via DHCP, but it didn't work. Then I tried the manual IP assignment, also with eth0 specification. Did not work either. And last but not least I switched back to DEVICE=eth0 but replaced eth0 with enx001e06123456 because my running Armbian OS uses this interface name where 123456 is the real MAC address of the NIC. But this did not help either. 3) In step 9.8) I was unsure if I need the line. What is meant by "If the target system is an Ubuntu bionic?" that confuses me. Surely the target system is Armbian ??? Anyway, I have tried both possibilities. Once without this line and once with this line. However, neither of them worked. In step 10.2) I installed "cryptsetup-initramfs" and "dropbear-initramfs". Did not work. Then I tried the variant by installing also the package "cryptsetup". But again without success. EDIT: I see on the /boot partition unter /boot/boot.ini those lines: # this is for mainline only if test "${board_name}" = "xu4"; then setenv fdtfile "exynos5422-odroidxu4.dtb"; fi if test "${board_name}" = "xu3"; then setenv fdtfile "exynos5422-odroidxu3.dtb"; fi if test "${board_name}" = "xu3l"; then setenv fdtfile "exynos5422-odroidxu3-lite.dtb"; fi if test "${board_name}" = "hc1"; then setenv fdtfile "exynos5422-odroidhc1.dtb"; fi ODROID-HC2 seems missing here. Can that cause the trouble ? I have now prepared dozens of times my microSD as described in the instructions but the ODROIC-HC board just does not come online. The LEDs all light up as usual, nothing inconspicuous here. But no ping, no IP in the subnet (I checked by nmap scans and insight in my network router) and so I can't ping the rebooted system at all first. The ODROID-HC2 also has no video output, which means I have no way to see where the error is, or where it hangs. What else should I try, where could the worm be buried? Hope someone can help me. 0 Quote
g00d Posted October 23, 2021 Posted October 23, 2021 Hello all, meanwhile I purchased the USB UART serial kit to watch the u-boot process. I sticked to the tutorial here, I tried many times and as explained before the odroid-hc2 is not reachable when rebooting. U-Boot serial log: U-Boot 2017.05-armbian (Oct 08 2021 - 19:51:17 +0000) for ODROID-XU4 CPU: Exynos5422 @ 800 MHz Model: Odroid XU4 based on EXYNOS5422 Board: Odroid XU4 based on EXYNOS5422 Type: unknown DRAM: 2 GiB MMC: EXYNOS DWMMC: 0, EXYNOS DWMMC: 1 MMC Device 0 ( SD ): 29.8 GiB Card did not respond to voltage select! mmc_init: -95, time 12 *** Warning - bad CRC, using default environment In: serial Out: serial Err: serial Net: No ethernet found. Press quickly 'Enter' twice to stop autoboot: 0 13370 bytes read in 44 ms (295.9 KiB/s) ## Executing script at 43e00000 57 bytes read in 84 ms (0 Bytes/s) 7337840 bytes read in 816 ms (8.6 MiB/s) 11083175 bytes read in 1153 ms (9.2 MiB/s) ** File not found /boot/.next ** ** Unrecognized filesystem type ** ** File not found .next ** 88701 bytes read in 184 ms (470.7 KiB/s) libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND Kernel image @ 0x40008000 [ 0x000000 - 0x6ff770 ] ## Loading init Ramdisk from Legacy Image at 42000000 ... Image Name: uInitrd Image Type: ARM Linux RAMDisk Image (gzip compressed) Data Size: 11083111 Bytes = 10.6 MiB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK ## Flattened Device Tree blob at 44000000 Booting using the fdt blob at 0x44000000 Using Device Tree in place at 44000000, end 44018a7c Starting kernel ... Loading, please wait... Starting version 247.3-6 Begin: Loading essential drivers ... done. Begin: Running /scripts/init-premount ... done. Begin: Mounting root file system ... Begin: Waiting up to 180 secs for eth0 to become available ... Begin: Running /scripts/local-top ... Please unlock disk rootfs: as you see, the ODROID-HC2 asks for the rootfs password. The network is NOT up, but I'd expect it to. Without network one cannot connect and unlock the rootfs as explained in the tutorial. Can anyone dig into it and tell us more? How can this be solved? How do we instruct the network to get enabled BEFORE ? thank you EDIT: while I wrote this post the serial console throwed additional lines, see here Begin: Mounting root file system ... Begin: Waiting up to 180 secs for eth0 to become available ... Begin: Running /scripts/local-top ... Please unlock disk rootfs: Failure: Interface eth0 e done. ipconfig: eth0: SIOCGIFINDEX: No such device ipconfig: no devices to configure ipconfig: eth0: SIOCGIFINDEX: No such device ipconfig: no devices to configure ipconfig: eth0: SIOCGIFINDEX: No such device ipconfig: no devices to configure ipconfig: eth0: SIOCGIFINDEX: No such device ipconfig: no devices to configure ipconfig: eth0: SIOCGIFINDEX: No such device ipconfig: no devices to configure ipconfig: eth0: SIOCGIFINDEX: No such device ipconfig: no devices to configure ipconfig: eth0: SIOCGIFINDEX: No such device ipconfig: no devices to configure ipconfig: eth0: SIOCGIFINDEX: No such device ipconfig: no devices to configure ipconfig: eth0: SIOCGIFINDEX: No such device ipconfig: no devices to configure ipconfig: eth0: SIOCGIFINDEX: No such device ipconfig: no devices to configure /scripts/init-premount/dropbear: .: line 329: can't open '/run/net-eth0.conf': No such file or directory why does the system fail to init the ethernet network ? I tried both variants in initramfs.conf, DEVICE=eth0 but also with static IP. The serial log above shows the output when I used DEVICE=eth0 0 Quote
phelum Posted October 23, 2021 Posted October 23, 2021 2 hours ago, g00d said: why does the system fail to init the ethernet network ? I tried both variants in initramfs.conf, DEVICE=eth0 but also with static IP. The serial log above shows the output when I used DEVICE=eth0 Hi, Good to see you've got the monitor. Can you check that the correct .dts is being loaded ? See if the one you should use is 88701 bytes ? If not you could override the choice in boot.scr (setenv fdtfile .....). Cheers, Steven 0 Quote
g00d Posted October 24, 2021 Posted October 24, 2021 in u-boot process with encrypted rootfs I cannot find anything with the string "dts" but I've found the byte size of 88701 in there: U-Boot 2017.05-armbian (Oct 08 2021 - 19:51:17 +0000) for ODROID-XU4 CPU: Exynos5422 @ 800 MHz Model: Odroid XU4 based on EXYNOS5422 Board: Odroid XU4 based on EXYNOS5422 Type: unknown DRAM: 2 GiB MMC: EXYNOS DWMMC: 0, EXYNOS DWMMC: 1 MMC Device 0 ( SD ): 29.8 GiB Card did not respond to voltage select! mmc_init: -95, time 12 *** Warning - bad CRC, using default environment In: serial Out: serial Err: serial Net: No ethernet found. Press quickly 'Enter' twice to stop autoboot: 0 13370 bytes read in 44 ms (295.9 KiB/s) ## Executing script at 43e00000 68 bytes read in 84 ms (0 Bytes/s) 7337840 bytes read in 818 ms (8.6 MiB/s) 11083175 bytes read in 1156 ms (9.1 MiB/s) ** File not found /boot/.next ** ** Unrecognized filesystem type ** ** File not found .next ** 88701 bytes read in 185 ms (467.8 KiB/s) libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND Kernel image @ 0x40008000 [ 0x000000 - 0x6ff770 ] ## Loading init Ramdisk from Legacy Image at 42000000 ... Image Name: uInitrd Image Type: ARM Linux RAMDisk Image (gzip compressed) Data Size: 11083111 Bytes = 10.6 MiB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK ## Flattened Device Tree blob at 44000000 Booting using the fdt blob at 0x44000000 Using Device Tree in place at 44000000, end 44018a7c Starting kernel ... That was the serial log after I configured the full-disk-encryption as shown here in the tutorial. As reference in the following you see the serial u-boot log after 1st boot after I flashed the Armbian bullseye: U-Boot 2017.05-armbian (Oct 08 2021 - 19:51:17 +0000) for ODROID-XU4 CPU: Exynos5422 @ 800 MHz Model: Odroid XU4 based on EXYNOS5422 Board: Odroid XU4 based on EXYNOS5422 Type: unknown DRAM: 2 GiB MMC: EXYNOS DWMMC: 0, EXYNOS DWMMC: 1 MMC Device 0 ( SD ): 29.7 GiB Card did not respond to voltage select! mmc_init: -95, time 11 *** Warning - bad CRC, using default environment In: serial Out: serial Err: serial Net: No ethernet found. Press quickly 'Enter' twice to stop autoboot: 0 ** File not found /boot.ini ** ## Executing script at 43e00000 Wrong image format for "source" command 13370 bytes read in 27 ms (483.4 KiB/s) ## Executing script at 43e00000 ** File not found /boot/armbianEnv.txt ** ** Unrecognized filesystem type ** ** File not found armbianEnv.txt ** 7337840 bytes read in 581 ms (12 MiB/s) 8796977 bytes read in 700 ms (12 MiB/s) 0 bytes read in 20 ms (0 Bytes/s) Found mainline kernel configuration 87877 bytes read in 79 ms (1.1 MiB/s) libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND Kernel image @ 0x40008000 [ 0x000000 - 0x6ff770 ] ## Loading init Ramdisk from Legacy Image at 42000000 ... Image Name: uInitrd Image Type: ARM Linux RAMDisk Image (gzip compressed) Data Size: 8796913 Bytes = 8.4 MiB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK ## Flattened Device Tree blob at 44000000 Booting using the fdt blob at 0x44000000 Using Device Tree in place at 44000000, end 44018744 Starting kernel ... And for better insight, this is the u-boot log with the failing encrypted rootfs at u-boot verbosity=7 configured, so the log level is 7 (maximum): U-Boot 2017.05-armbian (Oct 08 2021 - 19:51:17 +0000) for ODROID-XU4 CPU: Exynos5422 @ 800 MHz Model: Odroid XU4 based on EXYNOS5422 Board: Odroid XU4 based on EXYNOS5422 Type: unknown DRAM: 2 GiB MMC: EXYNOS DWMMC: 0, EXYNOS DWMMC: 1 MMC Device 0 ( SD ): 29.8 GiB Card did not respond to voltage select! mmc_init: -95, time 12 *** Warning - bad CRC, using default environment In: serial Out: serial Err: serial Net: No ethernet found. Press quickly 'Enter' twice to stop autoboot: 0 13370 bytes read in 44 ms (295.9 KiB/s) ## Executing script at 43e00000 68 bytes read in 84 ms (0 Bytes/s) 7337840 bytes read in 818 ms (8.6 MiB/s) 11083175 bytes read in 1156 ms (9.1 MiB/s) ** File not found /boot/.next ** ** Unrecognized filesystem type ** ** File not found .next ** 88701 bytes read in 185 ms (467.8 KiB/s) libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND Kernel image @ 0x40008000 [ 0x000000 - 0x6ff770 ] ## Loading init Ramdisk from Legacy Image at 42000000 ... Image Name: uInitrd Image Type: ARM Linux RAMDisk Image (gzip compressed) Data Size: 11083111 Bytes = 10.6 MiB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK ## Flattened Device Tree blob at 44000000 Booting using the fdt blob at 0x44000000 Using Device Tree in place at 44000000, end 44018a7c Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x100 [ 0.000000] Linux version 5.4.151-odroidxu4 (root@big-37) (gcc version 8.3.0 (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36))) #21.08.3 SMP PREEMPT Fri Oct 8 19:1 [ 0.000000] CPU: ARMv7 Processor [410fc073] revision 3 (ARMv7), cr=10c5387d [ 0.000000] CPU: div instructions available: patching division code [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache [ 0.000000] OF: fdt: Machine model: Hardkernel Odroid XU3 [ 0.000000] Memory policy: Data cache writealloc [ 0.000000] cma: Reserved 128 MiB at 0xb6800000 [ 0.000000] Samsung CPU ID: 0xe5422001 [ 0.000000] Running under secure firmware. [ 0.000000] percpu: Embedded 20 pages/cpu s51852 r8192 d21876 u81920 [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 516928 [ 0.000000] Kernel command line: bootsplash.bootfile=bootsplash.armbian console=ttySAC2,115200n8 consoleblank=0 loglevel=7 root=/dev/mapper/rootfs rootfstype=ext4 rootwait rw smsc95xx. [ 0.000000] hdmi: using HDMI mode [ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes, linear) [ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes, linear) [ 0.000000] mem auto-init: stack:off, heap alloc:on, heap free:off [ 0.000000] Memory: 1895308K/2074624K available (11264K kernel code, 719K rwdata, 3020K rodata, 1024K init, 297K bss, 48244K reserved, 131072K cma-reserved, 1157120K highmem) [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=8, Nodes=1 [ 0.000000] rcu: Preemptible hierarchical RCU implementation. [ 0.000000] Tasks RCU enabled. [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies. [ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16 [ 0.000000] GIC: Using split EOI/Deactivate mode [ 0.000000] random: get_random_bytes called from start_kernel+0x36c/0x540 with crng_init=0 [ 0.000000] Switching to timer-based delay loop, resolution 41ns [ 0.000000] clocksource: mct-frc: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns [ 0.000007] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns [ 0.000032] genirq: irq_chip COMBINER did not update eff. affinity mask of irq 49 [ 0.001698] arch_timer: cp15 timer(s) running at 24.00MHz (phys). [ 0.001719] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns [ 0.001740] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns [ 0.001753] Ignoring duplicate/late registration of read_current_timer delay [ 0.002347] Console: colour dummy device 80x30 [ 0.002396] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000) [ 0.002411] pid_max: default: 32768 minimum: 301 [ 0.002580] LSM: Security Framework initializing [ 0.002628] Yama: becoming mindful. [ 0.003008] AppArmor: AppArmor initialized [ 0.003086] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes, linear) [ 0.003108] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes, linear) [ 0.003201] *** VALIDATE tmpfs *** [ 0.003960] *** VALIDATE proc *** [ 0.004321] *** VALIDATE cgroup1 *** [ 0.004336] *** VALIDATE cgroup2 *** [ 0.004398] CPU: Testing write buffer coherency: ok [ 0.005042] CPU0: thread -1, cpu 0, socket 1, mpidr 80000100 [ 0.005989] Setting up static identity map for 0x40100000 - 0x40100060 [ 0.006306] ARM CCI driver probed [ 0.006898] Exynos MCPM support installed [ 0.007209] rcu: Hierarchical SRCU implementation. [ 0.009734] soc soc0: Exynos: CPU[EXYNOS5800] PRO_ID[0xe5422001] REV[0x1] Detected [ 0.010409] smp: Bringing up secondary CPUs ... [ 0.011472] CPU1: thread -1, cpu 1, socket 1, mpidr 80000101 [ 0.012699] CPU2: thread -1, cpu 2, socket 1, mpidr 80000102 [ 0.013818] CPU3: thread -1, cpu 3, socket 1, mpidr 80000103 [ 0.014961] CPU4: thread -1, cpu 0, socket 0, mpidr 80000000 [ 0.014970] CPU4: detected I-Cache line size mismatch, workaround enabled [ 0.014977] CPU4: Spectre v2: firmware did not set auxiliary control register IBE bit, system vulnerable [ 0.016243] CPU5: thread -1, cpu 1, socket 0, mpidr 80000001 [ 0.016250] CPU5: detected I-Cache line size mismatch, workaround enabled [ 0.016257] CPU5: Spectre v2: firmware did not set auxiliary control register IBE bit, system vulnerable [ 0.017499] CPU6: thread -1, cpu 2, socket 0, mpidr 80000002 [ 0.017506] CPU6: detected I-Cache line size mismatch, workaround enabled [ 0.017513] CPU6: Spectre v2: firmware did not set auxiliary control register IBE bit, system vulnerable [ 0.018723] CPU7: thread -1, cpu 3, socket 0, mpidr 80000003 [ 0.018731] CPU7: detected I-Cache line size mismatch, workaround enabled [ 0.018738] CPU7: Spectre v2: firmware did not set auxiliary control register IBE bit, system vulnerable [ 0.018940] smp: Brought up 1 node, 8 CPUs [ 0.018959] SMP: Total of 8 processors activated (384.00 BogoMIPS). [ 0.018967] CPU: All CPU(s) started in HYP mode. [ 0.018974] CPU: Virtualization extensions available. [ 0.020013] devtmpfs: initialized [ 0.041439] VFP support v0.3: implementor 41 architecture 4 part 30 variant f rev 0 [ 0.041804] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns [ 0.041869] futex hash table entries: 2048 (order: 5, 131072 bytes, linear) [ 0.044501] xor: measuring software checksum speed [ 0.139954] arm4regs : 1518.000 MB/sec [ 0.239956] 8regs : 1238.000 MB/sec [ 0.339958] 32regs : 1233.200 MB/sec [ 0.439955] neon : 2214.000 MB/sec [ 0.439966] xor: using function: neon (2214.000 MB/sec) [ 0.440017] pinctrl core: initialized pinctrl subsystem [ 0.442449] NET: Registered protocol family 16 [ 0.445947] DMA: preallocated 2048 KiB pool for atomic coherent allocations [ 0.447457] audit: initializing netlink subsys (disabled) [ 0.447704] audit: type=2000 audit(0.440:1): state=initialized audit_enabled=0 res=1 [ 0.448546] cpuidle: using governor menu [ 0.449261] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers. [ 0.449273] hw-breakpoint: maximum watchpoint size is 8 bytes. [ 0.555203] EXYNOS5420 PMU initialized [ 0.653826] random: fast init done [ 0.787471] cryptd: max_cpu_qlen set to 1000 [ 0.960001] raid6: neonx8 gen() 1470 MB/s [ 1.129996] raid6: neonx8 xor() 1185 MB/s [ 1.299987] raid6: neonx4 gen() 1342 MB/s [ 1.469980] raid6: neonx4 xor() 1195 MB/s [ 1.640017] raid6: neonx2 gen() 1055 MB/s [ 1.809969] raid6: neonx2 xor() 1335 MB/s [ 1.979980] raid6: neonx1 gen() 719 MB/s [ 2.149970] raid6: neonx1 xor() 1000 MB/s [ 2.319985] raid6: int32x8 gen() 373 MB/s [ 2.490063] raid6: int32x8 xor() 269 MB/s [ 2.660079] raid6: int32x4 gen() 368 MB/s [ 2.830043] raid6: int32x4 xor() 283 MB/s [ 3.000111] raid6: int32x2 gen() 261 MB/s [ 3.170240] raid6: int32x2 xor() 137 MB/s [ 3.340134] raid6: int32x1 gen() 199 MB/s [ 3.510080] raid6: int32x1 xor() 204 MB/s [ 3.510091] raid6: using algorithm neonx8 gen() 1470 MB/s [ 3.510101] raid6: .... xor() 1185 MB/s, rmw enabled [ 3.510112] raid6: using neon recovery algorithm [ 3.512248] iommu: Default domain type: Translated [ 3.512652] usbcore: registered new interface driver usbfs [ 3.512713] usbcore: registered new interface driver hub [ 3.512772] usbcore: registered new device driver usb [ 3.513456] s3c-i2c 12c60000.i2c: slave address 0x00 [ 3.513473] s3c-i2c 12c60000.i2c: bus frequency set to 65 KHz [ 3.514367] s3c-i2c 12c60000.i2c: i2c-5: S3C I2C adapter [ 3.514548] s3c-i2c 12c80000.i2c: slave address 0x00 [ 3.514565] s3c-i2c 12c80000.i2c: bus frequency set to 65 KHz [ 3.514808] s3c-i2c 12c80000.i2c: i2c-2: S3C I2C adapter [ 3.515294] mc: Linux media interface: v0.10 [ 3.515336] videodev: Linux video capture interface: v2.00 [ 3.515832] Advanced Linux Sound Architecture Driver Initialized. [ 3.516401] NetLabel: Initializing [ 3.516413] NetLabel: domain hash size = 128 [ 3.516423] NetLabel: protocols = UNLABELED CIPSOv4 CALIPSO [ 3.516498] NetLabel: unlabeled traffic allowed by default [ 3.517142] clocksource: Switched to clocksource mct-frc [ 3.617818] *** VALIDATE bpf *** [ 3.618013] VFS: Disk quotas dquot_6.6.0 [ 3.618089] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) [ 3.618194] *** VALIDATE ramfs *** [ 3.618938] AppArmor: AppArmor Filesystem Enabled [ 3.632235] thermal_sys: Registered thermal governor 'step_wise' [ 3.634662] NET: Registered protocol family 2 [ 3.634821] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear) [ 3.636004] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear) [ 3.636051] TCP established hash table entries: 8192 (order: 3, 32768 bytes, linear) [ 3.636152] TCP bind hash table entries: 8192 (order: 4, 65536 bytes, linear) [ 3.636309] TCP: Hash tables configured (established 8192 bind 8192) [ 3.636450] UDP hash table entries: 512 (order: 2, 16384 bytes, linear) [ 3.636498] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear) [ 3.636739] NET: Registered protocol family 1 [ 3.637010] Trying to unpack rootfs image as initramfs... [ 4.306349] Freeing initrd memory: 10824K [ 4.308659] hw perfevents: enabled with armv7_cortex_a7 PMU driver, 5 counters available [ 4.309518] hw perfevents: enabled with armv7_cortex_a15 PMU driver, 7 counters available [ 4.311464] Initialise system trusted keyrings [ 4.311516] Key type blacklist registered [ 4.311902] workingset: timestamp_bits=14 max_order=19 bucket_order=5 [ 4.321136] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 4.322217] fuse: init (API version 7.31) [ 4.322344] *** VALIDATE fuse *** [ 4.322359] *** VALIDATE fuse *** [ 4.323632] Platform Keyring initialized [ 4.354192] Key type asymmetric registered [ 4.354205] Asymmetric key parser 'x509' registered [ 4.354356] bounce: pool size: 64 pages [ 4.354422] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247) [ 4.354595] io scheduler mq-deadline registered [ 4.354608] io scheduler kyber registered [ 4.354654] io scheduler bfq registered [ 4.357328] samsung-usb2-phy 12130000.phy: 12130000.phy supply vbus not found, using dummy regulator [ 4.358351] exynos5_usb3drd_phy 12100000.phy: 12100000.phy supply vbus not found, using dummy regulator [ 4.358441] exynos5_usb3drd_phy 12100000.phy: 12100000.phy supply vbus-boost not found, using dummy regulator [ 4.358836] exynos5_usb3drd_phy 12500000.phy: 12500000.phy supply vbus not found, using dummy regulator [ 4.358926] exynos5_usb3drd_phy 12500000.phy: 12500000.phy supply vbus-boost not found, using dummy regulator [ 4.368454] dma-pl330 121a0000.pdma: Loaded driver for PL330 DMAC-241330 [ 4.368471] dma-pl330 121a0000.pdma: DBUFF-32x4bytes Num_Chans-8 Num_Peri-32 Num_Events-32 [ 4.371230] dma-pl330 121b0000.pdma: Loaded driver for PL330 DMAC-241330 [ 4.371246] dma-pl330 121b0000.pdma: DBUFF-32x4bytes Num_Chans-8 Num_Peri-32 Num_Events-32 [ 4.372128] dma-pl330 10800000.mdma: Loaded driver for PL330 DMAC-241330 [ 4.372144] dma-pl330 10800000.mdma: DBUFF-64x8bytes Num_Chans-8 Num_Peri-1 Num_Events-32 [ 4.450863] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled [ 4.453288] 12c00000.serial: ttySAC0 at MMIO 0x12c00000 (irq = 62, base_baud = 0) is a S3C6400/10 [ 4.453707] 12c10000.serial: ttySAC1 at MMIO 0x12c10000 (irq = 63, base_baud = 0) is a S3C6400/10 [ 4.454115] 12c20000.serial: ttySAC2 at MMIO 0x12c20000 (irq = 64, base_baud = 0) is a S3C6400/10 [ 5.529074] printk: console [ttySAC2] enabled [ 5.533769] 12c30000.serial: ttySAC3 at MMIO 0x12c30000 (irq = 65, base_baud = 0) is a S3C6400/10 [ 5.543928] exynos-trng 10830600.rng: Exynos True Random Number Generator. [ 5.550902] exynos-mixer 14450000.mixer: Adding to iommu group 0 [ 5.577062] brd: module loaded [ 5.579537] libphy: Fixed MDIO Bus: probed [ 5.583049] usbcore: registered new interface driver r8152 [ 5.588245] usbcore: registered new interface driver cdc_ether [ 5.594012] usbcore: registered new interface driver cdc_subset [ 5.602256] dma-pl330 3880000.adma: Loaded driver for PL330 DMAC-241330 [ 5.607419] dma-pl330 3880000.adma: DBUFF-4x8bytes Num_Chans-6 Num_Peri-16 Num_Events-6 [ 5.612190] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 5.621991] ehci-exynos: EHCI EXYNOS driver [ 5.626466] exynos-ehci 12110000.usb: EHCI Host Controller [ 5.631608] exynos-ehci 12110000.usb: new USB bus registered, assigned bus number 1 [ 5.637272] dma-pl330 3880000.adma: PM domain MAU will not be powered off [ 5.639662] exynos-ehci 12110000.usb: irq 84, io mem 0x12110000 [ 5.677192] exynos-ehci 12110000.usb: USB 2.0 started, EHCI 1.00 [ 5.681986] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.04 [ 5.689994] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 5.697179] usb usb1: Product: EHCI Host Controller [ 5.701991] usb usb1: Manufacturer: Linux 5.4.151-odroidxu4 ehci_hcd [ 5.708348] usb usb1: SerialNumber: 12110000.usb [ 5.713525] hub 1-0:1.0: USB hub found [ 5.716679] hub 1-0:1.0: 3 ports detected [ 5.721615] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [ 5.726793] ohci-exynos: OHCI EXYNOS driver [ 5.731197] exynos-ohci 12120000.usb: USB Host Controller [ 5.736321] exynos-ohci 12120000.usb: new USB bus registered, assigned bus number 2 [ 5.744079] exynos-ohci 12120000.usb: irq 84, io mem 0x12120000 [ 5.821418] usb usb2: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 5.04 [ 5.828235] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 5.835386] usb usb2: Product: USB Host Controller [ 5.840190] usb usb2: Manufacturer: Linux 5.4.151-odroidxu4 ohci_hcd [ 5.846477] usb usb2: SerialNumber: 12120000.usb [ 5.851676] hub 2-0:1.0: USB hub found [ 5.854834] hub 2-0:1.0: 3 ports detected [ 5.861182] mousedev: PS/2 mouse device common for all mice [ 5.867224] i2c /dev entries driver [ 5.891776] vdd_ldo9: Bringing 3300000uV into 3000000-3000000uV [ 5.908577] vddq_mmc2: Bringing 3300000uV into 2800000-2800000uV [ 5.929307] vdd_sd: Bringing 3300000uV into 2800000-2800000uV [ 6.008868] s5m-rtc s2mps14-rtc: registered as rtc0 [ 6.012808] s2mps11-clk s2mps11-clk: DMA mask not set [ 6.022333] ina2xx 5-0040: error configuring the device: -6 [ 6.026879] ina2xx 5-0041: error configuring the device: -6 [ 6.032468] ina2xx 5-0044: error configuring the device: -6 [ 6.038015] ina2xx 5-0045: error configuring the device: -6 [ 6.051295] s3c2410-wdt 101d0000.watchdog: watchdog inactive, reset disabled, irq disabled [ 6.058760] device-mapper: uevent: version 1.0.3 [ 6.063000] device-mapper: ioctl: 4.41.0-ioctl (2019-09-16) initialised: dm-devel@redhat.com [ 6.084203] sdhci: Secure Digital Host Controller Interface driver [ 6.088925] sdhci: Copyright(c) Pierre Ossman [ 6.093424] Synopsys Designware Multimedia Card Interface Driver [ 6.099866] dwmmc_exynos 12200000.mmc: IDMAC supports 32-bit address mode. [ 6.106110] dwmmc_exynos 12200000.mmc: Using internal DMA controller. [ 6.112502] dwmmc_exynos 12200000.mmc: Version ID is 250a [ 6.117902] dwmmc_exynos 12200000.mmc: DW MMC controller at irq 86,64 bit host data width,64 deep fifo [ 6.127382] dwmmc_exynos 12200000.mmc: allocated mmc-pwrseq [ 6.150356] mmc_host mmc0: Bus speed (slot 0) = 50000000Hz (slot req 400000Hz, actual 396825HZ div = 63) [ 6.171777] dwmmc_exynos 12220000.mmc: IDMAC supports 32-bit address mode. [ 6.177261] dwmmc_exynos 12220000.mmc: Using internal DMA controller. [ 6.183585] dwmmc_exynos 12220000.mmc: Version ID is 250a [ 6.189040] dwmmc_exynos 12220000.mmc: DW MMC controller at irq 87,64 bit host data width,64 deep fifo [ 6.216799] mmc_host mmc1: Bus speed (slot 0) = 50000000Hz (slot req 400000Hz, actual 396825HZ div = 63) [ 6.241257] s5p-secss 10830000.sss: s5p-sss driver registered [ 6.246173] hidraw: raw HID events driver (C) Jiri Kosina [ 6.269277] exynos-nocp: new NoC Probe device registered: 10ca1000.nocp [ 6.274569] exynos-nocp: new NoC Probe device registered: 10ca1400.nocp [ 6.281189] exynos-nocp: new NoC Probe device registered: 10ca1800.nocp [ 6.287782] exynos-nocp: new NoC Probe device registered: 10ca1c00.nocp [ 6.294715] exynos-ppmu: new PPMU device registered 10d00000.ppmu (ppmu-event3-dmc0_0) [ 6.302262] exynos-ppmu: new PPMU device registered 10d10000.ppmu (ppmu-event3-dmc0_1) [ 6.310518] exynos-ppmu: new PPMU device registered 10d60000.ppmu (ppmu-event3-dmc1_0) [ 6.318039] exynos-ppmu: new PPMU device registered 10d70000.ppmu (ppmu-event3-dmc1_1) [ 6.328059] exynos5-dmc 10c20000.memory-controller: DMC initialized, in irq mode: 0 [ 6.334736] exynos-adc 12d10000.adc: IRQ index 1 not found [ 6.345201] samsung-i2s 3830000.i2s-sec: DMA channels sourced from device 3830000.i2s [ 6.353349] mmc_host mmc1: Bus speed (slot 0) = 200000000Hz (slot req 200000000Hz, actual 200000000HZ div = 0) [ 6.364539] mmc1: new ultra high speed SDR104 SDHC card at address 59b4 [ 6.364591] NET: Registered protocol family 17 [ 6.371330] mmcblk1: mmc1:59b4 EB2MW 29.8 GiB [ 6.374116] NET: Registered protocol family 15 [ 6.381453] mmcblk1: p1 p2 [ 6.382960] Key type dns_resolver registered [ 6.390570] Registering SWP/SWPB emulation handler [ 6.394873] registered taskstats version 1 [ 6.398808] Loading compiled-in X.509 certificates [ 6.405808] Loaded X.509 cert 'Build time autogenerated kernel key: 58f88920dc5a2eb8aefa1a83381c42bc4c4ae8b7' [ 6.414536] Key type ._fscrypt registered [ 6.418241] Key type .fscrypt registered [ 6.424961] Btrfs loaded, crc32c=crc32c-generic [ 6.497234] Key type big_key registered [ 6.521892] Key type encrypted registered [ 6.524431] AppArmor: AppArmor sha1 policy hashing enabled [ 6.590261] exynos-asv 10000000.chipid: cpu0 opp0, freq: 1500 missing [ 6.595267] exynos-asv 10000000.chipid: cpu4 opp0, freq: 2100 missing [ 6.604303] OF: graph: no port node found in /soc/hdmi@14530000 [ 6.610111] [drm] Exynos DRM: using 14450000.mixer device for DMA mapping operations [ 6.616539] exynos-drm exynos-drm: bound 14450000.mixer (ops 0xc0cb2b28) [ 6.623183] exynos-drm exynos-drm: bound 14530000.hdmi (ops 0xc0cb31ac) [ 6.629732] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013). [ 6.636292] [drm] No driver support for vblank timestamp query. [ 6.642252] [drm] Cannot find any crtc or sizes [ 6.647498] [drm] Cannot find any crtc or sizes [ 6.651360] [drm] Initialized exynos 1.1.0 20180330 for exynos-drm on minor 0 [ 6.660136] dwc3 12000000.dwc3: Failed to get clk 'ref': -2 [ 6.664913] xhci-hcd xhci-hcd.8.auto: xHCI Host Controller [ 6.669727] xhci-hcd xhci-hcd.8.auto: new USB bus registered, assigned bus number 3 [ 6.677618] xhci-hcd xhci-hcd.8.auto: hcc params 0x0220f04c hci version 0x100 quirks 0x0000000002010010 [ 6.686752] xhci-hcd xhci-hcd.8.auto: irq 165, io mem 0x12000000 [ 6.692910] xhci-hcd xhci-hcd.8.auto: xHCI Host Controller [ 6.698136] xhci-hcd xhci-hcd.8.auto: new USB bus registered, assigned bus number 4 [ 6.705733] xhci-hcd xhci-hcd.8.auto: Host supports USB 3.0 SuperSpeed [ 6.712424] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.04 [ 6.720498] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 6.727686] usb usb3: Product: xHCI Host Controller [ 6.732505] usb usb3: Manufacturer: Linux 5.4.151-odroidxu4 xhci-hcd [ 6.738857] usb usb3: SerialNumber: xhci-hcd.8.auto [ 6.744154] hub 3-0:1.0: USB hub found [ 6.747477] hub 3-0:1.0: 1 port detected [ 6.751954] usb usb4: We don't know the algorithms for LPM for this host, disabling LPM. [ 6.759589] usb usb4: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.04 [ 6.767657] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 6.774794] usb usb4: Product: xHCI Host Controller [ 6.779691] usb usb4: Manufacturer: Linux 5.4.151-odroidxu4 xhci-hcd [ 6.785972] usb usb4: SerialNumber: xhci-hcd.8.auto [ 6.791572] hub 4-0:1.0: USB hub found [ 6.794584] hub 4-0:1.0: 1 port detected [ 6.801348] dwc3 12400000.dwc3: Failed to get clk 'ref': -2 [ 6.805954] dwc3 12400000.dwc3: changing max_speed on rev 5533200a [ 6.819902] s3c-rtc 101e0000.rtc: rtc disabled, re-enabling [ 6.824216] rtc rtc1: invalid alarm value: 1900-01-01T00:00:00 [ 6.830310] s3c-rtc 101e0000.rtc: registered as rtc1 [ 6.838340] exynos-bus: new bus device registered: soc:bus_wcore ( 84000 KHz ~ 400000 KHz) [ 6.846242] exynos-bus: new bus device registered: soc:bus_noc ( 67000 KHz ~ 100000 KHz) [ 6.854073] exynos-bus: new bus device registered: soc:bus_fsys_apb (100000 KHz ~ 200000 KHz) [ 6.862267] exynos-bus: new bus device registered: soc:bus_fsys (100000 KHz ~ 200000 KHz) [ 6.870809] exynos-bus: new bus device registered: soc:bus_fsys2 ( 75000 KHz ~ 150000 KHz) [ 6.879392] exynos-bus: new bus device registered: soc:bus_mfc ( 96000 KHz ~ 333000 KHz) [ 6.887256] exynos-bus: new bus device registered: soc:bus_gen ( 89000 KHz ~ 267000 KHz) [ 6.894891] exynos-bus: new bus device registered: soc:bus_peri ( 67000 KHz ~ 67000 KHz) [ 6.903952] exynos-bus: new bus device registered: soc:bus_g2d ( 84000 KHz ~ 333000 KHz) [ 6.911730] exynos-bus: new bus device registered: soc:bus_g2d_acp ( 67000 KHz ~ 267000 KHz) [ 6.920114] exynos-bus: new bus device registered: soc:bus_jpeg ( 75000 KHz ~ 300000 KHz) [ 6.928342] exynos-bus: new bus device registered: soc:bus_jpeg_apb ( 84000 KHz ~ 167000 KHz) [ 6.936463] exynos-bus: new bus device registered: soc:bus_disp1_fimd (120000 KHz ~ 200000 KHz) [ 6.945301] exynos-bus: new bus device registered: soc:bus_disp1 (120000 KHz ~ 300000 KHz) [ 6.953534] exynos-bus: new bus device registered: soc:bus_gscl_scaler (150000 KHz ~ 300000 KHz) [ 6.962562] exynos-bus: new bus device registered: soc:bus_mscl ( 84000 KHz ~ 400000 KHz) [ 6.971554] max98090 1-0010: Failed to reset codec: -6 [ 6.975416] max98090 1-0010: Failed to read device revision: -1 [ 6.981181] max98090 1-0010: ASoC: failed to probe component -1 [ 6.987097] odroid-audio sound: ASoC: failed to instantiate card -1 [ 6.993587] odroid-audio sound: snd_soc_register_card() failed: -1 [ 6.999484] odroid-audio: probe of sound failed with error -1 [ 7.008618] s5m-rtc s2mps14-rtc: setting system clock to 2021-10-24T07:20:51 UTC (1635060051) [ 7.069595] ALSA device list: [ 7.071146] No soundcards found. [ 7.078979] Freeing unused kernel memory: 1024K [ 7.108334] Run /init as init process Loading, please wait... Starting version 247.3-6 [ 7.915917] gpiomem-exynos 13400000.gpiomem: Initialised: GPIO register area is 3 [ 7.924047] input: gpio_keys as /devices/platform/gpio_keys/input/input0 [ 7.924083] gpiomem-exynos 13400000.gpiomem: Initialised: Registers at 0x13400000 [ 7.937414] gpiomem-exynos 13400000.gpiomem: Initialised: Registers at 0x14010000 [ 7.937991] usb 4-1: new SuperSpeed Gen 1 USB device number 2 using xhci-hcd [ 7.947536] gpiomem-exynos 13400000.gpiomem: Initialised: Registers at 0x03860000 [ 7.987314] s5p-jpeg 11f50000.jpeg: Adding to iommu group 1 [ 7.992579] s5p-jpeg 11f50000.jpeg: encoder device registered as /dev/video0 [ 7.994408] mali 11800000.gpu: GPU identified as 0x0620 r0p1 status 0 [ 7.994817] usb 4-1: New USB device found, idVendor=152d, idProduct=0578, bcdDevice=31.02 [ 7.994824] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 7.994829] usb 4-1: Product: USB to ATA/ATAPI Bridge [ 7.994833] usb 4-1: Manufacturer: JMicron [ 7.994838] usb 4-1: SerialNumber: 0123456789ABCDEF [ 7.999310] s5p-mfc 11000000.codec: Adding to iommu group 2 [ 8.004945] s5p-jpeg 11f50000.jpeg: decoder device registered as /dev/video1 [ 8.005771] mali 11800000.gpu: Protected mode not available [ 8.007479] mali 11800000.gpu: Probed as mali0 [ 8.034044] exynos-gsc 13e00000.video-scaler: Adding to iommu group 3 [ 8.039863] s5p-jpeg 11f50000.jpeg: Samsung S5P JPEG codec [ 8.052286] exynos-gsc 13e10000.video-scaler: Adding to iommu group 4 [ 8.056844] s5p-jpeg 11f60000.jpeg: Adding to iommu group 5 [ 8.060393] s5p-mfc 11000000.codec: preallocated 8 MiB buffer for the firmware and context buffers [ 8.060499] s5p-mfc 11000000.codec: Direct firmware load for s5p-mfc-v8.fw failed with error -2 [ 8.060506] s5p_mfc_load_firmware:69: Firmware is not present in the /lib/firmware directory nor compiled in kernel [ 8.060672] s5p-mfc 11000000.codec: decoder registered as /dev/video3 [ 8.060763] s5p-mfc 11000000.codec: encoder registered as /dev/video4 [ 8.122053] s5p-jpeg 11f60000.jpeg: encoder device registered as /dev/video6 [ 8.128431] s5p-jpeg 11f60000.jpeg: decoder device registered as /dev/video7 [ 8.135245] s5p-jpeg 11f60000.jpeg: Samsung S5P JPEG codec [ 8.225646] SCSI subsystem initialized [ 8.238568] usbcore: registered new interface driver usb-storage [ 8.252322] scsi host0: uas [ 8.254009] usbcore: registered new interface driver uas [ 8.254934] scsi 0:0:0:0: Direct-Access JMicron Generic 3102 PQ: 0 ANSI: 6 [ 14.230640] sd 0:0:0:0: [sda] Unit Not Ready [ 14.233462] sd 0:0:0:0: [sda] Sense Key : 0x4 [current] [ 14.239087] sd 0:0:0:0: [sda] ASC=0x44 <<vendor>>ASCQ=0x81 [ 14.245456] sd 0:0:0:0: [sda] Read Capacity(16) failed: Result: hostbyte=0x00 driverbyte=0x08 [ 14.252846] sd 0:0:0:0: [sda] Sense Key : 0x4 [current] [ 14.258078] sd 0:0:0:0: [sda] ASC=0x44 <<vendor>>ASCQ=0x81 [ 14.264371] sd 0:0:0:0: [sda] Read Capacity(10) failed: Result: hostbyte=0x00 driverbyte=0x08 [ 14.272113] sd 0:0:0:0: [sda] Sense Key : 0x4 [current] [ 14.277400] sd 0:0:0:0: [sda] ASC=0x44 <<vendor>>ASCQ=0x81 [ 14.283539] sd 0:0:0:0: [sda] 0 512-byte logical blocks: (0 B/0 B) [ 14.289098] sd 0:0:0:0: [sda] 0-byte physical blocks [ 14.294770] sd 0:0:0:0: [sda] Test WP failed, assume Write Enabled [ 14.300461] sd 0:0:0:0: [sda] Asking for cache data failed [ 14.305626] sd 0:0:0:0: [sda] Assuming drive cache: write through [ 14.312474] sd 0:0:0:0: [sda] Optimal transfer size 33553920 bytes not a multiple of physical block size (0 bytes) [ 14.314864] random: crng init done [ 14.398777] sd 0:0:0:0: [sda] Unit Not Ready [ 14.401605] sd 0:0:0:0: [sda] Sense Key : 0x4 [current] [ 14.406884] sd 0:0:0:0: [sda] ASC=0x44 <<vendor>>ASCQ=0x81 [ 14.413925] sd 0:0:0:0: [sda] Read Capacity(16) failed: Result: hostbyte=0x00 driverbyte=0x08 [ 14.421021] sd 0:0:0:0: [sda] Sense Key : 0x4 [current] [ 14.426261] sd 0:0:0:0: [sda] ASC=0x44 <<vendor>>ASCQ=0x81 [ 14.432906] sd 0:0:0:0: [sda] Read Capacity(10) failed: Result: hostbyte=0x00 driverbyte=0x08 [ 14.440348] sd 0:0:0:0: [sda] Sense Key : 0x4 [current] [ 14.445584] sd 0:0:0:0: [sda] ASC=0x44 <<vendor>>ASCQ=0x81 [ 14.454464] sd 0:0:0:0: [sda] Attached SCSI disk Begin: Loading essential drivers ... [ 15.480815] loop: module loaded [ 15.635118] zram: Added device: zram0 [ 15.650444] sd 0:0:0:0: Attached scsi generic sg0 type 0 [ 15.878131] RPC: Registered named UNIX socket transport module. [ 15.882566] RPC: Registered udp transport module. [ 15.887285] RPC: Registered tcp transport module. [ 15.891926] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 15.952890] NET: Registered protocol family 10 [ 15.956652] Segment Routing with IPv6 done. Begin: Running /scripts/init-premount ... done. Begin: Mounting root file system ... Begin: Waiting up to 180 secs for eth0 to become available ... Begin: Running /scripts/local-top ... Please unlock disk rootfs: Failure: Interface eth0 did not appear in time done. ipconfig: eth0: SIOCGIFINDEX: No such device ipconfig: no devices to configure ipconfig: eth0: SIOCGIFINDEX: No such device ipconfig: no devices to configure ipconfig: eth0: SIOCGIFINDEX: No such device ipconfig: no devices to configure ipconfig: eth0: SIOCGIFINDEX: No such device ipconfig: no devices to configure ipconfig: eth0: SIOCGIFINDEX: No such device ipconfig: no devices to configure ipconfig: eth0: SIOCGIFINDEX: No such device ipconfig: no devices to configure ipconfig: eth0: SIOCGIFINDEX: No such device ipconfig: no devices to configure ipconfig: eth0: SIOCGIFINDEX: No such device ipconfig: no devices to configure ipconfig: eth0: SIOCGIFINDEX: No such device ipconfig: no devices to configure ipconfig: eth0: SIOCGIFINDEX: No such device ipconfig: no devices to configure /scripts/init-premount/dropbear: .: line 329: can't open '/run/net-eth0.conf': No such file or directory 0 Quote
phelum Posted October 24, 2021 Posted October 24, 2021 Hi, In one of your previous posts you listed some U-Boot code that changed the fdtfile variable depending on the board name and you noted that your board wasn't mentioned. The U-Boot log shows it is loading a flattened device tree file that is 88701 bytes long. Can you check in your /boot/dts directory and check if the .dts file for your board is 88701 bytes ? Somefile.dts files provide hardware details for the drivers and using the wrong one might cause all sorts of problems. What I.m checking here is that U-Boot is loading the correct .dts file for your board. -- Steven 1 Quote
g00d Posted October 24, 2021 Posted October 24, 2021 Hi Steven, my /boot partition contains following files: root@myhost:/boot# ls -lh insgesamt 40760 -rw-r--r-- 1 root root 69 24. Okt 10:12 armbianEnv.txt -rw-r--r-- 1 root root 1536 8. Okt 22:11 armbian_first_run.txt.template lrwxrwxrwx 1 root root 1 23. Okt 18:49 boot -> . -rw-r--r-- 1 root root 38518 8. Okt 22:10 boot.bmp -rw-r--r-- 1 root root 13370 8. Okt 22:11 boot.ini -rw-r--r-- 1 root root 169628 8. Okt 21:52 config-5.4.151-odroidxu4 lrwxrwxrwx 1 root root 21 8. Okt 22:10 dtb -> dtb-5.4.151-odroidxu4 drwxr-xr-x 3 root root 3072 8. Okt 22:10 dtb-5.4.151-odroidxu4 -rw------- 1 root root 11083111 23. Okt 19:07 initrd.img-5.4.151-odroidxu4 -rw-r--r-- 1 root root 8796913 8. Okt 22:12 initrd.img-5.4.151-odroidxu4.bak drwx------ 2 root root 12288 23. Okt 18:49 lost+found -rw-r--r-- 1 root root 3193792 8. Okt 21:52 System.map-5.4.151-odroidxu4 lrwxrwxrwx 1 root root 25 23. Okt 19:07 uInitrd -> uInitrd-5.4.151-odroidxu4 -rw-r--r-- 1 root root 11083175 23. Okt 19:07 uInitrd-5.4.151-odroidxu4 -rwxr-xr-x 1 root root 7337840 8. Okt 21:52 vmlinuz-5.4.151-odroidxu4 lrwxrwxrwx 1 root root 25 8. Okt 22:10 zImage -> vmlinuz-5.4.151-odroidxu4 the original boot.ini of the Armbian Bullseye image at the end looks like that: [...] # this is for mainline only if test "${board_name}" = "xu4"; then setenv fdtfile "exynos5422-odroidxu4.dtb"; fi if test "${board_name}" = "xu3"; then setenv fdtfile "exynos5422-odroidxu3.dtb"; fi if test "${board_name}" = "xu3l"; then setenv fdtfile "exynos5422-odroidxu3-lite.dtb"; fi if test "${board_name}" = "hc1"; then setenv fdtfile "exynos5422-odroidhc1.dtb"; fi # legacy shares a single DT for all boards if ext4load mmc 0:1 0x00000000 "/boot/.next" || fatload mmc 0:1 0x00000000 ".next" || ext4load mmc 0:1 0x00000000 ".next"; then echo "Found mainline kernel configuration"; else setenv fdtfile "exynos5422-odroidxu3.dtb"; fi ext4load mmc 0:1 0x44000000 /boot/dtb/${fdtfile} || fatload mmc 0:1 0x44000000 dtb/${fdtfile} || ext4load mmc 0:1 0x44000000 dtb/${fdtfile} # set FDT address fdt addr 0x44000000 As I understand the above code it should detect the correct board and assign the corresponding dtb to the boot process. Nevertheless, to ensure the correct .dtb file is used during the boot process I did following. First I backed up the original ./dtb folder that contained following files and folder: -rw-r--r-- 1 root root 40978 8. Okt 21:52 exynos3250-artik5-eval.dtb -rw-r--r-- 1 root root 52553 8. Okt 21:52 exynos3250-monk.dtb -rw-r--r-- 1 root root 58000 8. Okt 21:52 exynos3250-rinato.dtb -rw-r--r-- 1 root root 60049 8. Okt 21:52 exynos4210-origen.dtb -rw-r--r-- 1 root root 56580 8. Okt 21:52 exynos4210-smdkv310.dtb -rw-r--r-- 1 root root 62387 8. Okt 21:52 exynos4210-trats.dtb -rw-r--r-- 1 root root 63638 8. Okt 21:52 exynos4210-universal_c210.dtb -rw-r--r-- 1 root root 101479 8. Okt 21:52 exynos4412-i9300.dtb -rw-r--r-- 1 root root 101479 8. Okt 21:52 exynos4412-i9305.dtb -rw-r--r-- 1 root root 75175 8. Okt 21:52 exynos4412-itop-elite.dtb -rw-r--r-- 1 root root 99301 8. Okt 21:52 exynos4412-n710x.dtb -rw-r--r-- 1 root root 73351 8. Okt 21:52 exynos4412-odroidu3.dtb -rw-r--r-- 1 root root 73348 8. Okt 21:52 exynos4412-odroidx2.dtb -rw-r--r-- 1 root root 73159 8. Okt 21:52 exynos4412-odroidx.dtb -rw-r--r-- 1 root root 72354 8. Okt 21:52 exynos4412-origen.dtb -rw-r--r-- 1 root root 64137 8. Okt 21:52 exynos4412-smdk4412.dtb -rw-r--r-- 1 root root 62778 8. Okt 21:52 exynos4412-tiny4412.dtb -rw-r--r-- 1 root root 101532 8. Okt 21:52 exynos4412-trats2.dtb -rw-r--r-- 1 root root 62905 8. Okt 21:52 exynos5250-arndale.dtb -rw-r--r-- 1 root root 58414 8. Okt 21:52 exynos5250-smdk5250.dtb -rw-r--r-- 1 root root 64437 8. Okt 21:52 exynos5250-snow.dtb -rw-r--r-- 1 root root 64474 8. Okt 21:52 exynos5250-snow-rev5.dtb -rw-r--r-- 1 root root 60444 8. Okt 21:52 exynos5250-spring.dtb -rw-r--r-- 1 root root 22636 8. Okt 21:52 exynos5260-xyref5260.dtb -rw-r--r-- 1 root root 44973 8. Okt 21:52 exynos5410-odroidxu.dtb -rw-r--r-- 1 root root 33750 8. Okt 21:52 exynos5410-smdk5410.dtb -rw-r--r-- 1 root root 78923 8. Okt 21:52 exynos5420-arndale-octa.dtb -rw-r--r-- 1 root root 87616 8. Okt 21:52 exynos5420-peach-pit.dtb -rw-r--r-- 1 root root 73226 8. Okt 21:52 exynos5420-smdk5420.dtb -rw-r--r-- 1 root root 82592 8. Okt 21:52 exynos5422-odroidhc1.dtb -rw-r--r-- 1 root root 88701 8. Okt 21:52 exynos5422-odroidxu3.dtb -rw-r--r-- 1 root root 88210 8. Okt 21:52 exynos5422-odroidxu3-lite.dtb -rw-r--r-- 1 root root 87877 8. Okt 21:52 exynos5422-odroidxu4.dtb -rw-r--r-- 1 root root 88102 8. Okt 21:52 exynos5800-peach-pi.dtb drwxr-xr-x 2 root root 1024 8. Okt 22:10 overlays then I wiped the /boot/dtb content except the correct .dtb which is the odroidxu4.dtb for my board ODROID-HC2, I also kept the overlay folder in that directory. That being said, my /boot/dtb looks like that: root@myhost:/boot/dtb]# ls -lh * -rw-r--r-- 1 root root 86K 24. Okt 10:31 exynos5422-odroidxu4.dtb overlays: -rw-r--r-- 1 root root 1,7K 24. Okt 10:33 ads7846.dtbo -rw-r--r-- 1 root root 1,3K 24. Okt 10:33 hktft32.dtbo -rw-r--r-- 1 root root 1,8K 24. Okt 10:33 hktft35.dtbo -rw-r--r-- 1 root root 1,5K 24. Okt 10:33 hktft-cs-ogst.dtbo -rw-r--r-- 1 root root 224 24. Okt 10:33 i2c0.dtbo -rw-r--r-- 1 root root 226 24. Okt 10:33 i2c1.dtbo -rw-r--r-- 1 root root 417 24. Okt 10:33 onewire.dtbo -rw-r--r-- 1 root root 691 24. Okt 10:33 spi0.dtbo -rw-r--r-- 1 root root 792 24. Okt 10:33 sx865x-i2c1.dtbo -rw-r--r-- 1 root root 227 24. Okt 10:33 uart0.dtbo now when I boot the u-boot serial log throws these errors: U-Boot 2017.05-armbian (Oct 08 2021 - 19:51:17 +0000) for ODROID-XU4 CPU: Exynos5422 @ 800 MHz Model: Odroid XU4 based on EXYNOS5422 Board: Odroid XU4 based on EXYNOS5422 Type: unknown DRAM: 2 GiB MMC: EXYNOS DWMMC: 0, EXYNOS DWMMC: 1 MMC Device 0 ( SD ): 29.8 GiB Card did not respond to voltage select! mmc_init: -95, time 11 *** Warning - bad CRC, using default environment In: serial Out: serial Err: serial Net: No ethernet found. Press quickly 'Enter' twice to stop autoboot: 0 13370 bytes read in 45 ms (290 KiB/s) ## Executing script at 43e00000 69 bytes read in 86 ms (0 Bytes/s) 7337840 bytes read in 813 ms (8.6 MiB/s) 11083175 bytes read in 1149 ms (9.2 MiB/s) ** File not found /boot/.next ** ** Unrecognized filesystem type ** ** File not found .next ** ** File not found /boot/dtb/exynos5422-odroidxu3.dtb ** ** Unrecognized filesystem type ** ** File not found dtb/exynos5422-odroidxu3.dtb ** libfdt fdt_check_header(): FDT_ERR_BADMAGIC No FDT memory address configured. Please configure the FDT address via "fdt addr <address>" command. Aborting! Kernel image @ 0x40008000 [ 0x000000 - 0x6ff770 ] ## Loading init Ramdisk from Legacy Image at 42000000 ... Image Name: uInitrd Image Type: ARM Linux RAMDisk Image (gzip compressed) Data Size: 11083111 Bytes = 10.6 MiB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK ERROR: Did not find a cmdline Flattened Device Tree Could not find a valid device tree 13370 bytes read in 62 ms (210 KiB/s) ## Executing script at 43e00000 69 bytes read in 86 ms (0 Bytes/s) 7337840 bytes read in 815 ms (8.6 MiB/s) 11083175 bytes read in 1178 ms (9 MiB/s) ** File not found /boot/.next ** ** Unrecognized filesystem type ** ** File not found .next ** ** File not found /boot/dtb/exynos5422-odroidxu3.dtb ** ** Unrecognized filesystem type ** ** File not found dtb/exynos5422-odroidxu3.dtb ** libfdt fdt_check_header(): FDT_ERR_BADMAGIC No FDT memory address configured. Please configure the FDT address via "fdt addr <address>" command. Aborting! Kernel image @ 0x40008000 [ 0x000000 - 0x6ff770 ] ## Loading init Ramdisk from Legacy Image at 42000000 ... Image Name: uInitrd Image Type: ARM Linux RAMDisk Image (gzip compressed) Data Size: 11083111 Bytes = 10.6 MiB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK ERROR: Did not find a cmdline Flattened Device Tree Could not find a valid device tree ** File not found /boot.scr ** ## Executing script at 43e00000 69 bytes read in 86 ms (0 Bytes/s) 7337840 bytes read in 813 ms (8.6 MiB/s) 11083175 bytes read in 1149 ms (9.2 MiB/s) ** File not found /boot/.next ** ** Unrecognized filesystem type ** ** File not found .next ** ** File not found /boot/dtb/exynos5422-odroidxu3.dtb ** ** Unrecognized filesystem type ** ** File not found dtb/exynos5422-odroidxu3.dtb ** libfdt fdt_check_header(): FDT_ERR_BADMAGIC No FDT memory address configured. Please configure the FDT address via "fdt addr <address>" command. Aborting! Kernel image @ 0x40008000 [ 0x000000 - 0x6ff770 ] ## Loading init Ramdisk from Legacy Image at 42000000 ... Image Name: uInitrd Image Type: ARM Linux RAMDisk Image (gzip compressed) Data Size: 11083111 Bytes = 10.6 MiB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK ERROR: Did not find a cmdline Flattened Device Tree Could not find a valid device tree Unknown command '�ኧ' - try 'help' Failed to mount ext2 filesystem... ** Unrecognized filesystem type ** ## Executing script at 43e00000 69 bytes read in 87 ms (0 Bytes/s) 7337840 bytes read in 811 ms (8.6 MiB/s) 11083175 bytes read in 1147 ms (9.2 MiB/s) ** File not found /boot/.next ** ** Unrecognized filesystem type ** ** File not found .next ** ** File not found /boot/dtb/exynos5422-odroidxu3.dtb ** ** Unrecognized filesystem type ** ** File not found dtb/exynos5422-odroidxu3.dtb ** libfdt fdt_check_header(): FDT_ERR_BADMAGIC No FDT memory address configured. Please configure the FDT address via "fdt addr <address>" command. Aborting! Kernel image @ 0x40008000 [ 0x000000 - 0x6ff770 ] ## Loading init Ramdisk from Legacy Image at 42000000 ... Image Name: uInitrd Image Type: ARM Linux RAMDisk Image (gzip compressed) Data Size: 11083111 Bytes = 10.6 MiB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK ERROR: Did not find a cmdline Flattened Device Tree Could not find a valid device tree Unknown command '�ኧ' - try 'help' Failed to mount ext2 filesystem... ** Unrecognized filesystem type ** ## Executing script at 43e00000 69 bytes read in 87 ms (0 Bytes/s) 7337840 bytes read in 817 ms (8.6 MiB/s) 11083175 bytes read in 1151 ms (9.2 MiB/s) ** File not found /boot/.next ** ** Unrecognized filesystem type ** ** File not found .next ** ** File not found /boot/dtb/exynos5422-odroidxu3.dtb ** ** Unrecognized filesystem type ** ** File not found dtb/exynos5422-odroidxu3.dtb ** libfdt fdt_check_header(): FDT_ERR_BADMAGIC No FDT memory address configured. Please configure the FDT address via "fdt addr <address>" command. Aborting! Kernel image @ 0x40008000 [ 0x000000 - 0x6ff770 ] ## Loading init Ramdisk from Legacy Image at 42000000 ... Image Name: uInitrd Image Type: ARM Linux RAMDisk Image (gzip compressed) Data Size: 11083111 Bytes = 10.6 MiB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK ERROR: Did not find a cmdline Flattened Device Tree Could not find a valid device tree Unknown command '�ኧ' - try 'help' Failed to mount ext2 filesystem... ** Unrecognized filesystem type ** ## Executing script at 43e00000 69 bytes read in 86 ms (0 Bytes/s) 7337840 bytes read in 815 ms (8.6 MiB/s) 11083175 bytes read in 1148 ms (9.2 MiB/s) ** File not found /boot/.next ** ** Unrecognized filesystem type ** ** File not found .next ** ** File not found /boot/dtb/exynos5422-odroidxu3.dtb ** ** Unrecognized filesystem type ** ** File not found dtb/exynos5422-odroidxu3.dtb ** libfdt fdt_check_header(): FDT_ERR_BADMAGIC No FDT memory address configured. Please configure the FDT address via "fdt addr <address>" command. Aborting! Kernel image @ 0x40008000 [ 0x000000 - 0x6ff770 ] ## Loading init Ramdisk from Legacy Image at 42000000 ... Image Name: uInitrd Image Type: ARM Linux RAMDisk Image (gzip compressed) Data Size: 11083111 Bytes = 10.6 MiB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK ERROR: Did not find a cmdline Flattened Device Tree Could not find a valid device tree Unknown command '�ኧ' - try 'help' mmc_init: -110, time 121 switch to partitions #0, OK mmc0 is current device Scanning mmc 0:1... starting USB... USB0: USB EHCI 1.00 USB1: Register 2000140 NbrPorts 2 Starting the controller USB XHCI 1.00 USB2: Register 2000140 NbrPorts 2 Starting the controller USB XHCI 1.00 scanning bus 0 for devices... 1 USB Device(s) found scanning bus 1 for devices... cannot reset port 1!? 1 USB Device(s) found scanning bus 2 for devices... 2 USB Device(s) found scanning usb for storage devices... 0 Storage Device(s) found scanning usb for ethernet devices... 1 Ethernet Device(s) found USB device 0: unknown device Waiting for Ethernet connection... done. BOOTP broadcast 1 Now it's clear, that it is trying to find the wrong odroidxu3 although my board ODROID-HC2 should be discovered as an odroidxu4. Well, I compared the u-boot serial log of the unencrypted initial Armbian Bullseye image which outputs the string "Found mainline kernel configuration". This string is generated by the boot.ini script, means that the board was discovered correctly and the correct image file was set as result. However, after the encryption it looks to me that this test fails somehow and the legacy image odroidxu3 is assigned, which is wrong of course. I modified the boot.ini and manually assigned the odroidxu4.dtb file to see what happens: # this is for mainline only #if test "${board_name}" = "xu4"; then setenv fdtfile "exynos5422-odroidxu4.dtb"; fi #if test "${board_name}" = "xu3"; then setenv fdtfile "exynos5422-odroidxu3.dtb"; fi #if test "${board_name}" = "xu3l"; then setenv fdtfile "exynos5422-odroidxu3-lite.dtb"; fi #if test "${board_name}" = "hc1"; then setenv fdtfile "exynos5422-odroidhc1.dtb"; fi setenv fdtfile "exynos5422-odroidxu4.dtb" # legacy shares a single DT for all boards #if ext4load mmc 0:1 0x00000000 "/boot/.next" || fatload mmc 0:1 0x00000000 ".next" || ext4load mmc 0:1 0x00000000 ".next"; then echo "Found mainline kernel configuration"; else setenv fdtfile "exynos5422-odroidxu3.dtb"; fi if ext4load mmc 0:1 0x00000000 "/boot/.next" || fatload mmc 0:1 0x00000000 ".next" || ext4load mmc 0:1 0x00000000 ".next"; then echo "Found mainline kernel configuration"; else echo "manually set fdtfile to exynos5422-odroidxu4.dtb"; fi ext4load mmc 0:1 0x44000000 /boot/dtb/${fdtfile} || fatload mmc 0:1 0x44000000 dtb/${fdtfile} || ext4load mmc 0:1 0x44000000 dtb/${fdtfile} Now see here, seems we have the correct .dtb file loaded. Looks good... U-Boot 2017.05-armbian (Oct 08 2021 - 19:51:17 +0000) for ODROID-XU4 CPU: Exynos5422 @ 800 MHz Model: Odroid XU4 based on EXYNOS5422 Board: Odroid XU4 based on EXYNOS5422 Type: unknown DRAM: 2 GiB MMC: EXYNOS DWMMC: 0, EXYNOS DWMMC: 1 MMC Device 0 ( SD ): 29.8 GiB Card did not respond to voltage select! mmc_init: -95, time 11 *** Warning - bad CRC, using default environment In: serial Out: serial Err: serial Net: No ethernet found. Press quickly 'Enter' twice to stop autoboot: 0 13651 bytes read in 44 ms (302.7 KiB/s) ## Executing script at 43e00000 69 bytes read in 86 ms (0 Bytes/s) 7337840 bytes read in 813 ms (8.6 MiB/s) 11083175 bytes read in 1149 ms (9.2 MiB/s) ** File not found /boot/.next ** ** Unrecognized filesystem type ** ** File not found .next ** manually set fdtfile to exynos5422-odroidxu4.dtb 87877 bytes read in 107 ms (801.8 KiB/s) libfdt fdt_path_offset() returned FDT_ERR_NOTFOUND Kernel image @ 0x40008000 [ 0x000000 - 0x6ff770 ] ## Loading init Ramdisk from Legacy Image at 42000000 ... Image Name: uInitrd Image Type: ARM Linux RAMDisk Image (gzip compressed) Data Size: 11083111 Bytes = 10.6 MiB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK ## Flattened Device Tree blob at 44000000 Booting using the fdt blob at 0x44000000 Using Device Tree in place at 44000000, end 44018744 Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x100 [ 0.000000] Linux version 5.4.151-odroidxu4 (root@big-37) (gcc version 8.3.0 (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36))) #21.08.3 SMP PREEMPT Fri Oct 8 19:1 [ 0.000000] CPU: ARMv7 Processor [410fc073] revision 3 (ARMv7), cr=10c5387d [ 0.000000] CPU: div instructions available: patching division code [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache [ 0.000000] OF: fdt: Machine model: Hardkernel Odroid XU4 [ 0.000000] Memory policy: Data cache writealloc [ 0.000000] cma: Reserved 128 MiB at 0xb6800000 [ 0.000000] Samsung CPU ID: 0xe5422001 [ 0.000000] Running under secure firmware. [ 0.000000] percpu: Embedded 20 pages/cpu s51852 r8192 d21876 u81920 [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 516928 [ 0.000000] Kernel command line: console=ttySAC2,115200n8 consoleblank=0 loglevel=7 root=/dev/mapper/rootfs rootfstype=ext4 rootwait rw smsc95xx.macaddr=00:1e:06:61:7a:55 governor=perf [ 0.000000] hdmi: using HDMI mode [ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes, linear) [ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes, linear) [ 0.000000] mem auto-init: stack:off, heap alloc:on, heap free:off [ 0.000000] Memory: 1895308K/2074624K available (11264K kernel code, 719K rwdata, 3020K rodata, 1024K init, 297K bss, 48244K reserved, 131072K cma-reserved, 1157120K highmem) [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=8, Nodes=1 [ 0.000000] rcu: Preemptible hierarchical RCU implementation. [ 0.000000] Tasks RCU enabled. [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies. [ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16 [ 0.000000] GIC: Using split EOI/Deactivate mode [ 0.000000] random: get_random_bytes called from start_kernel+0x36c/0x540 with crng_init=0 [ 0.000000] Switching to timer-based delay loop, resolution 41ns [ 0.000000] clocksource: mct-frc: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns [ 0.000007] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns [ 0.000031] genirq: irq_chip COMBINER did not update eff. affinity mask of irq 49 [ 0.001683] arch_timer: cp15 timer(s) running at 24.00MHz (phys). [ 0.001704] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns [ 0.001725] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns [ 0.001738] Ignoring duplicate/late registration of read_current_timer delay [ 0.002325] Console: colour dummy device 80x30 [ 0.002374] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000) [ 0.002390] pid_max: default: 32768 minimum: 301 [ 0.002560] LSM: Security Framework initializing [ 0.002608] Yama: becoming mindful. [ 0.002986] AppArmor: AppArmor initialized [ 0.003064] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes, linear) [ 0.003087] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes, linear) [ 0.003179] *** VALIDATE tmpfs *** [ 0.003929] *** VALIDATE proc *** [ 0.004297] *** VALIDATE cgroup1 *** [ 0.004312] *** VALIDATE cgroup2 *** [ 0.004372] CPU: Testing write buffer coherency: ok [ 0.005015] CPU0: thread -1, cpu 0, socket 1, mpidr 80000100 [ 0.005964] Setting up static identity map for 0x40100000 - 0x40100060 [ 0.006277] ARM CCI driver probed [ 0.006875] Exynos MCPM support installed [ 0.007185] rcu: Hierarchical SRCU implementation. [ 0.009710] soc soc0: Exynos: CPU[EXYNOS5800] PRO_ID[0xe5422001] REV[0x1] Detected [ 0.010387] smp: Bringing up secondary CPUs ... [ 0.011449] CPU1: thread -1, cpu 1, socket 1, mpidr 80000101 [ 0.012686] CPU2: thread -1, cpu 2, socket 1, mpidr 80000102 [ 0.013838] CPU3: thread -1, cpu 3, socket 1, mpidr 80000103 [ 0.014989] CPU4: thread -1, cpu 0, socket 0, mpidr 80000000 [ 0.014998] CPU4: detected I-Cache line size mismatch, workaround enabled [ 0.015005] CPU4: Spectre v2: firmware did not set auxiliary control register IBE bit, system vulnerable [ 0.016272] CPU5: thread -1, cpu 1, socket 0, mpidr 80000001 [ 0.016279] CPU5: detected I-Cache line size mismatch, workaround enabled [ 0.016286] CPU5: Spectre v2: firmware did not set auxiliary control register IBE bit, system vulnerable [ 0.017529] CPU6: thread -1, cpu 2, socket 0, mpidr 80000002 [ 0.017537] CPU6: detected I-Cache line size mismatch, workaround enabled [ 0.017543] CPU6: Spectre v2: firmware did not set auxiliary control register IBE bit, system vulnerable [ 0.018756] CPU7: thread -1, cpu 3, socket 0, mpidr 80000003 [ 0.018764] CPU7: detected I-Cache line size mismatch, workaround enabled [ 0.018770] CPU7: Spectre v2: firmware did not set auxiliary control register IBE bit, system vulnerable [ 0.018971] smp: Brought up 1 node, 8 CPUs [ 0.018989] SMP: Total of 8 processors activated (384.00 BogoMIPS). [ 0.018998] CPU: All CPU(s) started in HYP mode. [ 0.019005] CPU: Virtualization extensions available. [ 0.020050] devtmpfs: initialized [ 0.041271] VFP support v0.3: implementor 41 architecture 4 part 30 variant f rev 0 [ 0.041633] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns [ 0.041696] futex hash table entries: 2048 (order: 5, 131072 bytes, linear) [ 0.044334] xor: measuring software checksum speed [ 0.139951] arm4regs : 1515.600 MB/sec [ 0.239955] 8regs : 1237.200 MB/sec [ 0.339955] 32regs : 1231.600 MB/sec [ 0.439953] neon : 2208.000 MB/sec [ 0.439964] xor: using function: neon (2208.000 MB/sec) [ 0.440014] pinctrl core: initialized pinctrl subsystem [ 0.442413] NET: Registered protocol family 16 [ 0.445901] DMA: preallocated 2048 KiB pool for atomic coherent allocations [ 0.447421] audit: initializing netlink subsys (disabled) [ 0.447665] audit: type=2000 audit(0.440:1): state=initialized audit_enabled=0 res=1 [ 0.448507] cpuidle: using governor menu [ 0.449204] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers. [ 0.449216] hw-breakpoint: maximum watchpoint size is 8 bytes. [ 0.555213] EXYNOS5420 PMU initialized [ 0.653846] random: fast init done [ 0.787353] cryptd: max_cpu_qlen set to 1000 [ 0.959977] raid6: neonx8 gen() 1468 MB/s [ 1.129983] raid6: neonx8 xor() 1187 MB/s [ 1.299984] raid6: neonx4 gen() 1342 MB/s [ 1.469975] raid6: neonx4 xor() 1193 MB/s [ 1.639973] raid6: neonx2 gen() 1051 MB/s [ 1.809979] raid6: neonx2 xor() 1335 MB/s [ 1.979993] raid6: neonx1 gen() 719 MB/s [ 2.149981] raid6: neonx1 xor() 1001 MB/s [ 2.320084] raid6: int32x8 gen() 378 MB/s [ 2.490081] raid6: int32x8 xor() 269 MB/s [ 2.660062] raid6: int32x4 gen() 368 MB/s [ 2.830047] raid6: int32x4 xor() 283 MB/s [ 3.000146] raid6: int32x2 gen() 267 MB/s [ 3.170037] raid6: int32x2 xor() 263 MB/s [ 3.340124] raid6: int32x1 gen() 180 MB/s [ 3.510061] raid6: int32x1 xor() 204 MB/s [ 3.510072] raid6: using algorithm neonx8 gen() 1468 MB/s [ 3.510082] raid6: .... xor() 1187 MB/s, rmw enabled [ 3.510092] raid6: using neon recovery algorithm [ 3.512153] iommu: Default domain type: Translated [ 3.512549] usbcore: registered new interface driver usbfs [ 3.512609] usbcore: registered new interface driver hub [ 3.512667] usbcore: registered new device driver usb [ 3.513291] s3c-i2c 12c80000.i2c: slave address 0x00 [ 3.513309] s3c-i2c 12c80000.i2c: bus frequency set to 65 KHz [ 3.513580] s3c-i2c 12c80000.i2c: i2c-2: S3C I2C adapter [ 3.514044] mc: Linux media interface: v0.10 [ 3.514087] videodev: Linux video capture interface: v2.00 [ 3.514572] Advanced Linux Sound Architecture Driver Initialized. [ 3.515155] NetLabel: Initializing [ 3.515167] NetLabel: domain hash size = 128 [ 3.515177] NetLabel: protocols = UNLABELED CIPSOv4 CALIPSO [ 3.515251] NetLabel: unlabeled traffic allowed by default [ 3.515858] clocksource: Switched to clocksource mct-frc [ 3.616211] *** VALIDATE bpf *** [ 3.616390] VFS: Disk quotas dquot_6.6.0 [ 3.616467] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) [ 3.616577] *** VALIDATE ramfs *** [ 3.617320] AppArmor: AppArmor Filesystem Enabled [ 3.630635] thermal_sys: Registered thermal governor 'step_wise' [ 3.633044] NET: Registered protocol family 2 [ 3.633206] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear) [ 3.634376] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear) [ 3.634422] TCP established hash table entries: 8192 (order: 3, 32768 bytes, linear) [ 3.634524] TCP bind hash table entries: 8192 (order: 4, 65536 bytes, linear) [ 3.634681] TCP: Hash tables configured (established 8192 bind 8192) [ 3.634817] UDP hash table entries: 512 (order: 2, 16384 bytes, linear) [ 3.634867] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear) [ 3.635119] NET: Registered protocol family 1 [ 3.635387] Trying to unpack rootfs image as initramfs... [ 4.306869] Freeing initrd memory: 10824K [ 4.308804] hw perfevents: enabled with armv7_cortex_a7 PMU driver, 5 counters available [ 4.309649] hw perfevents: enabled with armv7_cortex_a15 PMU driver, 7 counters available [ 4.311610] Initialise system trusted keyrings [ 4.311660] Key type blacklist registered [ 4.311893] workingset: timestamp_bits=14 max_order=19 bucket_order=5 [ 4.321163] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 4.322205] fuse: init (API version 7.31) [ 4.322330] *** VALIDATE fuse *** [ 4.322346] *** VALIDATE fuse *** [ 4.323623] Platform Keyring initialized [ 4.355450] Key type asymmetric registered [ 4.355464] Asymmetric key parser 'x509' registered [ 4.355608] bounce: pool size: 64 pages [ 4.355655] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247) [ 4.355903] io scheduler mq-deadline registered [ 4.355915] io scheduler kyber registered [ 4.355963] io scheduler bfq registered [ 4.358539] samsung-usb2-phy 12130000.phy: 12130000.phy supply vbus not found, using dummy regulator [ 4.359548] exynos5_usb3drd_phy 12100000.phy: 12100000.phy supply vbus not found, using dummy regulator [ 4.359638] exynos5_usb3drd_phy 12100000.phy: 12100000.phy supply vbus-boost not found, using dummy regulator [ 4.360037] exynos5_usb3drd_phy 12500000.phy: 12500000.phy supply vbus not found, using dummy regulator [ 4.360123] exynos5_usb3drd_phy 12500000.phy: 12500000.phy supply vbus-boost not found, using dummy regulator [ 4.369469] dma-pl330 121a0000.pdma: Loaded driver for PL330 DMAC-241330 [ 4.369486] dma-pl330 121a0000.pdma: DBUFF-32x4bytes Num_Chans-8 Num_Peri-32 Num_Events-32 [ 4.372235] dma-pl330 121b0000.pdma: Loaded driver for PL330 DMAC-241330 [ 4.372251] dma-pl330 121b0000.pdma: DBUFF-32x4bytes Num_Chans-8 Num_Peri-32 Num_Events-32 [ 4.373141] dma-pl330 10800000.mdma: Loaded driver for PL330 DMAC-241330 [ 4.373156] dma-pl330 10800000.mdma: DBUFF-64x8bytes Num_Chans-8 Num_Peri-1 Num_Events-32 [ 4.445675] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled [ 4.448097] 12c20000.serial: ttySAC2 at MMIO 0x12c20000 (irq = 62, base_baud = 0) is a S3C6400/10 [ 5.486059] printk: console [ttySAC2] enabled [ 5.492027] exynos-trng 10830600.rng: Exynos True Random Number Generator. [ 5.498946] exynos-mixer 14450000.mixer: Adding to iommu group 0 [ 5.524639] brd: module loaded [ 5.526974] libphy: Fixed MDIO Bus: probed [ 5.530626] usbcore: registered new interface driver r8152 [ 5.535790] usbcore: registered new interface driver cdc_ether [ 5.541661] usbcore: registered new interface driver cdc_subset [ 5.549702] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 5.554761] ehci-exynos: EHCI EXYNOS driver [ 5.559315] exynos-ehci 12110000.usb: EHCI Host Controller [ 5.564384] exynos-ehci 12110000.usb: new USB bus registered, assigned bus number 1 [ 5.572398] exynos-ehci 12110000.usb: irq 79, io mem 0x12110000 [ 5.598026] dma-pl330 3880000.adma: Loaded driver for PL330 DMAC-241330 [ 5.603154] dma-pl330 3880000.adma: DBUFF-4x8bytes Num_Chans-6 Num_Peri-16 Num_Events-6 [ 5.605969] exynos-ehci 12110000.usb: USB 2.0 started, EHCI 1.00 [ 5.617498] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.04 [ 5.625423] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 5.632655] usb usb1: Product: EHCI Host Controller [ 5.636423] dma-pl330 3880000.adma: PM domain MAU will not be powered off [ 5.637509] usb usb1: Manufacturer: Linux 5.4.151-odroidxu4 ehci_hcd [ 5.650583] usb usb1: SerialNumber: 12110000.usb [ 5.655772] hub 1-0:1.0: USB hub found [ 5.658961] hub 1-0:1.0: 3 ports detected [ 5.663812] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [ 5.669062] ohci-exynos: OHCI EXYNOS driver [ 5.673365] exynos-ohci 12120000.usb: USB Host Controller [ 5.678589] exynos-ohci 12120000.usb: new USB bus registered, assigned bus number 2 [ 5.687077] exynos-ohci 12120000.usb: irq 79, io mem 0x12120000 [ 5.760139] usb usb2: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 5.04 [ 5.766950] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 5.774103] usb usb2: Product: USB Host Controller [ 5.778906] usb usb2: Manufacturer: Linux 5.4.151-odroidxu4 ohci_hcd [ 5.785194] usb usb2: SerialNumber: 12120000.usb [ 5.790400] hub 2-0:1.0: USB hub found [ 5.793548] hub 2-0:1.0: 3 ports detected [ 5.799834] mousedev: PS/2 mouse device common for all mice [ 5.805735] i2c /dev entries driver [ 5.830650] vdd_ldo9: Bringing 3300000uV into 3000000-3000000uV [ 5.847421] vddq_mmc2: Bringing 3300000uV into 2800000-2800000uV [ 5.867605] vdd_sd: Bringing 3300000uV into 2800000-2800000uV [ 5.947748] s5m-rtc s2mps14-rtc: registered as rtc0 [ 5.951700] s2mps11-clk s2mps11-clk: DMA mask not set [ 5.967904] s3c2410-wdt 101d0000.watchdog: watchdog inactive, reset disabled, irq disabled [ 5.975316] device-mapper: uevent: version 1.0.3 [ 5.979703] device-mapper: ioctl: 4.41.0-ioctl (2019-09-16) initialised: dm-devel@redhat.com [ 6.000736] sdhci: Secure Digital Host Controller Interface driver [ 6.005430] sdhci: Copyright(c) Pierre Ossman [ 6.010026] Synopsys Designware Multimedia Card Interface Driver [ 6.016434] dwmmc_exynos 12200000.mmc: IDMAC supports 32-bit address mode. [ 6.022654] dwmmc_exynos 12200000.mmc: Using internal DMA controller. [ 6.029035] dwmmc_exynos 12200000.mmc: Version ID is 250a [ 6.034419] dwmmc_exynos 12200000.mmc: DW MMC controller at irq 81,64 bit host data width,64 deep fifo [ 6.043924] dwmmc_exynos 12200000.mmc: allocated mmc-pwrseq [ 6.066076] mmc_host mmc0: Bus speed (slot 0) = 50000000Hz (slot req 400000Hz, actual 396825HZ div = 63) [ 6.087379] dwmmc_exynos 12220000.mmc: IDMAC supports 32-bit address mode. [ 6.092923] dwmmc_exynos 12220000.mmc: Using internal DMA controller. [ 6.099354] dwmmc_exynos 12220000.mmc: Version ID is 250a [ 6.104710] dwmmc_exynos 12220000.mmc: DW MMC controller at irq 82,64 bit host data width,64 deep fifo [ 6.132708] mmc_host mmc1: Bus speed (slot 0) = 50000000Hz (slot req 400000Hz, actual 396825HZ div = 63) [ 6.156260] s5p-secss 10830000.sss: s5p-sss driver registered [ 6.161030] hidraw: raw HID events driver (C) Jiri Kosina [ 6.179340] exynos-nocp: new NoC Probe device registered: 10ca1000.nocp [ 6.184654] exynos-nocp: new NoC Probe device registered: 10ca1400.nocp [ 6.191266] exynos-nocp: new NoC Probe device registered: 10ca1800.nocp [ 6.197823] exynos-nocp: new NoC Probe device registered: 10ca1c00.nocp [ 6.204665] exynos-ppmu: new PPMU device registered 10d00000.ppmu (ppmu-event3-dmc0_0) [ 6.212830] exynos-ppmu: new PPMU device registered 10d10000.ppmu (ppmu-event3-dmc0_1) [ 6.220382] exynos-ppmu: new PPMU device registered 10d60000.ppmu (ppmu-event3-dmc1_0) [ 6.228121] exynos-ppmu: new PPMU device registered 10d70000.ppmu (ppmu-event3-dmc1_1) [ 6.239867] exynos5-dmc 10c20000.memory-controller: DMC initialized, in irq mode: 0 [ 6.246857] exynos-adc 12d10000.adc: IRQ index 1 not found [ 6.256216] samsung-i2s 3830000.i2s-sec: DMA channels sourced from device 3830000.i2s [ 6.262099] mmc_host mmc1: Bus speed (slot 0) = 200000000Hz (slot req 200000000Hz, actual 200000000HZ div = 0) [ 6.270342] NET: Registered protocol family 17 [ 6.275185] mmc1: new ultra high speed SDR104 SDHC card at address 59b4 [ 6.277067] NET: Registered protocol family 15 [ 6.285110] mmcblk1: mmc1:59b4 EB2MW 29.8 GiB [ 6.288026] Key type dns_resolver registered [ 6.295639] mmcblk1: p1 p2 [ 6.297407] Registering SWP/SWPB emulation handler [ 6.304296] registered taskstats version 1 [ 6.308242] Loading compiled-in X.509 certificates [ 6.317358] Loaded X.509 cert 'Build time autogenerated kernel key: 58f88920dc5a2eb8aefa1a83381c42bc4c4ae8b7' [ 6.326160] Key type ._fscrypt registered [ 6.329760] Key type .fscrypt registered [ 6.336676] Btrfs loaded, crc32c=crc32c-generic [ 6.432044] Key type big_key registered [ 6.455404] Key type encrypted registered [ 6.458007] AppArmor: AppArmor sha1 policy hashing enabled [ 6.516643] exynos-asv 10000000.chipid: cpu0 opp0, freq: 1500 missing [ 6.521639] exynos-asv 10000000.chipid: cpu4 opp0, freq: 2100 missing [ 6.530480] OF: graph: no port node found in /soc/hdmi@14530000 [ 6.536160] [drm] Exynos DRM: using 14450000.mixer device for DMA mapping operations [ 6.542710] exynos-drm exynos-drm: bound 14450000.mixer (ops 0xc0cb2b28) [ 6.549391] exynos-drm exynos-drm: bound 14530000.hdmi (ops 0xc0cb31ac) [ 6.555932] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013). [ 6.562470] [drm] No driver support for vblank timestamp query. [ 6.568432] [drm] Cannot find any crtc or sizes [ 6.573522] [drm] Cannot find any crtc or sizes [ 6.577584] [drm] Initialized exynos 1.1.0 20180330 for exynos-drm on minor 0 [ 6.586452] dwc3 12000000.dwc3: Failed to get clk 'ref': -2 [ 6.591389] xhci-hcd xhci-hcd.8.auto: xHCI Host Controller [ 6.596068] xhci-hcd xhci-hcd.8.auto: new USB bus registered, assigned bus number 3 [ 6.604001] xhci-hcd xhci-hcd.8.auto: hcc params 0x0220f04c hci version 0x100 quirks 0x0000000002010010 [ 6.613119] xhci-hcd xhci-hcd.8.auto: irq 159, io mem 0x12000000 [ 6.619316] xhci-hcd xhci-hcd.8.auto: xHCI Host Controller [ 6.624428] xhci-hcd xhci-hcd.8.auto: new USB bus registered, assigned bus number 4 [ 6.632085] xhci-hcd xhci-hcd.8.auto: Host supports USB 3.0 SuperSpeed [ 6.638778] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.04 [ 6.646816] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 6.653970] usb usb3: Product: xHCI Host Controller [ 6.658856] usb usb3: Manufacturer: Linux 5.4.151-odroidxu4 xhci-hcd [ 6.665148] usb usb3: SerialNumber: xhci-hcd.8.auto [ 6.670624] hub 3-0:1.0: USB hub found [ 6.673756] hub 3-0:1.0: 1 port detected [ 6.678089] usb usb4: We don't know the algorithms for LPM for this host, disabling LPM. [ 6.685820] usb usb4: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.04 [ 6.693955] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 6.701137] usb usb4: Product: xHCI Host Controller [ 6.705996] usb usb4: Manufacturer: Linux 5.4.151-odroidxu4 xhci-hcd [ 6.712288] usb usb4: SerialNumber: xhci-hcd.8.auto [ 6.717868] hub 4-0:1.0: USB hub found [ 6.720902] hub 4-0:1.0: 1 port detected [ 6.727603] dwc3 12400000.dwc3: Failed to get clk 'ref': -2 [ 6.732559] xhci-hcd xhci-hcd.9.auto: xHCI Host Controller [ 6.737219] xhci-hcd xhci-hcd.9.auto: new USB bus registered, assigned bus number 5 [ 6.745190] xhci-hcd xhci-hcd.9.auto: hcc params 0x0220f04c hci version 0x100 quirks 0x0000000002010010 [ 6.754291] xhci-hcd xhci-hcd.9.auto: irq 160, io mem 0x12400000 [ 6.760557] xhci-hcd xhci-hcd.9.auto: xHCI Host Controller [ 6.765582] xhci-hcd xhci-hcd.9.auto: new USB bus registered, assigned bus number 6 [ 6.773242] xhci-hcd xhci-hcd.9.auto: Host supports USB 3.0 SuperSpeed [ 6.779961] usb usb5: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.04 [ 6.787978] usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 6.795122] usb usb5: Product: xHCI Host Controller [ 6.800028] usb usb5: Manufacturer: Linux 5.4.151-odroidxu4 xhci-hcd [ 6.806337] usb usb5: SerialNumber: xhci-hcd.9.auto [ 6.811922] hub 5-0:1.0: USB hub found [ 6.814916] hub 5-0:1.0: 1 port detected [ 6.819340] usb usb6: We don't know the algorithms for LPM for this host, disabling LPM. [ 6.827069] usb usb6: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.04 [ 6.835070] usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 6.842308] usb usb6: Product: xHCI Host Controller [ 6.847154] usb usb6: Manufacturer: Linux 5.4.151-odroidxu4 xhci-hcd [ 6.853440] usb usb6: SerialNumber: xhci-hcd.9.auto [ 6.859569] hub 6-0:1.0: USB hub found [ 6.862053] hub 6-0:1.0: 1 port detected [ 6.867494] s3c-rtc 101e0000.rtc: rtc disabled, re-enabling [ 6.871824] rtc rtc1: invalid alarm value: 1900-01-01T00:00:00 [ 6.877679] s3c-rtc 101e0000.rtc: registered as rtc1 [ 6.885788] exynos-bus: new bus device registered: soc:bus_wcore ( 84000 KHz ~ 400000 KHz) [ 6.893781] exynos-bus: new bus device registered: soc:bus_noc ( 67000 KHz ~ 100000 KHz) [ 6.901518] exynos-bus: new bus device registered: soc:bus_fsys_apb (100000 KHz ~ 200000 KHz) [ 6.909693] exynos-bus: new bus device registered: soc:bus_fsys (100000 KHz ~ 200000 KHz) [ 6.918301] exynos-bus: new bus device registered: soc:bus_fsys2 ( 75000 KHz ~ 150000 KHz) [ 6.926886] exynos-bus: new bus device registered: soc:bus_mfc ( 96000 KHz ~ 333000 KHz) [ 6.934676] exynos-bus: new bus device registered: soc:bus_gen ( 89000 KHz ~ 267000 KHz) [ 6.942716] exynos-bus: new bus device registered: soc:bus_peri ( 67000 KHz ~ 67000 KHz) [ 6.951101] exynos-bus: new bus device registered: soc:bus_g2d ( 84000 KHz ~ 333000 KHz) [ 6.959012] exynos-bus: new bus device registered: soc:bus_g2d_acp ( 67000 KHz ~ 267000 KHz) [ 6.967348] exynos-bus: new bus device registered: soc:bus_jpeg ( 75000 KHz ~ 300000 KHz) [ 6.975531] exynos-bus: new bus device registered: soc:bus_jpeg_apb ( 84000 KHz ~ 167000 KHz) [ 6.983792] exynos-bus: new bus device registered: soc:bus_disp1_fimd (120000 KHz ~ 200000 KHz) [ 6.992521] exynos-bus: new bus device registered: soc:bus_disp1 (120000 KHz ~ 300000 KHz) [ 7.000804] exynos-bus: new bus device registered: soc:bus_gscl_scaler (150000 KHz ~ 300000 KHz) [ 7.009829] exynos-bus: new bus device registered: soc:bus_mscl ( 84000 KHz ~ 400000 KHz) [ 7.020000] odroid-audio sound: snd-soc-dummy-dai <-> samsung-i2s mapping ok [ 7.025651] odroid-audio sound: i2s-hifi <-> snd-soc-dummy-dai mapping ok [ 7.034398] odroid-audio sound: snd-soc-dummy-dai <-> samsung-i2s-sec mapping ok [ 7.045782] s5m-rtc s2mps14-rtc: setting system clock to 2021-10-24T08:53:25 UTC (1635065605) [ 7.114040] ALSA device list: [ 7.115545] #0: Odroid-XU4 [ 7.120282] Freeing unused kernel memory: 1024K [ 7.167798] Run /init as init process Loading, please wait... Starting version 247.3-6 [ 7.826339] usb 4-1: new SuperSpeed Gen 1 USB device number 2 using xhci-hcd [ 7.858202] usb 4-1: New USB device found, idVendor=152d, idProduct=0578, bcdDevice=31.02 [ 7.864907] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 7.872351] usb 4-1: Product: USB to ATA/ATAPI Bridge [ 7.877154] usb 4-1: Manufacturer: JMicron [ 7.881130] usb 4-1: SerialNumber: 0123456789ABCDEF [ 7.899000] SCSI subsystem initialized [ 7.905981] usbcore: registered new interface driver usb-storage [ 7.921246] scsi host0: uas [ 7.922973] usbcore: registered new interface driver uas [ 7.924229] scsi 0:0:0:0: Direct-Access JMicron Generic 3102 PQ: 0 ANSI: 6 [ 7.994115] gpiomem-exynos 13400000.gpiomem: Initialised: GPIO register area is 3 [ 8.000409] gpiomem-exynos 13400000.gpiomem: Initialised: Registers at 0x13400000 [ 8.007615] gpiomem-exynos 13400000.gpiomem: Initialised: Registers at 0x14010000 [ 8.015015] gpiomem-exynos 13400000.gpiomem: Initialised: Registers at 0x03860000 [ 8.020226] input: gpio_keys as /devices/platform/gpio_keys/input/input0 [ 8.026675] usb 6-1: new SuperSpeed Gen 1 USB device number 2 using xhci-hcd [ 8.067280] usb 6-1: New USB device found, idVendor=0bda, idProduct=8153, bcdDevice=30.00 [ 8.073980] usb 6-1: New USB device strings: Mfr=1, Product=2, SerialNumber=6 [ 8.081156] usb 6-1: Product: USB 10/100/1000 LAN [ 8.085795] usb 6-1: Manufacturer: Realtek [ 8.089989] usb 6-1: SerialNumber: 000001000000 [ 8.333169] usb 6-1: reset SuperSpeed Gen 1 USB device number 2 using xhci-hcd [ 8.427393] r8152 6-1:1.0 eth0: v1.10.11 [ 13.905832] sd 0:0:0:0: [sda] Unit Not Ready [ 13.908731] sd 0:0:0:0: [sda] Sense Key : 0x4 [current] [ 13.913941] sd 0:0:0:0: [sda] ASC=0x44 <<vendor>>ASCQ=0x81 [ 13.921040] sd 0:0:0:0: [sda] Read Capacity(16) failed: Result: hostbyte=0x00 driverbyte=0x08 [ 13.928171] sd 0:0:0:0: [sda] Sense Key : 0x4 [current] [ 13.933371] sd 0:0:0:0: [sda] ASC=0x44 <<vendor>>ASCQ=0x81 [ 13.940043] sd 0:0:0:0: [sda] Read Capacity(10) failed: Result: hostbyte=0x00 driverbyte=0x08 [ 13.947462] sd 0:0:0:0: [sda] Sense Key : 0x4 [current] [ 13.952695] sd 0:0:0:0: [sda] ASC=0x44 <<vendor>>ASCQ=0x81 [ 13.959185] sd 0:0:0:0: [sda] 0 512-byte logical blocks: (0 B/0 [ 13.964392] sd 0:0:0:0: [sda] 0-byte physical blocks [ 13.970345] sd 0:0:0:0: [sda] Test WP failed, assume Write Enabled [ 13.975808] sd 0:0:0:0: [sda] Asking for cache data failed [ 13.981023] sd 0:0:0:0: [sda] Assuming drive cache: write through [ 13.988112] sd 0:0:0:0: [sda] Optimal transfer size 33553920 bytes not a multiple of physical block size (0 bytes) [ 14.097183] sd 0:0:0:0: [sda] Unit Not Ready [ 14.100005] sd 0:0:0:0: [sda] Sense Key : 0x4 [current] [ 14.105289] sd 0:0:0:0: [sda] ASC=0x44 <<vendor>>ASCQ=0x81 [ 14.112257] sd 0:0:0:0: [sda] Read Capacity(16) failed: Result: hostbyte=0x00 driverbyte=0x08 [ 14.119362] sd 0:0:0:0: [sda] Sense Key : 0x4 [current] [ 14.124600] sd 0:0:0:0: [sda] ASC=0x44 <<vendor>>ASCQ=0x81 [ 14.131381] sd 0:0:0:0: [sda] Read Capacity(10) failed: Result: hostbyte=0x00 driverbyte=0x08 [ 14.138739] sd 0:0:0:0: [sda] Sense Key : 0x4 [current] [ 14.143963] sd 0:0:0:0: [sda] ASC=0x44 <<vendor>>ASCQ=0x81 [ 14.153152] sd 0:0:0:0: [sda] Attached SCSI disk [ 14.166228] random: crng init done [ 14.268414] s5p-jpeg 11f50000.jpeg: Adding to iommu group 1 [ 14.270695] s5p-mfc 11000000.codec: Adding to iommu group 2 [ 14.279505] s5p-jpeg 11f50000.jpeg: encoder device registered as /dev/video0 [ 14.289846] s5p-jpeg 11f50000.jpeg: decoder device registered as /dev/video1 [ 14.290503] mali 11800000.gpu: GPU identified as 0x0620 r0p1 status 0 [ 14.295438] s5p-jpeg 11f50000.jpeg: Samsung S5P JPEG codec [ 14.302333] mali 11800000.gpu: Protected mode not available [ 14.308586] s5p-jpeg 11f60000.jpeg: Adding to iommu group 3 [ 14.319227] s5p-jpeg 11f60000.jpeg: encoder device registered as /dev/video2 [ 14.319428] exynos-gsc 13e00000.video-scaler: Adding to iommu group 4 [ 14.320070] mali 11800000.gpu: Probed as mali0 [ 14.326194] s5p-jpeg 11f60000.jpeg: decoder device registered as /dev/video3 [ 14.331369] s5p-mfc 11000000.codec: preallocated 8 MiB buffer for the firmware and context buffers [ 14.331447] s5p-mfc 11000000.codec: Direct firmware load for s5p-mfc-v8.fw failed with error -2 [ 14.331454] s5p_mfc_load_firmware:69: Firmware is not present in the /lib/firmware directory nor compiled in kernel [ 14.331608] s5p-mfc 11000000.codec: decoder registered as /dev/video4 [ 14.331702] s5p-mfc 11000000.codec: encoder registered as /dev/video5 [ 14.342766] exynos-gsc 13e10000.video-scaler: Adding to iommu group 5 [ 14.343277] s5p-jpeg 11f60000.jpeg: Samsung S5P JPEG codec [ 14.748723] usb 6-1: reset SuperSpeed Gen 1 USB device number 2 using xhci-hcd [ 14.832905] r8152 6-1:1.0 eth0: v1.10.11 [ 14.871564] r8152 6-1:1.0 enx001e06380848: renamed from eth0 Begin: Loading essential drivers ... [ 15.872455] loop: module loaded [ 16.027989] zram: Added device: zram0 [ 16.059202] sd 0:0:0:0: Attached scsi generic sg0 type 0 [ 16.280580] RPC: Registered named UNIX socket transport module. [ 16.285013] RPC: Registered udp transport module. [ 16.289789] RPC: Registered tcp transport module. [ 16.294372] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 16.369570] NET: Registered protocol family 10 [ 16.373465] Segment Routing with IPv6 done. Begin: Running /scripts/init-premount ... done. Begin: Mounting root file system ... Begin: Waiting up to 180 secs for eth0 to become available ... Begin: Running /scripts/local-top ... Please unlock disk rootfs: Failure: Interface eth0 e done. ipconfig: eth0: SIOCGIFINDEX: No such device ipconfig: no devices to configure ipconfig: eth0: SIOCGIFINDEX: No such device ipconfig: no devices to configure ipconfig: eth0: SIOCGIFINDEX: No such device ipconfig: no devices to configure ipconfig: eth0: SIOCGIFINDEX: No such device ipconfig: no devices to configure ipconfig: eth0: SIOCGIFINDEX: No such device ipconfig: no devices to configure ipconfig: eth0: SIOCGIFINDEX: No such device ipconfig: no devices to configure ipconfig: eth0: SIOCGIFINDEX: No such device ipconfig: no devices to configure ipconfig: eth0: SIOCGIFINDEX: No such device ipconfig: no devices to configure ipconfig: eth0: SIOCGIFINDEX: No such device ipconfig: no devices to configure ipconfig: eth0: SIOCGIFINDEX: No such device ipconfig: no devices to configure /scripts/init-premount/dropbear: .: line 329: can't open '/run/net-eth0.conf': No such file or directory as you see the network is trying to get initialized: Zitat [ 14.832905] r8152 6-1:1.0 eth0: v1.10.11 [ 14.871564] r8152 6-1:1.0 enx001e06380848: renamed from eth0 but the pre-init scripts are looking for a device called eth0. The armbian image however changed the NIC name from eth0 to enx001e06380848. I guess that is the next issue because the network is not initialized correctly and timed-out? how to solve this? Well, to overcome this in the configuration file /etc/initramfs-tools/initramfs.conf I changed DEVICE=eth0 to DEVICE=enx001e06380848 and then executed in the chroot'ed environment "update-initramfs -u". After this it works like a charm, YES!!!!!! [...] [ 14.371201] s5p-mfc 11000000.codec: decoder registered as /dev/video4 [ 14.380114] exynos-gsc 13e10000.video-scaler: Adding to iommu group 5 [ 14.383972] s5p-mfc 11000000.codec: encoder registered as /dev/video6 [ 14.767167] usb 6-1: reset SuperSpeed Gen 1 USB device number 2 using xhci-hcd [ 14.870308] r8152 6-1:1.0 eth0: v1.10.11 [ 14.915306] r8152 6-1:1.0 enx001e06380848: renamed from eth0 Begin: Loading essential drivers ... [ 15.870227] loop: module loaded [ 16.030971] zram: Added device: zram0 [ 16.046077] sd 0:0:0:0: Attached scsi generic sg0 type 0 [ 16.272513] RPC: Registered named UNIX socket transport module. [ 16.276980] RPC: Registered udp transport module. [ 16.281628] RPC: Registered tcp transport module. [ 16.286343] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 16.343674] NET: Registered protocol family 10 [ 16.367678] Segment Routing with IPv6 done. Begin: Running /scripts/init-premount ... done. Begin: Mounting root file system ... Begin: Waiting up to 180 secs for enx001e06380848 to become available ... Begin: Running /scripts/local-top ... done. Please unlock disk rootfs: IP-Config: enx001e06380848 hardware address 00:1e:06:36:09:49 mtu 1500 DHCP RARP IP-Config: no response after 2 secs - giving up IP-Config: enx001e06380848 hardware address 00:1e:06:36:09:49 mtu 1500 DHCP RARP IP-Config: enx001e06380848 complete (dhcp from 192.168.0.1): address: 192.168.0.123 broadcast: 192.168.0.255 netmask: 255.255.255.0 gateway: 192.168.0.1 dns0 : 192.168.0.1 dns1 : 0.0.0.0 domain : my.domain rootserver: 192.168.0.1 rootpath: filename : Begin: Starting dropbear ... Now I can ssh -p222 root@192.168.0.123 into the temporary dropbear sheel and enter my LUKS password. Then the boot process continues ... [...] Begin: Starting dropbear ... cryptsetup: rootfs: set up successfully done. Begin: Running /scripts/local-premount ... Scanning for Btrfs filesystems done. Begin: Will now check root file system ... fsck from util-linux 2.36.1 [ 324.064270] mmc_host mmc1: Bus speed (slot 0) = 50000000Hz (slot req 400000Hz, actual 396825HZ div = 63) [ 324.124907] mmc_host mmc1: Bus speed (slot 0) = 200000000Hz (slot req 200000000Hz, actual 200000000HZ div = 0) [/sbin/fsck.ext4 (1) -- /dev/mapper/rootfs] fsck.ext4 -a -C0 /dev/mapper/rootfs /dev/mapper/rootfs: recovering journal /dev/mapper/rootfs: clean, 42398/1941504 files, 442853/7762688 blocks done. [ 325.557610] EXT4-fs (dm-0): mounted filesystem with ordered data mode. Opts: (null) done. [ 325.715647] mmc_host mmc1: Bus speed (slot 0) = 50000000Hz (slot req 400000Hz, actual 396825HZ div = 63) [ 325.777619] mmc_host mmc1: Bus speed (slot 0) = 200000000Hz (slot req 200000000Hz, actual 200000000HZ div = 0) [ 326.226748] blk_update_request: I/O error, dev mmcblk1, sector 451552 op 0x0:(READ) flags 0x80700 phys_seg 4 prio class 0 Begin: Running /scripts/local-bottom ... done. Begin: Running /scripts/init-bottom ... Begin: Stopping dropbear ... done. Begin: Bringing down enx001e06380848 ... done. Begin: Bringing down lo ... done. [ 326.482381] mmc_host mmc1: Bus speed (slot 0) = 50000000Hz (slot req 400000Hz, actual 396825HZ div = 63) [ 326.546330] mmc_host mmc1: Bus speed (slot 0) = 200000000Hz (slot req 200000000Hz, actual 200000000HZ div = 0) [ 327.117351] blk_update_request: I/O error, dev mmcblk1, sector 62551488 op 0x0:(READ) flags 0x80700 phys_seg 8 prio class 0 done. [ 327.657825] mmc_host mmc1: Bus speed (slot 0) = 50000000Hz (slot req 400000Hz, actual 396825HZ div = 63) [ 327.720084] mmc_host mmc1: Bus speed (slot 0) = 200000000Hz (slot req 200000000Hz, actual 200000000HZ div = 0) [...] [...]and so on [...] [ OK ] Started Network Manager. [ OK ] Reached target Network. [ OK ] Reached target Network is Online. Starting chrony, an NTP client/server... Starting LSB: Advanced IEEE 802.11 management daemon... Starting OpenVPN service... Starting /etc/rc.local Compatibility... Starting OpenBSD Secure Shell server... Starting Permit User Sessions... [ OK ] Started Unattended Upgrades Shutdown. [ OK ] Started vnStat network traffic monitor. [ OK ] Started chrony, an NTP client/server. [ OK ] Started LSB: Advanced IEEE 802.11 management daemon. [ OK ] Finished OpenVPN service. [ OK ] Started /etc/rc.local Compatibility. [FAILED] Failed to start OpenBSD Secure Shell server. See 'systemctl status ssh.service' for details. [ OK ] Finished Permit User Sessions. [ OK ] Reached target System Time Synchronized. [ OK ] Started Daily apt download activities. [ OK ] Started Daily apt upgrade and clean activities. [ OK ] Started Periodic ext4 Onli…ata Check for All Filesystems. [ OK ] Started Discard unused blocks once a week. [ OK ] Started Daily rotation of log files. [ OK ] Started Daily man-db regeneration. [ OK ] Started Run system activit…ounting tool every 10 minutes. [ OK ] Started Generate summary o…esterday's process accounting. [ OK ] Reached target Timers. [ OK ] Started Getty on tty1. [ OK ] Started Serial Getty on ttySAC2. [ OK ] Reached target Login Prompts. Starting Hostname Service... [ 419.494756] proc: Bad value for 'hidepid' [ OK ] Started Dispatcher daemon for systemd-networkd. [ OK ] Stopped OpenBSD Secure Shell server. Starting OpenBSD Secure Shell server... [FAILED] Failed to start OpenBSD Secure Shell server. See 'systemctl status ssh.service' for details. [ OK ] Started Hostname Service. [ OK ] Reached target Multi-User System. [ OK ] Reached target Graphical Interface. Starting Update UTMP about System Runlevel Changes... [ OK ] Stopped OpenBSD Secure Shell server. Starting OpenBSD Secure Shell server... [FAILED] Failed to start OpenBSD Secure Shell server. See 'systemctl status ssh.service' for details. [ 420.014917] IPv6: ADDRCONF(NETDEV_CHANGE): enx001e06380848: link becomes ready [ 420.021531] r8152 6-1:1.0 enx001e06380848: carrier on [ OK ] Finished Update UTMP about System Runlevel Changes. Starting Network Manager Script Dispatcher Service... [ OK ] Stopped OpenBSD Secure Shell server. Starting OpenBSD Secure Shell server... [FAILED] Failed to start OpenBSD Secure Shell server. See 'systemctl status ssh.service' for details. [ OK ] Started Network Manager Script Dispatcher Service. Armbian 21.08.3 Bullseye ttySAC2 odroidxu4 login: But ... as you see in the log, the OpenSSH server is not up. I cannot login "ssh root@192.168.0.1" although the device is reachable through network via ICMP ping. I have no idea why the OpenSSH server is failing now. Well, made some steps to mitigate the issue. Here's the conclusion so far: Issue 1) After introducing the encryption setup as shown here on that tutorial the boot.ini discovering mechanism for the correct board and corresponding image seems to fail. As I suspect the ODROID-HC2 board is not discovered correctly during the test/board_name commands in boot.ini. The default Armbian<foo>.img containt the hidden flag file .next in the boot partition, that's why the boot.ini assigns the correct exynos5422-odroidxu4.dtb for the boot process. However, after introducing the encryption as shown here on the tutorial, this flag file .next was not in the boot partition any more that's why the recognition and aassignment of the needed dtb file fails. Workaround: either by manually forcing boot.ini to load the odroidxu4.dtb image which will work for the ODROID-HC2 board or better and simple --> don't touch the boot.ini at all and leave it as it is, but simply touch a new zero-byte hidden file called .next into the boot partition. If filename /boot/.next exists it will trigger as mainline configuration and the legacy odroidxu3 won't start and conflict with the HC-2 board thus as result the correct odroidxu4.dtb is loaded which is the correct one for the ODROID-HC2 board. Issue 2) The configuration line DEVICE=eth0 initially configured as instructed by the tutorial in "/etc/initramfs-tools/initramfs.conf" will fail, because Armbian OS changes the device name in boot process from "eth0" to "enx<mac-address>" Workaround: changing the configuration line "DEVICE=eth0" to "DEVICE=enx<mac-address-being-used-in-boot-process>" Issue 3) As first instance the Dropbear SSH server is executed through initramfs. You can login to it through port 2222 and you're prompted to enter the LUKS password for decrypting /dev/mapper/rootfs. Right after you enter the correct keyphrase, the network interface enx... gets dropped and the dropbear ssh connection is resetted as result. The boot process continues, but OpenSSH won't start. Workaround: the journal of ssh.service said that no hostkeys were available. I had to use the USB serial UART console for the first initial root login on the ODROID-HC2. After that I was prompted to change the root password and the Armbian setup was finished. I guess this was important, so the hostkeys were generated. After that, the OpenSSH were accessible as expected. Here's the output of the ssh.service journal: -- Journal begins at Sun 2021-10-24 09:28:27 UTC, ends at Sun 2021-10-24 10:18:52 UTC. -- Okt 24 09:29:09 odroidxu4 systemd[1]: Starting OpenBSD Secure Shell server... Okt 24 09:29:10 odroidxu4 sshd[1782]: sshd: no hostkeys available -- exiting. Okt 24 09:29:10 odroidxu4 systemd[1]: ssh.service: Control process exited, code=exited, status=1/FAILURE Okt 24 09:29:10 odroidxu4 systemd[1]: ssh.service: Failed with result 'exit-code'. Okt 24 09:29:10 odroidxu4 systemd[1]: Failed to start OpenBSD Secure Shell server. Okt 24 09:29:11 odroidxu4 systemd[1]: ssh.service: Scheduled restart job, restart counter is at 1. Okt 24 09:29:11 odroidxu4 systemd[1]: Stopped OpenBSD Secure Shell server. Okt 24 09:29:11 odroidxu4 systemd[1]: Starting OpenBSD Secure Shell server... Okt 24 09:29:11 odroidxu4 sshd[1793]: sshd: no hostkeys available -- exiting. Okt 24 09:29:11 odroidxu4 systemd[1]: ssh.service: Control process exited, code=exited, status=1/FAILURE Okt 24 09:29:11 odroidxu4 systemd[1]: ssh.service: Failed with result 'exit-code'. Okt 24 09:29:11 odroidxu4 systemd[1]: Failed to start OpenBSD Secure Shell server. Okt 24 09:29:11 odroidxu4 systemd[1]: ssh.service: Scheduled restart job, restart counter is at 2. Okt 24 09:29:11 odroidxu4 systemd[1]: Stopped OpenBSD Secure Shell server. Okt 24 09:29:11 odroidxu4 systemd[1]: Starting OpenBSD Secure Shell server... Okt 24 09:29:11 odroidxu4 sshd[1795]: sshd: no hostkeys available -- exiting. Okt 24 09:29:11 odroidxu4 systemd[1]: ssh.service: Control process exited, code=exited, status=1/FAILURE Okt 24 09:29:11 odroidxu4 systemd[1]: ssh.service: Failed with result 'exit-code'. Okt 24 09:29:11 odroidxu4 systemd[1]: Failed to start OpenBSD Secure Shell server. Okt 24 09:29:11 odroidxu4 systemd[1]: ssh.service: Scheduled restart job, restart counter is at 3. Okt 24 09:29:11 odroidxu4 systemd[1]: Stopped OpenBSD Secure Shell server. Okt 24 09:29:11 odroidxu4 systemd[1]: Starting OpenBSD Secure Shell server... Okt 24 09:29:11 odroidxu4 sshd[1800]: sshd: no hostkeys available -- exiting. Okt 24 09:29:11 odroidxu4 systemd[1]: ssh.service: Control process exited, code=exited, status=1/FAILURE Okt 24 09:29:11 odroidxu4 systemd[1]: ssh.service: Failed with result 'exit-code'. Okt 24 09:29:11 odroidxu4 systemd[1]: Failed to start OpenBSD Secure Shell server. Okt 24 09:29:11 odroidxu4 systemd[1]: ssh.service: Scheduled restart job, restart counter is at 4. Okt 24 09:29:11 odroidxu4 systemd[1]: Stopped OpenBSD Secure Shell server. Okt 24 09:29:11 odroidxu4 systemd[1]: Starting OpenBSD Secure Shell server... Okt 24 09:29:11 odroidxu4 sshd[1808]: sshd: no hostkeys available -- exiting. Okt 24 09:29:11 odroidxu4 systemd[1]: ssh.service: Control process exited, code=exited, status=1/FAILURE Okt 24 09:29:11 odroidxu4 systemd[1]: ssh.service: Failed with result 'exit-code'. Okt 24 09:29:11 odroidxu4 systemd[1]: Failed to start OpenBSD Secure Shell server. Okt 24 09:29:12 odroidxu4 systemd[1]: ssh.service: Scheduled restart job, restart counter is at 5. Okt 24 09:29:12 odroidxu4 systemd[1]: Stopped OpenBSD Secure Shell server. Okt 24 09:29:12 odroidxu4 systemd[1]: ssh.service: Start request repeated too quickly. Okt 24 09:29:12 odroidxu4 systemd[1]: ssh.service: Failed with result 'exit-code'. Okt 24 09:29:12 odroidxu4 systemd[1]: Failed to start OpenBSD Secure Shell server. Okt 24 09:29:40 odroidxu4 systemd[1]: Starting OpenBSD Secure Shell server... Okt 24 09:29:40 odroidxu4 sshd[2278]: Server listening on 0.0.0.0 port 22. Okt 24 09:29:40 odroidxu4 sshd[2278]: Server listening on :: port 22. Okt 24 09:29:40 odroidxu4 systemd[1]: Started OpenBSD Secure Shell server. Okt 24 09:29:40 odroidxu4 sshd[2278]: Received signal 15; terminating. Okt 24 09:29:40 odroidxu4 systemd[1]: Stopping OpenBSD Secure Shell server... Okt 24 09:29:40 odroidxu4 systemd[1]: ssh.service: Succeeded. Okt 24 09:29:40 odroidxu4 systemd[1]: Stopped OpenBSD Secure Shell server. Okt 24 09:29:40 odroidxu4 systemd[1]: Starting OpenBSD Secure Shell server... Okt 24 09:29:40 odroidxu4 sshd[2285]: Server listening on 0.0.0.0 port 22. Okt 24 09:29:40 odroidxu4 sshd[2285]: Server listening on :: port 22. Okt 24 09:29:40 odroidxu4 systemd[1]: Started OpenBSD Secure Shell server. Are issues 1+2 a bug in the current release or is this a bug somewhere happen during this FDE tutorial? If so, do you think they are addressable? Maybe there are some devs in here watching this thread and hopefully can give some insight? Hope the provided u-boot serial console log can assist if needed. Thanks to Steven, who showed me the right direction to nail down the issue(s) 0 Quote
phelum Posted October 24, 2021 Posted October 24, 2021 Hi, Great news that you've got somewhere. With the "eth0" name being changed to "eth............", this occurs because the kernel (or udev or something) wants to include the MAC address in the name. This can be stopped by adding "net.ifnames=0" in the kernel bootargs command line. I was chasing a bad idea because I figured your board was an "HC2" and U-Boot was intended for an "xu4". But apparently they're the same or compatible at least. But note the single line "if" test under the 4 lines that set fdtfile for various boards. It's a long line that checks for a file called ".next" and if it's not found the code sets fdtfile to ".....xu3". The check for whatever file was 88701 bytes was a clue. As you say, adding a dummy file called ".next" to your /boot directory probably would solve the problem here. From a software distribution viewpoint I would add the "net.ifnames=0" to the bootargs so the DEVICE= clause doesn't have to be changed for every board and the standard "DEVICE=eth0" should work for all boards. Also I don't see why the ".next" file is missing. Most Armbian distributions contain such a file (size 0) and this is detected by the U-Boot script and tells it to use the mainline kernel (and ....dtb in your case). But it's great that it's working now so I'd leave things as they are and all the work you've done will help anybody else that hits the same problems. Cheers, Steven 0 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.