[[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

Front page   Edit Diff Backup Upload Copy Rename Reload   New List of pages Search Recent changes   RSS of recent changes