First of all, thank you for this post, it works great on my latest BBBs 
(REV C). However, I cannot get it to work with my older BBBs (REV A6). We 
have quite a few of the older versions laying around and would like to use 
those for some KIOSKs we are setting up in house. Unfortunately, the script 
does not want to work on these boards. The script is booting to the SD card 
but it does not appear to recognize (or mount) the eMMC. I added `ls /dev > 
/mnt/dev.txt` to the bash script so I could see the device list, and there 
is only mmcblk0, there is not a mmcblk1. I am powering the device with a 
5V, 2A power supply and have disconnected all other cables (as suggested in 
other posts) and still no luck. The device goes straight to a solid LED and 
writes the dev.txt and a 1KB img.gz file. I have tried running it on 
multiple boards and am unsure what to try next. Any thoughts as to why the 
eMMC is not being loaded/mounted?

On Thursday, September 26, 2013 at 12:16:54 PM UTC-5, Jason Kridner wrote:
>
> There are lots of ways to extract the contents of the eMMC to save off and 
> reuse. I'm proposing a method using Buildroot and an initramfs such that 
> you can simply drop a few files from a .zip onto a normal, FAT-formatted SD 
> card to perform the extraction. There are several things really handy here, 
> such as the ability to edit autorun.sh to be whatever script you want to 
> run on your board at boot. In the archive, I only have the necessary 
> autorun.sh for *saving* your eMMC content. The flip-side is provided here 
> in the text such that you need to go through a couple of steps before you 
> trash your eMMC.
>
> The steps for saving off your eMMC contents to a file:
> * Get a 4GB or larger uSD card that is FAT formatted.
> * Download https://s3.amazonaws.com/beagle/beagleboneblack-save-emmc.zip 
> and extract the contents onto your uSD card.
> * Eject uSD card from your computer, insert into powered-off BeagleBone 
> Black and apply power to your board.
> * You'll notice USR0 (the LED closest to the S1 button in the corner) will 
> (after about 20 seconds) start to blink steadily, rather than the 
> double-pulse "heartbeat" pattern that is typical when your BeagleBone Black 
> is running the typical Linux kernel configuration.
> * It'll run for a bit under 10 minutes and then USR0 will stay ON steady. 
> That's your cue to remove power, remove the uSD card and put it back into 
> your computer.
> * You should see a file called BeagleBoneBlack-eMMC-image-XXXXX.img, where 
> XXXXX is a set of random numbers. Save off this file to use for restoring 
> your image later.
>
> Because the date won't be set on your board, you might want to adjust the 
> date on the file to remember when you made it. Delete the file if you want 
> to make room for a new backup image. For storage on your computer, these 
> images will typically compress very well, so use your favorite compression 
> tool.
>
> To restore the file, make sure there is a valid 
> BeagleBoneBlack-eMMC-image-XXXX.img file on the uSD card and edit 
> autorun.sh with your favorite text editor to contain the following:
> #!/bin/sh
> echo timer > /sys/class/leds/beaglebone\:green\:usr0/trigger 
> dd if=/mnt/BeagleBoneBlack-eMMC-image-XXXXX.img of=/dev/mmcblk1 bs=10M
> sync
> echo default-on > /sys/class/leds/beaglebone\:green\:usr0/trigger
>
> *NOTE*: Be certain to replace the 'XXXXX' above with the proper name of 
> your image file.
>
> This image was built using Buildroot. The sources are at 
> https://github.com/jadonk/buildroot with tag save-emmc-0.0.1. Download 
> via https://github.com/jadonk/buildroot/releases/tag/save-emmc-0.0.1 or 
> clone the git repo. It is a small fork from git://
> git.buildroot.net/buildroot tag e9f6011617528646768e69203e85fe64364b7efd.
>
> To build, 'make beagleboneblack_defconfig; make; ./mkuimage.sh'.  Output 
> files (am335x-boneblack.dtb, MLO, u-boot.img and uImage) will be in the 
> output/images subdirectory. The following files were created manually.
>
> uEnv.txt:
> bootpart=0:1
> bootdir=
> fdtaddr=0x81FF0000
> optargs=quiet capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN
> uenvcmd=load mmc 0 ${loadaddr} uImage;run loadfdt;setenv bootargs 
> console=${console} ${optargs};bootm ${loadaddr} - ${fdtaddr}
>
> autorun.sh:
> #!/bin/sh
> echo timer > /sys/class/leds/beaglebone\:green\:usr0/trigger 
> dd if=/dev/mmcblk1 of=/mnt/BeagleBoneBlack-eMMC-image-$RANDOM.img bs=10M 
> sync
> echo default-on > /sys/class/leds/beaglebone\:green\:usr0/trigger
>
> The kernel is based on 
> https://github.com/beagleboard/kernel/commit/9fdb452245a58158a4bea787cdc663c17681bcfe,
>  
> but I applied the patches, added firmware and uploaded it to 
> https://github.com/beagleboard/linux/commit/ddd36e546e53d3c493075bbebd6188ee843208f9
>  
> to pull down in the Buildroot makefile. The link to the source for the 
> firmware is in the commit.
>
> I've applied to join the Buildroot mailing list to send these patches 
> upstream. The power management firmware is not yet loading properly, but 
> that is something I can look into.
>
> Happy hacking!
>

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to