# VIMx (VIM1 VIM2 VIM3 VIM3L) and Edge mainline uboot images (GENERATED: Sun 08 Oct 2023 09:39:21 AM UTC) ## META Edge.u-boot.sd.bin.meta:UBOOT_VER: 2021.07+ Edge.u-boot.sd.bin.meta:DATE: Sun, 08 Oct 2023 17:39:21 +0800 Edge.u-boot.sd.bin.meta:GIT_DOWNLOAD: https://github.com/khadas/khadas-uboot/releases/tag/0.17.2 VIM1.u-boot.sd.bin.meta:UBOOT_VER: 2021.07+ VIM1.u-boot.sd.bin.meta:DATE: Sun, 08 Oct 2023 17:38:34 +0800 VIM1.u-boot.sd.bin.meta:GIT_DOWNLOAD: https://github.com/khadas/khadas-uboot/releases/tag/0.17.2 VIM2.u-boot.sd.bin.meta:UBOOT_VER: 2021.07+ VIM2.u-boot.sd.bin.meta:DATE: Sun, 08 Oct 2023 17:38:44 +0800 VIM2.u-boot.sd.bin.meta:GIT_DOWNLOAD: https://github.com/khadas/khadas-uboot/releases/tag/0.17.2 VIM3.u-boot.sd.bin.meta:UBOOT_VER: 2021.07+ VIM3.u-boot.sd.bin.meta:DATE: Sun, 08 Oct 2023 17:38:56 +0800 VIM3.u-boot.sd.bin.meta:GIT_DOWNLOAD: https://github.com/khadas/khadas-uboot/releases/tag/0.17.2 VIM3L.u-boot.sd.bin.meta:UBOOT_VER: 2021.07+ VIM3L.u-boot.sd.bin.meta:DATE: Sun, 08 Oct 2023 17:39:07 +0800 VIM3L.u-boot.sd.bin.meta:GIT_DOWNLOAD: https://github.com/khadas/khadas-uboot/releases/tag/0.17.2 # mainline u-boot for Khadas VIM and EDGE sbc series ## Features + universal series for VIM1 VIM2 VIM3 VIM3L EDGE boards + mainline u-boot + patches + suitable for SPI - SD - MMC + spi flash - read / write / bootup / env + usb kbd + usb storages + pcie + nvme storage + HDMI output + HDMI 4K supported + EFI + syslinux / pxetools + boot raw and compressed(gz lzma zstd lzop) kernel + embed LOGO splash - easy customize + extra commands like `script` `kbi` + boot seq SPI => USB => SD => NVME => MMC => PXE => DHCP + fully stand-alone + embed env suitable for SPI/MMC/SD + meta info ## Special environment Options no_video - disable video no_usb - disable usb no_pci - disable pci ``` # Activate setenv no_video yes setenv no_usb yes setenv no_pci yes saveenv # Deactivate setenv no_video setenv no_usb setenv no_pci saveenv ``` ## Environment location autodetection + uboot booted from SPI => Environment use SPI location + uboot booted from MMC/SD => Environment use MMC/SD location ## Embed Environment VIM UBOOT_ENV_OFFSET=0x140000 UBOOT_ENV_SIZE=0x8000 UBOOT_ENV_SIZE=32768 ``` saveenv ``` NOTE: spi/sd/emmc have same env offset and size ## NVME pcie vim3/Edge usage can bootup from from pcie ( U-Boot 2021.07 ) VIM3/VIM3L prepare # configure pcie portmode kbi portmode 1 kbi poweroff # activate run boot_pci_enum; run nvme_init; PCIE-0: Link up (Gen2-x1, Bus0) nvme info Device 0: Vendor: 0x2646 Rev: S5Z42105 Prod: 50026B728253D824 Type: Hard Disk Capacity: 238475.1 MB = 232.8 GB (488397168 x 512) ## setup boot mode under Krescue main menu -> kbi device configure -> Set Port Mode to PCIe ## Update/Write eMMC U-Boot via Krescue Advanced -> Experimental -> Update/Write U-Boot by online to EMMC NOTE: non destructive for mainline linux OS ## Other features ### get meta from image file tail -n19 VIM*.u-boot.sd.bin tail -n19 VIM*.u-boot.spi.bin grep -m1 \#\#UBOOT\#\# -B18 /dev/mmcblk1 head -c2m /dev/mmcblk1 | grep -m1 \#\#UBOOT\#\# -B18 # get sd/mmc uboot meta grep -m1 \#\#UBOOT\#\# -B18 /dev/mtdblock0 # get spi uboot meta ## check online meta examples curl https://dl.khadas.com/Firmware/uboot/mainline/VIM2.u-boot.spi.bin.meta curl https://github.com/khadas/khadas-uboot/releases/download/0.10/VIM2.u-boot.sd.bin.meta wget -qO- https://github.com/khadas/khadas-uboot/releases/download/0.10/VIM2.u-boot.spi.bin.meta https://github.com/khadas/khadas-uboot/releases/latest ### PXE FDT overlays example usage FDTOVERLAYS fdt/ethmac_disable.dtbo fdt/pcie_disable.dtbo fdt/vpu_disable.dtbo FDTOVERLAYDIR fdt FDTOVERLAYS ethmac_disable.dtbo pcie_disable.dtbo vpu_disable.dtbo FDTOVERLAYS ethmac_disable pcie_disable vpu_disable ## VIMx sd / mmc / emmc uboot + VIM1.u-boot.sd.bin + VIM2.u-boot.sd.bin + VIM3.u-boot.sd.bin + VIM3L.u-boot.sd.bin ``` # write to sd / emmc - example dd if=VIM3L.u-boot.sd.bin of=/dev/mmcblk? conv=fsync,notrunc bs=442 count=1 dd if=VIM3L.u-boot.sd.bin of=/dev/mmcblk? conv=fsync,notrunc bs=512 skip=1 seek=1 ``` !NOTE: same can be writed by 0 offset to sd / mmc ( cat VIM?.u-boot.sd.bin > /dev/mmcblk? ) !NOTE: but partition table will be rewrited missed ( by 442 offset ) and need created it ## VIMx spi flash uboot + VIM1.u-boot.spi.bin + VIM2.u-boot.spi.bin + VIM3.u-boot.spi.bin + VIM3L.u-boot.spi.bin !NOTE: write to spi flash by 0 offset ## EDGE sd / mmc / emmc uboot + Edge.u-boot.mmc.64.bin ``` # write to sd / emmc - example dd if=Edge.u-boot.mmc.64.bin of=/dev/mmcblk? conv=fsync,notrunc seek=64 ``` !NOTE: write to 64*512 bytes offset + Edge.u-boot.sd.bin ``` # write to sd / emmc - example dd if=Edge.u-boot.sd.bin of=/dev/mmcblk? conv=fsync,notrunc skip=64 seek=64 # or just from begin and rewrite mbr dd if=Edge.u-boot.sd.bin of=/dev/mmcblk? conv=fsync,notrunc ``` !NOTE: write to 0 offset ## EDGEx spi flash uboot + Edge.u-boot.spi.bin !NOTE: write to spi flash by 0 offset ## VIMx mmc uboot for aml-burn-tool + VIM1.uboot-mainline.emmc.aml.img + VIM2.uboot-mainline.emmc.aml.img + VIM3.uboot-mainline.emmc.aml.img + VIM3L.uboot-mainline.emmc.aml.img !NOTE: emmc mainline uboot images for burn via aml-burn-tool software ``` # burn example aml-burn-tool -b VIM? -i VIM?.uboot-mainline.emmc.aml.img ``` ## VIMx mmc uboot for krescue + VIM*kresq !NOTE: emmc mainline uboot images for krescue software ## ADDITIONAL + list.md5sum - md5 sum list ## DOWNLOADS + https://dl.khadas.com/Firmware/uboot/main-line/ + https://github.com/khadas/khadas-uboot/releases/tag/last ## LINKS + https://docs.khadas.com/ + https://forum.khadas.com/ + https://github.com/khadas + https://github.com/khadas/khadas-uboot + https://dl.khadas.com/Firmware/Krescue/