Gareth Halfacree Posted February 24, 2021 Posted February 24, 2021 My Helios64 has been booting from an M.2 drive since I got it, and while I've been doing regular apt-upgrades I've been ignoring the bootloader. This post suggests that could be a problem, so I figured I'd upgrade the bootloader through armbian-config. Trouble is, I can't. I can load armbian-config without error, but when I go into System there's no Install option any more. All I have are Freeze, Nightly, Lowlevel, Bootenv, CPU, Avahi, Hardware, Other, SSH, Firmware, ZSH, Default. Is there another way to ensure the bootloader is up-to-date? 1 Quote
gprovost Posted February 25, 2021 Posted February 25, 2021 Humm that's funny. You can call directly the sub app that is in charge of installing / updating bootloader. $> nand-sata-install You should use option 5. 0 Quote
Gareth Halfacree Posted February 25, 2021 Author Posted February 25, 2021 6 hours ago, gprovost said: Humm that's funny. You can call directly the sub app that is in charge of installing / updating bootloader. $> nand-sata-install You should use option 5. Unfortunately, that doesn't work either - and may provide a hint as to why there's no option to install from armbian-config. If I run nand-sata-install, I get a message reading "This tool must be run from SD-card!" - which, of course, it's not, it's being run from the SATA SSD. Is there a way to update the bootloader without taking the system down, booting from an SD card, updating the bootloader, removing the SD card, and rebooting back into the installed operating system again? Because that's a bit of a slog, especially if the bootloader's going to need regular updates... 0 Quote
gprovost Posted February 26, 2021 Posted February 26, 2021 @Gareth Halfacree Can you provide the output of the 2 following commands. lsblk and cat /proc/mounts 0 Quote
Gareth Halfacree Posted February 26, 2021 Author Posted February 26, 2021 @Igor I've seen you post the same copy-and-paste message to others, and I remain as unimpressed now as the first time I saw it. I'm not asking you, nor Armbian, for support, here: I'm asking Kobol, to whom I have paid money for a commercial product with support, to assist me. If you want to help me, feel free; if not, kindly leave Kobol and its appointed representatives to the task. I'll be honest: if I'd know about your user-hostile attitude before pre-ordering the Helios64, I wouldn't have ordered it at all - I'd have bought something that ran plain-Jane Ubuntu instead. It's certainly put me off using Armbian in the future, and I'm only still here because I don't want the money I've spent on the Helios64 to be wasted. @gprovost Thanks for offering your assistance. Here's the output: Quote ~$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT loop1 7:1 0 272K 1 loop /snap/bpytop/199 loop2 7:2 0 57.2M 1 loop /snap/core20/907 loop3 7:3 0 57.2M 1 loop /snap/core20/877 loop4 7:4 0 27M 1 loop /snap/snapd/11043 loop5 7:5 0 280K 1 loop /snap/bpytop/203 loop6 7:6 0 27M 1 loop /snap/snapd/10709 sda 8:0 0 223.6G 0 disk └─sda1 8:1 0 223.6G 0 part / sdc 8:32 0 5.5T 0 disk /media/mirror1 sdd 8:48 0 5.5T 0 disk mmcblk1 179:0 0 14.6G 0 disk └─mmcblk1p1 179:1 0 14.4G 0 part /media/mmcboot mmcblk1boot0 179:32 0 4M 1 disk mmcblk1boot1 179:64 0 4M 1 disk zram0 251:0 0 1.9G 0 disk [SWAP] zram1 251:1 0 500M 0 disk /var/log ~$ cat /proc/mounts sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0 proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0 udev /dev devtmpfs rw,nosuid,noexec,relatime,size=1869836k,nr_inodes=467459,mode=755 0 0 devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0 tmpfs /run tmpfs rw,nosuid,nodev,noexec,relatime,size=389116k,mode=755 0 0 /dev/sda1 / ext4 rw,noatime,nodiratime,errors=remount-ro,commit=600 0 0 securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatime 0 0 tmpfs /dev/shm tmpfs rw,nosuid,nodev 0 0 tmpfs /run/lock tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k 0 0 tmpfs /sys/fs/cgroup tmpfs ro,nosuid,nodev,noexec,mode=755 0 0 cgroup2 /sys/fs/cgroup/unified cgroup2 rw,nosuid,nodev,noexec,relatime,nsdelegate 0 0 cgroup /sys/fs/cgroup/systemd cgroup rw,nosuid,nodev,noexec,relatime,xattr,name=systemd 0 0 pstore /sys/fs/pstore pstore rw,nosuid,nodev,noexec,relatime 0 0 none /sys/fs/bpf bpf rw,nosuid,nodev,noexec,relatime,mode=700 0 0 cgroup /sys/fs/cgroup/memory cgroup rw,nosuid,nodev,noexec,relatime,memory 0 0 cgroup /sys/fs/cgroup/blkio cgroup rw,nosuid,nodev,noexec,relatime,blkio 0 0 cgroup /sys/fs/cgroup/net_cls,net_prio cgroup rw,nosuid,nodev,noexec,relatime,net_cls,net_prio 0 0 cgroup /sys/fs/cgroup/cpu,cpuacct cgroup rw,nosuid,nodev,noexec,relatime,cpu,cpuacct 0 0 cgroup /sys/fs/cgroup/devices cgroup rw,nosuid,nodev,noexec,relatime,devices 0 0 cgroup /sys/fs/cgroup/hugetlb cgroup rw,nosuid,nodev,noexec,relatime,hugetlb 0 0 cgroup /sys/fs/cgroup/cpuset cgroup rw,nosuid,nodev,noexec,relatime,cpuset 0 0 cgroup /sys/fs/cgroup/pids cgroup rw,nosuid,nodev,noexec,relatime,pids 0 0 cgroup /sys/fs/cgroup/perf_event cgroup rw,nosuid,nodev,noexec,relatime,perf_event 0 0 cgroup /sys/fs/cgroup/freezer cgroup rw,nosuid,nodev,noexec,relatime,freezer 0 0 cgroup /sys/fs/cgroup/rdma cgroup rw,nosuid,nodev,noexec,relatime,rdma 0 0 systemd-1 /proc/sys/fs/binfmt_misc autofs rw,relatime,fd=28,pgrp=1,timeout=0,minproto=5,maxproto=5,direct 0 0 hugetlbfs /dev/hugepages hugetlbfs rw,relatime,pagesize=2M 0 0 mqueue /dev/mqueue mqueue rw,nosuid,nodev,noexec,relatime 0 0 debugfs /sys/kernel/debug debugfs rw,nosuid,nodev,noexec,relatime 0 0 tracefs /sys/kernel/tracing tracefs rw,nosuid,nodev,noexec,relatime 0 0 fusectl /sys/fs/fuse/connections fusectl rw,nosuid,nodev,noexec,relatime 0 0 configfs /sys/kernel/config configfs rw,nosuid,nodev,noexec,relatime 0 0 tmpfs /tmp tmpfs rw,nosuid,relatime 0 0 /dev/loop2 /snap/core20/907 squashfs ro,nodev,relatime 0 0 /dev/loop1 /snap/bpytop/199 squashfs ro,nodev,relatime 0 0 /dev/loop3 /snap/core20/877 squashfs ro,nodev,relatime 0 0 /dev/mmcblk1p1 /media/mmcboot ext4 rw,noatime,nodiratime,errors=remount-ro,commit=600 0 0 /dev/mmcblk1p1 /boot ext4 rw,noatime,nodiratime,errors=remount-ro,commit=600 0 0 /dev/sdc /media/mirror1 btrfs rw,nosuid,nodev,noexec,noatime,nodiratime,compress-force=zstd:3,space_cache,subvolid=5,subvol=/ 0 0 /dev/sda1 /var/log.hdd ext4 rw,noatime,nodiratime,errors=remount-ro,commit=600 0 0 /dev/zram1 /var/log ext4 rw,relatime,discard 0 0 tmpfs /run/user/998 tmpfs rw,nosuid,nodev,relatime,size=389112k,mode=700,uid=998,gid=998 0 0 tracefs /sys/kernel/debug/tracing tracefs rw,nosuid,nodev,noexec,relatime 0 0 tmpfs /run/user/1000 tmpfs rw,nosuid,nodev,relatime,size=389112k,mode=700,uid=1000,gid=1000 0 0 /dev/loop6 /snap/snapd/10709 squashfs ro,nodev,relatime 0 0 /dev/loop4 /snap/snapd/11043 squashfs ro,nodev,relatime 0 0 /dev/loop5 /snap/bpytop/203 squashfs ro,nodev,relatime 0 0 binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc rw,nosuid,nodev,noexec,relatime 0 0 Everything should be pretty standard, except I increased the zram log partition size because I have a server running which generates quite a lot of log data over time. 0 Quote
gprovost Posted February 26, 2021 Posted February 26, 2021 Ok here the dirty way to update it in your specific case where eMMC is at /dev/mmcblk1 Quote cd /usr/lib/linux-u-boot-current-helios64_21.02.1_arm64 dd if=idbloader.bin of=/dev/mmcblk1 seek=64 conv=notrunc dd if=uboot.img of=/dev/mmcblk1 seek=16384 conv=notrunc dd if=trust.bin of=/dev/mmcblk1 seek=24576 conv=notrunc We will work on nand-sata-install to support the use case of rootfs on HDD/SSD and bootloader on eMMC. 1 Quote
Gareth Halfacree Posted February 26, 2021 Author Posted February 26, 2021 @gprovost Thanks, I really appreciate it. The commands ran without error, though I won't truly know if it's worked until the next reboot! 0 Quote
Werner Posted February 26, 2021 Posted February 26, 2021 Topic split. Apologies for the noise. 0 Quote
Gareth Halfacree Posted February 26, 2021 Author Posted February 26, 2021 For anyone visiting from Twitter and wondering what the fuss is about, you can find the split thread here. 0 Quote
Z06Frank Posted March 5, 2021 Posted March 5, 2021 I have the same exact issue as with Gareth above where the boot OSs on the EMMc and OS on my M2 SATA and I can't upgrade the bootloader for the SAME reasons. FYI...I'm on 5.10.16-rockchip64 Armbian 21.02.2 My "lsblk" key info is: mmcblk2 179:0 0 14.6G 0 disk └─mmcblk2p1 179:1 0 14.4G 0 part /media/mmcboot mmcblk2boot0 179:32 0 4M 1 disk mmcblk2boot1 179:64 0 4M 1 disk Not sure what you needed with the cat /proc/mounts so here's the dump (minus some other drive and ram non necessary info): sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0 proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0 udev /dev devtmpfs rw,nosuid,relatime,size=1868980k,nr_inodes=467245,mode=755 0 0 devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0 tmpfs /run tmpfs rw,nosuid,noexec,relatime,size=389020k,mode=755 0 0 /dev/sda1 / ext4 rw,noatime,nodiratime,errors=remount-ro,commit=600 0 0 securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatime 0 0 tmpfs /dev/shm tmpfs rw,nosuid,nodev 0 0 tmpfs /run/lock tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k 0 0 tmpfs /sys/fs/cgroup tmpfs ro,nosuid,nodev,noexec,mode=755 0 0 systemd-1 /proc/sys/fs/binfmt_misc autofs rw,relatime,fd=35,pgrp=1,timeout=0,minproto=5,maxproto=5,direct 0 0 hugetlbfs /dev/hugepages hugetlbfs rw,relatime,pagesize=2M 0 0 debugfs /sys/kernel/debug debugfs rw,relatime 0 0 mqueue /dev/mqueue mqueue rw,relatime 0 0 sunrpc /run/rpc_pipefs rpc_pipefs rw,relatime 0 0 fusectl /sys/fs/fuse/connections fusectl rw,relatime 0 0 configfs /sys/kernel/config configfs rw,relatime 0 0 nfsd /proc/fs/nfsd nfsd rw,relatime 0 0 tmpfs /tmp tmpfs rw,relatime 0 0 /dev/mmcblk2p1 /media/mmcboot ext4 rw,noatime,nodiratime,errors=remount-ro,commit=600 0 0 /dev/mmcblk2p1 /boot ext4 rw,noatime,nodiratime,errors=remount-ro,commit=600 0 0 tracefs /sys/kernel/debug/tracing tracefs rw,relatime 0 0 nsfs /run/docker/netns/6406a1ca38e9 nsfs rw 0 0 tmpfs /run/user/0 tmpfs rw,nosuid,nodev,relatime,size=389016k,mode=700 0 0 Can I assume the I change the lines from above to this below????? (i.e, to the correct Armbian version of 21.02.2 and my bootloader of mmcblk2). cd /usr/lib/linux-u-boot-current-helios64_21.02.2_arm64 dd if=idbloader.bin of=/dev/mmcblk2 seek=64 conv=notrunc dd if=uboot.img of=/dev/mmcblk2 seek=16384 conv=notrunc dd if=trust.bin of=/dev/mmcblk2 seek=24576 conv=notrunc I want to make sure I do this right to avoid a serious boot error Thanks Kobol team!!! 0 Quote
gprovost Posted March 8, 2021 Posted March 8, 2021 Yes you can look in /usr/lib which is the latest linux-u-boot-current-helios64_XX.YY.X_arm64 folder and use it then with the same above dd commands But please take note that it is usually not necessary to update u-boot. If your system boot fine and works fine then there isn't much benefit at updating U-boot and taking the risk to mess up something. 0 Quote
Z06Frank Posted March 9, 2021 Posted March 9, 2021 Thanks for the response and recommendation. I wasn't sure if it was necessary to keep this updated during the early development of firmware/software of this board. 0 Quote
ebin-dev Posted March 9, 2021 Posted March 9, 2021 I can confirm that the following procedure updates u-boot on emmc without any issues: # cd /usr/lib/linux-u-boot-current-helios64_21.02.3_arm64 # ls -la total 8404 drwxrwxr-x 2 root root 4096 Mar 9 11:01 . drwxr-xr-x 80 root root 4096 Mar 9 11:01 .. -rw-rw-r-- 1 root root 206844 Mar 8 15:55 idbloader.bin -rw-rw-r-- 1 root root 4194304 Mar 8 15:55 trust.bin -rw-rw-r-- 1 root root 4194304 Mar 8 15:55 uboot.img # dd if=idbloader.bin of=/dev/mmcblk2 seek=64 conv=notrunc # dd if=uboot.img of=/dev/mmcblk2 seek=16384 conv=notrunc # dd if=trust.bin of=/dev/mmcblk2 seek=24576 conv=notrunc # reboot now 1 Quote
Z06Frank Posted March 10, 2021 Posted March 10, 2021 I updated kernel and firmware to this version of Armbian 21.02.3 Buster with Linux 5.10.21-rockchip64 (latest) and ran the u-boot update per "ebin-dev" and Kobol developers. Update went smooth as silk....thanks 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.