Wednesday, 26 June 2013
Brick + Recovery + TFTP
Managed to brick my BBB within two days of receiving it.
Fix up the eMMC using http://www.crashcourse.ca/wiki/index.php/BBB_software_update_process.
The trickiest part was that I didn't realize that the script was working in the background and I just had to wait. I thought I'd see messages pop up on the serial console but nothing came up. And wasted a day thinking why isnt it working. vvu on #beagle-gsoc told me to simply wait. Lol.
A simple ps -a cleared the matter :)
I wanted to set up uboot so that my uImage boots via tftp.
Lots of guides here and there. http://eewiki.net/display/linuxonarm/BeagleBone+Black and http://wiki.beyondlogic.org/index.php/BeagleBoneBlack_Building_Kernel
A bit scattered though. And 3.8 kernel changes quite a few things.
http://elinux.org/BeagleBone_and_the_3.8_Kernel is a comprehensive overview of changes.
Anyways. My uEnv if anyone interested.
#run tftpboot 0x80200000 uImage
#uenvcmd=run loaduimage run loadfdt run mmcargs bootz 0x802800000 - 0x80F80000
bootargs=console=ttyO0,115200n8 root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait
uenvcmd=echo "Booting from Network";tftpboot 0x80200000 uImage; tftpboot 0x815f0000 dtb; bootm 0x80200000 - 0x815f0000
One thing to note that someone helped me out in IRC.
3.8 is a DT based kernel. So its not just the uImage file to load.
If you are loading just a uImage file. Then you have to load the uImage-dtb file which can be compiled. Which is basically the DT appended to the kernel.
Otherwise you can load two files. uImage + DT. The DT file is the device tree that replaced the old board file system. It took a while to digest things.
https://www.youtube.com/watch?v=MOhVdknBOkw Links to a presentation by Koen on it as well.