I've tried updating a beagle bone black using bsd.rd, but couldn't get it to boot. Is there a way of doing this? I ended up reinstalling from scratch since the system was mostly using a stock config and I had to jump over the time_t bump. But in the future I'd like to have a mechanism to update to a newer snapshot without reinstalling.
After converting bsd.rd to bsd.umg, using the command mkuboot -a arm -o linux -e 0x80300000 -l 0x80300000 bsd.rd bsd.umg I tried booting via TFTP, which failed as follows: [[[ TFTP from server 217.197.84.33; our IP address is 217.197.84.45 Filename 'bsd.umg'. Load address: 0x80300000 Loading: ################################################################# ################################################################# ################################################################# ################################################################# ################### 822.3 KiB/s done Bytes transferred = 4084736 (3e5400 hex) U-Boot# bootm 0x80300000 ## Booting kernel from Legacy Image at 80300000 ... Image Name: boot Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 4084672 Bytes = 3.9 MiB Load Address: 80300000 Entry Point: 80300000 Verifying Checksum ... OK XIP Kernel Image ... OK OK Starting kernel ... data abort MAYBE you should read doc/README.arm-unaligned-accesses ]]] I also tried booting the bsd.umg file from the MSDOS partition, by copying it there as bsdrd.umg and tweaking the uenv.txt file to load that kernel: bootcmd=mmc rescan ; setenv loadaddr 0x82800000 ; setenv bootargs sd0i:/bsdrd.um g ; fatload mmc 0 ${loadaddr} bsdrd.umg ; bootm ${loadaddr} ; uenvcmd=boot In this case, the system would just hang after printing the text below, and I had to power-cycle it. [[[ SD/MMC found on device 0 reading uEnv.txt 155 bytes read in 3 ms (49.8 KiB/s) Loaded environment from uEnv.txt Importing environment from mmc ... Running uenvcmd ... reading bsdrd.umg 4084736 bytes read in 472 ms (8.3 MiB/s) ## Booting kernel from Legacy Image at 82800000 ... Image Name: boot Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 4084672 Bytes = 3.9 MiB Load Address: 80300000 Entry Point: 80300000 Verifying Checksum ... OK Loading Kernel Image ... OK OK Starting kernel ... ]]] Any hints?