U-Boot UMS on APF & OPOS
From ArmadeusWiki
Infos for U-Boot's USB Mass Storage gadget mode (or UMS) usage on APF6 and OPOS6UL.
- First, keep your USB debug cable and connect a second USB cable on APF6_Dev or OPOS6ULDev's OTG port.
- Under U-Boot type:
BIOS> ums 0 mmc 0 UMS: disk start sector: 0x0, count: 0x760000 |
- On your host computer you should see the eMMC partition like a standard USB key.
$ dmesg [...] [26828.348088] sd 13:0:0:0: [sdc] Mode Sense: 0f 00 00 00 [26828.348395] sd 13:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA [26828.354177] sdc: sdc1 sdc2 [26828.356782] sd 13:0:0:0: [sdc] Attached SCSI disk
Here the device is /dev/sdc and all partitions have been automounted by the host:
[26830.002168] EXT4-fs (sdc1): mounting ext2 file system using the ext4 subsystem [26830.054358] EXT4-fs (sdc2): mounting ext2 file system using the ext4 subsystem [26830.078638] EXT4-fs (sdc2): warning: mounting unchecked fs, running e2fsck is recommended [26830.114382] EXT4-fs (sdc2): mounted filesystem without journal. Opts: (null) [26830.135564] EXT4-fs (sdc1): warning: mounting unchecked fs, running e2fsck is recommended [26830.268450] EXT4-fs (sdc1): mounted filesystem without journal. Opts: (null)
Warning: Before doing the following procedure, be sure that your device name is correct. You can erase all your host datas if you do it wrong !!! |
- The rootfs is under the sdc2 and is named "rootfs". In debian/ubuntu it's mounted under /media/usb1 if no other USB key is present on system.
$ ls /media/usb1/ bin boot dev etc home init lib lib32 linuxrc lost+found media mnt opt proc root run sbin sys tmp usr var
- To flash entire rootfs, first erase all files on this partition:
$ sudo umount /media/usb1 $ sudo mkfs.ext4 /dev/sdc2
- Then mount it under an arbitrary directory:
$ sudo mkdir /tmp/rootfs $ sudo mount /dev/sdc2 /tmp/rootfs
- Untar the archive generated by your bsp (in buildroot/output/images/)
$ make shell_env $ . armadeus_env.sh $ sudo tar -xvf $ARMADEUS_ROOTFS_TAR -C /tmp/rootfs
- then umount the filesystem:
$ sudo umount /tmp/rootfs/ $ sync
- Once unmounted, you can kill the U-Boot's USB gadget process with a Ctrl-C:
BIOS> ums 0 mmc 0 UMS: disk start sector: 0x0, count: 0x760000 CTRL+C - Operation aborted BIOS>