Setting up a gumstix SD Card
My notes, based on http://gumstix.org/create-a-bootable-microsd-card.html
1 2 3 4 5 6 7 8 9 10 11 | fdisk -l /dev/sdd Disk /dev/sdd : 32.2 GB, 32191283200 bytes 255 heads, 63 sectors /track , 3913 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: 0x00000000 Device Boot Start End Blocks Id System /dev/sdd1 1 3914 31432704 c W95 FAT32 (LBA) |
Calculate number of cylinders required:
1 2 3 4 5 6 7 8 | root@ubuntu:~ # bc -l bc 1.06.95 Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. 32191283200 /255/63/512 3913.70059134765017117958 quit |
Wipe the SD card:
1 2 3 4 | root@ubuntu:~ # dd if=/dev/zero of=/dev/sdd bs=1024 count=1024 1024+0 records in 1024+0 records out 1048576 bytes (1.0 MB) copied, 2.84156 s, 369 kB /s |
Parition the disk:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | root@ubuntu:~ # sfdisk --force -D -uS -H 255 -S 63 -C 3913 /dev/sdd Checking that no-one is using this disk right now ... OK Disk /dev/sdd : 3913 cylinders, 255 heads, 63 sectors /track sfdisk: ERROR: sector 0 does not have an MSDOS signature /dev/sdd : unrecognised partition table type Old situation: No partitions found Input in the following format ; absent fields get a default value. <start> <size> < type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s> Usually you only need to specify <start> and <size> (and perhaps < type >). /dev/sdd1 :128,130944,0x0C,* /dev/sdd1 * 128 131071 130944 c W95 FAT32 (LBA) /dev/sdd2 :131072,,,- /dev/sdd2 131072 62873599 62742528 83 Linux /dev/sdd3 : /dev/sdd3 1 127 127 83 Linux /dev/sdd4 : /dev/sdd4 0 - 0 0 Empty New situation: Units = sectors of 512 bytes, counting from 0 Device Boot Start End #sectors Id System /dev/sdd1 * 128 131071 130944 c W95 FAT32 (LBA) /dev/sdd2 131072 62873599 62742528 83 Linux /dev/sdd3 1 127 127 83 Linux /dev/sdd4 0 - 0 0 Empty Warning: partition 1 does not end at a cylinder boundary Do you want to write this to disk? [ynq] y Successfully wrote the new partition table Re-reading the partition table ... If you created or changed a DOS partition, /dev/foo7 , say, then use dd (1) to zero the first 512 bytes: dd if = /dev/zero of= /dev/foo7 bs=512 count=1 (See fdisk (8).) |
Format the paritions:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | root@ubuntu:~ # mkfs.vfat -F 32 /dev/sdd1 -n boot mkfs.vfat 3.0.7 (24 Dec 2009) root@ubuntu:~ # mke2fs -j -L rootfs /dev/sdd2 mke2fs 1.41.11 (14-Mar-2010) Filesystem label=rootfs OS type : Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 1962240 inodes, 7842816 blocks 392140 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=4294967296 240 block groups 32768 blocks per group, 32768 fragments per group 8176 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000 Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 21 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. |
Mount the partitions and copy the current root to them:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | root@ubuntu:~ # sudo mkdir /media/{boot,rootfs} root@ubuntu:~ # sudo mount -t vfat /dev/sdd1 /media/boot root@ubuntu:~ # sudo mount -t ext3 /dev/sdd2 /media/rootfs root@ubuntu:~ # cd /media/boot/ root@ubuntu: /media/boot # ls root@ubuntu: /media/boot # cd ~ root@ubuntu:~ # wget http://cumulus.gumstix.org/images/angstrom/developer/current/MLO --2011-11-21 11:31:12-- http: //cumulus .gumstix.org /images/angstrom/developer/current/MLO Resolving cumulus.gumstix.org... 74.3.164.55 Connecting to cumulus.gumstix.org|74.3.164.55|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 24304 (24K) Saving to: `MLO' 100% 24,304 49.8K /s in 0.5s 2011-11-21 11:31:13 (49.8 KB /s ) - `MLO' saved [24304 /24304 ] root@ubuntu:~ # mv MLO /media/boot root@ubuntu:~ # wget http://cumulus.gumstix.org/images/angstrom/developer/current/u-boot.bin --2011-11-21 11:31:48-- http: //cumulus .gumstix.org /images/angstrom/developer/current/u-boot .bin Resolving cumulus.gumstix.org... 74.3.164.55 Connecting to cumulus.gumstix.org|74.3.164.55|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 269120 (263K) [application /octet-stream ] Saving to: `u-boot.bin' 100% 269,120 199K /s in 1.3s 2011-11-21 11:31:49 (199 KB /s ) - `u-boot.bin' saved [269120 /269120 ] root@ubuntu:~ # mv u-boot.bin /media/boot root@ubuntu:~ # wget http://cumulus.gumstix.org/images/angstrom/developer/current/uImage --2011-11-21 11:32:08-- http: //cumulus .gumstix.org /images/angstrom/developer/current/uImage Resolving cumulus.gumstix.org... 74.3.164.55 Connecting to cumulus.gumstix.org|74.3.164.55|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 3091308 (2.9M) Saving to: `uImage' 100% 3,091,308 205K /s in 15s 2011-11-21 11:32:23 (196 KB /s ) - `uImage' saved [3091308 /3091308 ] root@ubuntu:~ # mv uImage /media/boot root@ubuntu:~ # wget http://cumulus.gumstix.org/images/angstrom/developer/current/omap3-desktop-image-overo.tar.bz2 --2011-11-21 11:34:06-- http: //cumulus .gumstix.org /images/angstrom/developer/current/omap3-desktop-image-overo . tar .bz2 Resolving cumulus.gumstix.org... 74.3.164.55 Connecting to cumulus.gumstix.org|74.3.164.55|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 234752536 (224M) [application /x-bzip2 ] Saving to: `omap3-desktop-image-overo. tar .bz2' 100% 234,752,536 396K /s in 13m 58s 2011-11-21 11:48:04 (274 KB /s ) - `omap3-desktop-image-overo. tar .bz2' saved [234752536 /234752536 ] root@ubuntu:~ # tar xaf omap3-desktop-image-overo.tar.bz2 -C /media/rootfs root@ubuntu:~ # ls /media/rootfs/ bin boot dev etc home lib linuxrc lost+found media mnt proc sbin sys tmp usr var root@ubuntu:~ # sync root@ubuntu:~ # umount /media/boot root@ubuntu:~ # umount /media/rootfs |
Network config
If your using a board with a network interface and want to use this at first boot:
edit /etc/network/interfaces
Add the following for a static config:
1 2 3 4 5 | auto eth0 iface eth0 inet static address 192.168.0.7 netmask 255.255.255.0 gateway 192.168.0.254 |
or uncomment the following for a dynamic config:
1 2 | auto eth0 iface eth0 inet dhcp |
Fin
[…] Then install the image on your device/SD Card for example, as here. […]