Jump to content

m1zfs

Members
  • Posts

    2
  • Joined

  • Last visited

Everything posted by m1zfs

  1. I can confirm that booting Odroid M1 from SD card does not work with U-Boot versions newer than 2024.04. Many thanks to IAV for providing a workaround. Perhaps most people are booting from NVMe now, so this issue has flown under the radar? # Install U-Boot 24.5.1 (maps to upstream v2024.04) apt-get install -y linux-u-boot-odroidm1-edge=24.5.1 # Freeze the package at that version "printf 'linux-u-boot-odroidm1-edge hold\n' | sudo dpkg --set-selections" # Flash SPI directly from the package artifacts (or via armbian-install) flashcp -v /usr/lib/linux-u-boot-edge-odroidm1/idbloader.img /dev/mtd0 flashcp -v /usr/lib/linux-u-boot-edge-odroidm1/u-boot.itb /dev/mtd2 # Confirm strings /dev/mtd0 | grep -m1 "U-Boot" # U-Boot SPL 2024.04 (Jan 10 2026 - 10:54:44 +0100) strings /dev/mtd2 | grep -m1 "U-Boot" # FIT image for U-Boot with bl31 (TF-A) Now I can boot from sdcard again w/o RCY button. To use only ZFS on my system I compiled zfs into U-Boot. That worked but the problem was still with U-Boot's handling of the mmc1 somehow. Even though zfsls/zfsload were present in the SPI-flashed U-Boot, that build immediately reinitialized mmc1 in HS200 (1.8 V) mode and hit the “Card did not respond to voltage select! : -110” failure before the boot script could run. So the inability to boot the ZFS v28 pool was due to the SPI U-Boot’s bad MMC tuning, not the ZFS commands themselves. For future reference I’ll leave here on how to built U-Boot with ZFS support from the upstream sources: # Workspace & Dependencies apt install git gcc-aarch64-linux-gnu bison flex device-tree-compiler libssl-dev make python3 ninja-build build-essential mkdir -p ~/work/u-boot && cd ~/work/u-boot # Upstream U-Boot git clone --depth=1 --branch v2024.04 https://source.denx.de/u-boot/u-boot.git # Firmare blobs git clone --depth=1 https://github.com/rockchip-linux/rkbin.git # Prepare .config cd u-boot cp configs/odroid-m1-rk3568_defconfig .config scripts/config --file .config --enable CONFIG_CMD_ZFS yes "" | olddefconfig # Compile make -j$(nproc) \ BL31=../rkbin/bin/rk35/rk3568_bl31_v1.45.elf \ ROCKCHIP_TPL=../rkbin/bin/rk35/rk3568_ddr_1560MHz_v1.23.bin # Flash SPI directly from the package artifacts (or via armbian-install) cp spl/u-boot-spl.bin /usr/lib/linux-u-boot-edge-odroidm1/idbloader.img cp u-boot.itb /usr/lib/linux-u-boot-edge-odroidm1/u-boot.itb flashcp -v /usr/lib/linux-u-boot-edge-odroidm1/idbloader.img /dev/mtd0 flashcp -v /usr/lib/linux-u-boot-edge-odroidm1/u-boot.itb /dev/mtd2
  2. # cat /boot/armbianEnv.txt verbosity=1 bootlogo=true console=both extraargs=cma=256M overlay_prefix=rockchip-rk3568-hk fdtfile=rockchip/rk3568-odroid-m1.dtb rootdev=UUID=0a9f09a7-bbb5-493f-a7af-b0e62f4aff8e rootfstype=ext4 usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u It seems the UUID can be changed in `/boot/armbianEnv.txt`.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines