[[bc10/rowboat]]~ - Contents #contents * Summary [#wf44836e] > This is the last part of rowboat-eclair-dsp section. The previous sections have showed where to obtain the source files and~ how to build the rowboat-ecliar-dsp files form the source. DSP and SGX have been integrate. In this section, it discusses how~ to create a bootable SD card. This section shows how to transfer the files of for rowboat-eclair-dsp from a host computer to a~ SD card.~ * SD card boot [#h46a0e77] ** Preparation for creating bootable SD card [#mc875cc0] > This section basically follows [[this article:http://code.google.com/p/rowboat/wiki/ConfigureAndBuild#Prepare_SD_card]]. Since bc10 is a clone of BeagleBoard, the same process can be applicable. However,~ the specifications of bc10's hardware are not same as beagleboard's, so the boot process of bc10 is quite differ from BeagleBoard's.~ Please read [[bc10/booting]] before working on following sections.~ ** Create bootable SD card [#o34efc1c] > This follows the direction listed at [[Create bootable SD card in bc10/booting>http://labs.beatcraft.com/en/index.php?bc10%2Fbooting#mef5758b]] and create the same composition of partitions in a~ SD card. FAT32 partition and Linux partition are created. To work on a host computer, the created SD card is mounted on the~ host computer. (For Ubuntu, because of udev, SD cards are automatically mounted). Check the name of device.~ > $ mount /dev/sda1 on / type ext4 (rw,errors=remount-ro) proc on /proc type proc (rw,noexec,nosuid,nodev) none on /sys type sysfs (rw,noexec,nosuid,nodev) none on /sys/fs/fuse/connections type fusectl (rw) none on /sys/kernel/debug type debugfs (rw) none on /sys/kernel/security type securityfs (rw) none on /dev type devtmpfs (rw,mode=0755) none on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620) none on /dev/shm type tmpfs (rw,nosuid,nodev) none on /var/run type tmpfs (rw,nosuid,mode=0755) none on /var/lock type tmpfs (rw,noexec,nosuid,nodev) none on /lib/init/rw type tmpfs (rw,nosuid,mode=0755) binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev) gvfs-fuse-daemon on /home/beat/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=beat) /dev/sdd2 on /media/LABEL2 type ext3 (rw,nosuid,nodev,uhelper=udisks) /dev/sdd1 on /media/LABEL1 type vfat (rw,nosuid,nodev,uhelper=udisks,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,flush) > Please examine whether the SD card does have the required partitions or not. $ sudo fdisk -l /dev/sdd > Disk /dev/sdd: 1977 MB, 1977614336 bytes 255 heads, 63 sectors/track, 240 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xfeda75ec Device Boot Start End Blocks Id System /dev/sdd1 * 1 51 409626 c W95 FAT32 (LBA) /dev/sdd2 52 240 1518142+ 83 Linux ** Place uImage [#n0755a3d] > Copy uImage into FAT partition. (Assume that MOL (x-loader) and u-boot.bin have already been copied into FAT partition.) $ sudo cp ~/rowboat-eclair-dsp/kernel/arch/arm/boot/uImage /media/LABEL1/ ** Put rootfs [#m3b1d925] > Expand the archive of android rootfs in ext3 partition. $ sudo tar jxfv out/target/product/beagleboard/rootfs.tar.bz2 --numeric-owner -C /media/LABEL2 ** Create boot.scr [#yaffd8ba] > Create '''boot.scr'''. This is referred from [[this site:http://www.gumstix.net/wiki/index.php?title=U-Boot]]. As power is turned on, u-boot looks into '''boot.scr''' file. To set up this file, enable configuring~ hardware during boot process. ** Create boot.script and execute mkimage [#vd13abe8] > '''boot.scr''' creates the same contents as '''setenv''', an u-boot command prompt in serial console, generates. Because of this file, does not require~ any manual setting as every time computer boots. Since DVSDK DSP stack uses physical memory area from 88M to 120M, do not change~ the memory mapping as it is configured. If creates the same contents as '''setenv''', an u-boot command prompt in serial console, generates, does not require any manual setting as~ every time computer boots. Since DVSDK DSP stack uses physical memory area from 88M to 120M, do not change the memory mapping~ as it is configured. > Create '''boot.script''' with the contents shown below. > if fatload mmc 0 84000000 uImage then echo ***** Kernel: /dev/mmcblk0p1/uImage.bin ***** fi echo ***** RootFS: /dev/mmcblk0p2 ***** setenv bootargs 'mem=88M@0x80000000 mem=128M@0x88000000 androidboot.console=ttyS2 console=tty0 console=ttyS2,115200n8 root=/dev/mmcblk0p2 init=/init rootwait omapfb.video_mode=680x480MR-24@60' bootm 84000000 > '''boot.script''' is treated as the parameter, execute mkimage as it is shown below. $ mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n ./boot.script -d ./boot.script ./boot.scr &> /dev/null > Copy the generated '''boot.scr''' into FAT partition of the SD card. $ sudo cp boot.scr /media/LABEL1/ > This is how to create the bootable SD card for rowboat-eclair-dsp. At the end, for precaution, sync and unmount the SD card from the working~ host PC. $ sync $ sudo umount /media/LABEL1 $ sudo umount /media/LABEL2 *Reference [#nfef3cfd] -Prepare SD card (whole process) --http://code.google.com/p/rowboat/wiki/ConfigureAndBuild#Prepare_SD_card - Boot Process --http://labs.beatcraft.com/en/index.php?bc10%2Fbooting#mef5758b -U-Boot and boot.scr --http://www.gumstix.net/wiki/index.php?title=U-Boot