Jump to content

Mortimer2003

Validating
  • Posts

    1
  • Joined

  • Last visited

  1. Note: This is for Odroid m1s, not Odroid m1 - there just isn't a forum for the m1s (yet?) When I tried to start the board with the community image for the Odroid m1s on a SD card, it wouldn't boot. The connected screen (HDMI) would stay black and the blue heartbeat LED would stay on permanently. I tried building and flashing u-boot but that didn't help me. Here's what DID work: (Note: it worked for me. I can't guarantee that this fixes it for everyone, use at your own risk) I mounted the SD card on a Linux desktop and created backups of the boot scripts (just to be safe) sudo cp <mount_path>/armbi_root/boot/boot.cmd <mount_path>/armbi_root/boot/boot.cmd.bak sudo cp <mount_path>/armbi_root/boot/boot.scr <mount_path>/armbi_root/boot/boot.scr.bak Then I set the load address to 0x0c000000 sudo sed -i 's/setenv load_addr "0x9000000"/setenv load_addr "0x0c000000"/' <mount_path>/armbi_root/boot/boot.cmd Then I ran mkimage as follows: sudo /usr/bin/mkimage -C none -A arm -T script -d <mount_path>/armbi_root/boot/boot.cmd <mount_path>/armbi_root/boot/boot.scr This fixed the booting, but just to be sure a future update wouldn't undo it I also wrote it to armbianEnv.txt echo "load_addr=0x0c000000" | sudo tee -a <mount_path>/armbi_root/boot/armbianEnv.txt And that's it! One more thing: I noticed that Ethernet did not work out of the box, so I did this: I attached a UART cable to log into the machine and created the following script, which patches the device tree. You might need to get a little creative if your only access would be through Ethernet, but you I'm sure you can figure something out. (Maybe create the necessary files while the SD card is still mounted on your PC) cat > /usr/local/sbin/patch-gmac-dtb.sh << 'EOF' #!/bin/bash DTB=/boot/dtb/rockchip/rk3566-odroid-m1s.dtb dtc -I dtb -O dts $DTB -o /tmp/m1s.dts 2>/dev/null # Only patch if not already applied if grep -q 'snps,reset-gpio' /tmp/m1s.dts; then echo "GMAC DTB patch already present, skipping" exit 0 fi sed -i '/phy-mode = "rgmii-id";/a \\t\tsnps,reset-gpio = <0x51 0x0f 0x01>;\n\t\tsnps,reset-active-low;\n\t\tsnps,reset-delays-us = <0x00 0x4e20 0x186a0>;' /tmp/m1s.dts sed -i '/reset-assert-us/d; /reset-deassert-us/d; /reset-gpios = <0x51/d' /tmp/m1s.dts dtc -I dts -O dtb /tmp/m1s.dts -o $DTB 2>/dev/null echo "GMAC DTB patch applied" EOF chmod +x /usr/local/sbin/patch-gmac-dtb.sh Execute the script and Ethernet should be working. (Might need a reboot, though). If this works, you should make sure this is applied after every kernel update, because it will get overwritten otherwise: # Run it automatically after kernel/dtb package updates cat > /etc/apt/apt.conf.d/99-patch-gmac-dtb << 'EOF' DPkg::Post-Invoke {"if [ -f /usr/local/sbin/patch-gmac-dtb.sh ]; then /usr/local/sbin/patch-gmac-dtb.sh; fi"}; EOF
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines