a) Beagle board rev A5
b) a 512Meg Micro SD card with adapter
c) USB2Serial convertor (my laptop docking station has a PCI UART, but I hardly ever use docking stations)
d) card reader
Objective use the UI tools in Linux as much as possible to boot mmc card on beagleboard.
Step 1:
getting to know the usb sd/mmc card reader device:
plugin the reader and run dmesg
E.g.:
[50306.414076] sd 6:0:0:0: [sdb] 254208 512-byte hardware sectors (130 MB)See here for more instructions on using fdisk
[50306.419071] sd 6:0:0:0: [sdb] Write Protect is off
[50306.419080] sd 6:0:0:0: [sdb] Mode Sense: 03 00 00 00
[50306.419084] sd 6:0:0:0: [sdb] Assuming drive cache: write through
[50306.431052] sd 6:0:0:0: [sdb] 254208 512-byte hardware sectors (130 MB)
[50306.436051] sd 6:0:0:0: [sdb] Write Protect is off
[50306.436059] sd 6:0:0:0: [sdb] Mode Sense: 03 00 00 00
[50306.436063] sd 6:0:0:0: [sdb] Assuming drive cache: write through
[50306.436071] sdb:
[50306.442153] sd 6:0:0:0: [sdb] Attached SCSI removable disk
[50306.442235] sd 6:0:0:0: Attached scsi generic sg1 type 0
-> here are my own instructions (Ubuntu 8.04)
Step 2: Formating the mmc card
a) Stop HAL from autodetecting drives..
sudo /etc/init.d/hal stopb) Run gparted
sudo gparted /dev/sdbc) Delete all partitions present
d) create the minimum FAT32 partition (primary partition)
e) create the rest of the disk for ext3fs (primary partition)
f) apply the changes
g) Set the FAT32 partition as bootable:
select manage flags for the FAT32 partition
select bootable option:
apply and quit from gparted.
h) restart the hal
sudo /etc/init.d/hal start
sudo /etc/init.d/hal restart
(At this point, you can replug your mmc card without it being auto detected ;)...
Step 3:Copy the images
a) run mount command to see the partitions:
mountb) mount the partitions and copy the following to FAT32 partition:
/dev/sdb2 on /media/disk-1 type ext3 (rw,nosuid,nodev,uhelper=hal)
/dev/sdb1 on /media/disk-2 type vfat (rw,nosuid,nodev,uhelper=hal,shortname=mixed,uid=1000,utf8,umask=077,flush)
MLO, uImage, u-boot.bin (See here and here for more versions)
c) unmount the filesystem on the PC. put the card in the board
d) boot up and you should see x-loader followed by u-boot coming up.
Boot args: for Linux to boot out of mmc card and continue using the filesystem in mmc partition 2,
setenv bootargs "console=ttyS2,115200n8 noinitrd root=/dev/mmcblk0p1 rootfstype=ext2 rw rootdelay=1 nohz=off"setenv bootcmd 'mmcinit; fatload mmc 0 0x80300000 uImage;bootm 0x80300000'saveenv
NOTE: I dont trust the bootargs completely.. any one with proper values.. please comment in.. there are two variants here:
a) partition number mmcblk0p1 or the equal based on udev etc..
b) partition type - ext2/ext3 etc..
3 comments:
Thanks for your articles, Nishanth - I have always found them useful. Good stuff!-shrikumar
I really want to read this blog post. But all the blogger.com sidebars are covering up critical info, making this page useless.
Hi Nishanth,
You have done a great work. I am trying to unbrick my beagleboard using your method.
I can not find the script file that you have put link to. It directs to the google group homepage only.
Can you please upload it somewhere or if possible send me on gopal_amlekar@yahoo.com?
Thanks a lot!
Post a Comment