View source for Booting the Neo FreeRunner from SD via U-Boot
From Openmoko
You do not have permission to edit this page, for the following reasons:
You can view and copy the source of this page:
Templates used on this page:
Here are the steps described to boot your system from an SD card.
Kernel building is supposed to be done through OpenEmbedded. If you use the MokoMakefile open up $OMDIR/openmoko/trunk/oe/packages/linux/linux-gta01/defconfig-2.6.21.6-fic-gta01. If you are building OM-2007.2 open $OEDIR/openembedded/packages/linux/linux-openmoko/defconfig-2.6.22.5-fic-gta01. (Note that the kernel version may change in future versions.)
Now find the line saying:
CONFIG_MMC_S3C=m
and change it to:
CONFIG_MMC_S3C=y
If you want to use an ext2 file system on the SD, also find the line saying:
CONFIG_EXT2_FS=m
and change it to:
CONFIG_EXT2_FS=y
If you're using MokoMakfile, you can clean out your last kernel build (forcing a new build) by running:
make clean-package-linux-openmoko
If you are building OM-2007.2 you need to add "tar" to the image types in your local.conf:
IMAGE_FSTYPES = "jffs2 tar"
After building a new image by issuing bitbake openmoko-devel-image (or make openmoko-devel-image if you are using MokoMakefile) there will be a OpenMoko-....tar in the deploy directory.
Format partition 1 as ext3 (or better ext2 if enabled, see above). Mount your SD card somewhere and put your image on it:
mount /dev/sda1 /mnt/moko tar -C /mnt/moko/ -xvf openmoko-devel-image-fic-gta01-20070313022035.rootfs.tar
Now we also want the kernel on there. In OM-2007.2 the last built kernel gets a special soft-link. Therefore you can copy it by doing:
cp uImage-fic-gta01-latest.bin /mnt/moko/boot/uImage
On my Phase-1 Neo the boot menu entry existed already. If yours is missing it follow those instructions: Start uboot in bootmenu mode (= hold AUX while powering on) and add the following entry via serial console: (See Bootloader section on how to access an bootloader).
GTA01Bv4 # setenv menu_4 Boot from SD: setenv bootargs root=/dev/mmcblk0p1 rootdelay=5 console=ttySAC0,115200 console=tty0 loglevel=8 \${mtdparts}\; mmcinit\; ext2load mmc 0 0x32000000 /boot/\${sd_image_name}\; bootm 0x32000000 GTA01Bv4 # setenv sd_image_name uImage GTA01Bv4 # saveenv
You can now easily boot a different kernel by changing the variable sd_image_name to the new name.
Power off your device, insert the SD card and boot into the boot menu. You should have an entry called "Boot from SD" which does exactly that. :-)
Being the lazy person that I am, at one point I tried copying an image over to the micro SD card while still in my phone. This didn't work so well, primarily due to bug 677.
Now that this bug has been resolved, the process becomes relatively simple:
ssh root@192.168.0.202 "rm -rf /media/card/*" cat openmoko-devel-image-fic-gta01-20070313022035.rootfs.tar | ssh root@192.168.0.202 tar -C /media/card -xv scp uImage-fic-gta01-latest.bin root@192.168.0.202:/media/card/boot/uImage
Languages: |
English • العربية • Български • Česky • Dansk • Deutsch • Esperanto • Eesti • Español • فارسی • Suomi • Français • עברית • Magyar • Italiano • 한국어 • Nederlands • Norsk (bokmål) • Polski • Português • Română • Русский • Svenska • Slovenčina • Українська • 中文(中国大陆) • 中文(台灣) • Euskara • Català |