[[bc10]] - Contents #CONTENTS * Create bootable SD card [#ica4404a] > - Prepare the pre-build SD card image. which can directly boot into Android. The image is downloaded form the URL shown below.~ %%[[http://sourceforge.jp/projects/bc10-dev/releases/49211:http://sourceforge.jp/projects/bc10-dev/releases/49211]]%%~ http://sourceforge.jp/projects/bc10-dev/releases/49362~ > Extract the downloaded file, %%'''bc10-boot-sd-image--release20101001.tar.gz'''%%, '''bc10-boot-sd-image--release20101013.tar.gz''', there are~ two archives inside the directory.~ fat32.tar.gz ext3.tar.gz These files, '''fat32.tar.gz''' and '''ext3.tar.gz''', are written into the FAT32 partition and EXT3 partition of the SD card, respectively.~ This section explains the instructions of how to place these files into the SD card. ** Unmount SD card [#sb9042b7] > To partition and format the SD card, the SD card is unmounted if it is mounted.~ Assume that a SD card is mounted in the way defined below.~ $ [df -h] Filesystem Size Used Avail Use% Mounted on ... /dev/sdc1 400M 94M 307M 24% /media/disk ... Unmount the SD card~ $ [umount /media/disk] ** Initialize and configure partitions [#n2af5c0a] > Execute '''fdisk''' command. The device file of the SD card is used for the parameter of the command. The location of SD card differ~ and it depends on the working environment. Please check up the directories before start working on this process.~ $ [sudo fdisk /dev/sdc] Command (m for help): [p] Disk /dev/sdc: 2021 MB, 2021654528 bytes 255 heads, 63 sectors/track, 245 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdc1 * 1 246 1974240+ c W95 FAT32 (LBA) Partition 1 has different physical/logical endings: phys=(244, 254, 63) logical=(245, 200, 19) Write down the number of bytes on the SD card. The number will use later. (In this example 2021654528)~ Remove all existing partitions in the SD card.~ Command (m for help): [d] Selected partition 1 Shift the mode to the expert mode.~ Command (m for help): [x] The number of headers is selected as 255.~ Expert Command (m for help): [h] Number of heads (1-256, default xxx): [255] The number of sectors is chosen as 63.~ Expert Command (m for help): [s] Number of sectors (1-63, default xxx): [63] The cylinder number is depending on SD cards, By the figure shown below, calculate the number of cylinders.~ (Round toward zero below (omit dismals))~ #cylinders = FLOOR (the number of Bytes on the SD Card (from above) / #heads / #sectors / 512 ) For this example SD card, the number of cylinders is defined as below.~ 2021654528 / 255 / 63 / 512 = 245.79 -> 245 Enter the number of cylinders. In this example, the number is 245.~ Expert Command (m for help): [c] Number of cylinders (1-256, default xxx): Turn to the normal mode.~ Expert Command (m for help): [r] Create FAT32 partition.~ Command (m for help): [n] Command action e extended p primary partition (1-4) [p] Partition number (1-4): [1] First cylinder (1-245, default 1): [(press Enter)] Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-245, default 245): [+50] Command (m for help): [t] Selected partition 1 Hex code (type L to list codes): [c] Changed system type of partition 1 to c (W95 FAT32 (LBA)) Configure boot flag. Command (m for help): [a] Partition number (1-4): [1] Create EXT3 partition. Command (m for help): [n] Command action e extended p primary partition (1-4) [p] Partition number (1-4): [2] First cylinder (52-245, default 52): [(press Enter)] Using default value 52 Last cylinder or +size or +sizeM or +sizeK (52-245, default 245): [(press Enter)] Using default value 245 Check the configuration of partition. Command (m for help): [p] Disk /dev/sdc: 2021 MB, 2021654528 bytes 255 heads, 63 sectors/track, 245 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdc1 * 1 51 409626 c W95 FAT32 (LBA) /dev/sdc2 52 245 1558305 83 Linux Save the changes in the partition table. Command (m for help): [w] The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot. WARNING: If you have created or modified any DOS 6.x partitions, please see the fdisk manual page for additional information. Syncing disks. ** Format file system [#mfe70e5d] > Format FAT32 and EXT3 partitions. In the process of formatting, the name of partition is asked. Please enter the names of these~ partitions, and the names will be used for the levels of the partitions.~ $ [sudo mkfs.msdos -F 32 /dev/sdc1 -n FAT32] mkfs.msdos 2.11 (12 Mar 2005) $ [sudo mkfs.ext3 -L EXT3 /dev/sdc2] mke2fs 1.40-WIP (14-Nov-2006) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 195072 inodes, 389576 blocks 19478 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=402653184 12 block groups 32768 blocks per group, 32768 fragments per group 16256 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912 Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting information: ** Place files [#a5785859] > These image files are placed into the SD card. Gently pushing the SD card, Mount the SD card again. The mount point of~ SD card may differ, depending on system. Change the mounting point which is suitable to your system most.~ *** Place FAT32 partition [#r9ace422] > There are strict rules for placing files on FAT32 partition. Extract the archive and put the files in the working directory,~ temporarily. $ [tar xvfz fat32.tar.gz] Extract the archive, and these files are included.~ $ ls fat32 MLO boot.scr u-boot.bin uImage MOL is the first bootloader, X-Loader, and there are rules for placing MOL. Please follow these rules listed below.~ - MOL is first file to be placed right after the formatting process of FAT32 is completed.~ - Put the file on the top directly.~ > $ [cp MLO /media/FAT32/] Other files do not have any rules and restrictions as being placed on the SD card. Copy the files to the SD card.~ $ [cp u-boot.bin boot.scr uImage /media/FAT32/u-boot.bin] $ [cp u-boot.bin boot.scr uImage /media/FAT32/] If mistake to the order of placing file or the work order, restart from the FAT32 partition format for sure.~ *** Put files on EXT 3partition. [#m1be017c] > There are no rules and/or restrictions on writing files into ext3. Extract the archive directly inside SD card.~ $ [sudo tar xvfz ext3.tar.gz -C /media/EXT3] This is the end of placing pre-build image on the SD card.~ Execute '''sync''', then unmount the SD card.~ $ [sudo sync] $ [umount /media/EXT3] $ [umount /media/FAT32] * Boot from SD card. [#b63f2f5e] > Insert the SD card, in which the image files have already been placed, and turn on the power supply. At the first boot,~ Android takes extra time to create the DB for configuring SQLite3 and '''Dalvik EXecutable (.dex)''' file and writes in some~ information. The initial boot takes longer than usual.~ * Revision History[#qfc33a24] > - 2010/10/08 The article is initially uploaded.~ - 2010/10/28 The pre-build image is updated.~