Thanks for reviewing and helping. I addressed the the comments with the updated patch, except the following ones.
>> @@ -371,10 +385,17 @@ >> >> # Create a VFAT or FAT16 partition of 9 cylinders which is about 64M >> # and a linux partition of the rest >> + if [ "$DEVIMAGE" = imx51 ]; then >> + sudo sfdisk -D -H $HEADS -S $SECTORS $CYLINDER_ARG $partdev << THEEND >> +1,9,$PARTITION_TYPE,* >> +10,,,- >> +THEEND >> + else >> sudo sfdisk -D -H $HEADS -S $SECTORS $CYLINDER_ARG $partdev << THEEND >> ,9,$PARTITION_TYPE,* >> ,,,- >> THEEND >> + fi > > Could we just use the same partition layout for all images (the imx51 > one), avoiding the if entirely? > I'm unsure if OMAP ROM will be unhappy if the FAT partition is not at the beginning. > Not your doing, but the sfdisk man page recommends avoiding the c,h,s > specs especially since -H/-S are passed already > > If you're using the early data on the image to store stuff, I recommend > you protect it with a dumb partition (e.g. "non-FS data" type, 0xda). > The u-boot.imx really needs to be at offset 1KB on card to make imx51 ROM happy. Even I create the "non-FS data" partition from 0 cylinder with sfdisk, it actually starts from sector 63 (offset ~ 32KB). We can not really get the u-boot.imx into this partition for now. >> + cat > ${TMP_DIR}/boot.cmd << BOOTCMD >> +setenv bootcmd 'fatload mmc 0:1 0x90000000 uImage; fatload mmc 0:1 >> 0x90800000 uInitrd; bootm 0x90000000 0x90800000' > > no mmc init? > This is something I'm not very clear. This bootcmd is written into boot.scr which has to be loaded out from card first, in order to launch the bootcmd. So we need to get "mmc init" executed before we load fatload boot.scr. Maybe it's an issue. The u-boot.imx "mmc init" is not working in this case. I have to run "mmcinfo" before the first fatload, or it hangs. -- Regards, Shawn # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: shawn....@gmail.com-20100930173353-mzn4chqns7mhzeio # target_branch: http://bazaar.launchpad.net/~linaro-\ # maintainers/linaro-image-tools/linaro-image-tools/ # testament_sha1: 3ea5974d2b6ae0a3cefa0bf86fff67ae084598ec # timestamp: 2010-09-30 13:41:07 -0400 # base_revision_id: steve.langa...@canonical.com-20100929152856-\ # 2axwv0sktwxn9i1q # # Begin patch === modified file 'linaro-media-create' --- linaro-media-create 2010-09-29 15:28:56 +0000 +++ linaro-media-create 2010-09-30 17:33:53 +0000 @@ -62,6 +62,7 @@ * beagle * igep * vexpress + * mx51evk Additional/Optional options: -h --help @@ -274,8 +275,6 @@ } install_hwpack() { - ensure_command qemu-arm-static qemu-arm-static - chroot=${DIR}/binary # Make sure we unmount /proc in the chroot or else it can't be moved to the # rootfs. @@ -291,7 +290,16 @@ sudo mv -f ${chroot}/etc/hosts ${TMP_DIR}/hosts.orig sudo cp /etc/hosts ${chroot}/etc/hosts - sudo cp /usr/bin/qemu-arm-static ${chroot}/usr/bin + local arch_is_arm=no + case `uname -m` in + arm*) + arch_is_arm=yes + ;; + *) + ensure_command qemu-arm-static qemu-arm-static + sudo cp /usr/bin/qemu-arm-static ${chroot}/usr/bin + ;; + esac sudo cp $LINARO_HWPACK_INSTALL ${chroot}/usr/bin sudo cp "$HWPACK_FILE" "$chroot" @@ -304,7 +312,9 @@ sudo umount ${chroot}/proc sudo mv -f ${TMP_DIR}/resolv.conf.orig ${chroot}/etc/resolv.conf sudo mv -f ${TMP_DIR}/hosts.orig ${chroot}/etc/hosts - sudo rm -f ${chroot}/usr/bin/qemu-arm-static + if [ "arch_is_arm" = no ]; then + sudo rm -f ${chroot}/usr/bin/qemu-arm-static + fi sudo rm -f ${chroot}/usr/bin/linaro-hwpack-install sudo rm -f ${chroot}/$(basename "$HWPACK_FILE") } @@ -324,19 +334,31 @@ boot_snippet='root=UUID='${RFS_UUID} fi - if [ "${IMAGE_FILE}" ]; then - cat > ${TMP_DIR}/boot.cmd << BOOTCMD + case "$DEVIMAGE" in + beagle|igep) + if [ "${IMAGE_FILE}" ]; then + cat > ${TMP_DIR}/boot.cmd << BOOTCMD setenv bootcmd 'mmc init; fatload mmc 0:1 0x80000000 uImage; bootm 0x80000000' setenv bootargs '${serial_opts} ${splash_opts} earlyprintk fixrtc nocompcache ${lowmem_opt} root=/dev/mmcblk0p2 rootwait rw vram=12M omapfb.debug=y omapfb.mode=dvi:1280x720mr...@60' boot BOOTCMD - else - cat > ${TMP_DIR}/boot.cmd << BOOTCMD + else + cat > ${TMP_DIR}/boot.cmd << BOOTCMD setenv bootcmd 'mmc init; fatload mmc 0:1 0x80000000 uImage; fatload mmc 0:1 0x81600000 uInitrd; bootm 0x80000000 0x81600000' setenv bootargs '${serial_opts} ${splash_opts} earlyprintk fixrtc nocompcache ${lowmem_opt} ${boot_snippet} rootwait ro vram=12M omapfb.debug=y omapfb.mode=dvi:1280x720mr...@60' boot BOOTCMD - fi + fi + ;; + + mx51evk) + cat > ${TMP_DIR}/boot.cmd << BOOTCMD +setenv bootcmd 'fatload mmc 0:1 0x90000000 uImage; fatload mmc 0:1 0x90800000 uInitrd; bootm 0x90000000 0x90800000' +setenv bootargs '${serial_opts} ${splash_opts} ${lowmem_opt} ${boot_snippet} rootwait ro' +boot +BOOTCMD + ;; + esac } cleanup_sd() { @@ -371,10 +393,17 @@ # Create a VFAT or FAT16 partition of 9 cylinders which is about 64M # and a linux partition of the rest + if [ "$DEVIMAGE" = mx51evk ]; then + sudo sfdisk -D -H $HEADS -S $SECTORS $CYLINDER_ARG $partdev << THEEND +1,9,$PARTITION_TYPE,* +10,,,- +THEEND + else sudo sfdisk -D -H $HEADS -S $SECTORS $CYLINDER_ARG $partdev << THEEND ,9,$PARTITION_TYPE,* ,,,- THEEND + fi if [ "${IMAGE_FILE}" ]; then VFATOFFSET=$(($(fdisk -l -u $IMAGE_FILE | grep FAT | awk '{print $3}')*512)) @@ -458,6 +487,21 @@ "${BOOT_DISK}/uInitrd" ;; + mx51evk) + sudo dd if=binary/usr/lib/u-boot/mx51evk/u-boot.imx of=/dev/mmcblk0 \ + bs=1024 seek=1 + sudo mkimage -A arm -O linux -T kernel -C none -a 0x90008000 \ + -e 0x90008000 -n Linux \ + -d "${DIR}/binary/${parts_dir}"/vmlinuz*-linaro-mx51 \ + "${BOOT_DISK}/uImage" + sudo mkimage -A arm -O linux -T ramdisk -C none -a 0 \ + -e 0 -n initramfs \ + -d "${DIR}/binary/${parts_dir}"/initrd.img-*-linaro-mx51 \ + "${BOOT_DISK}/uInitrd" + sudo mkimage -A arm -O linux -T script -C none -a 0 \ + -e 0 -n "boot script" -d "${TMP_DIR}/boot.cmd" \ + "${BOOT_DISK}/boot.scr" + ;; *) echo "Internal error; missing support for $DEVIMAGE" >&2 exit 1 @@ -561,7 +605,7 @@ fi case "$DEVIMAGE" in - beagle|igep|vexpress) + beagle|igep|vexpress|mx51evk) : ;; "") @@ -591,6 +635,12 @@ # only allows for FAT16 FAT_SIZE=16 ;; + mx51evk) + serial_opts="$serial_opts console=tty0 console=ttymxc0,115200n8" + if [ "$IS_LIVE" ]; then + serial_opts="$serial_opts serialtty=ttymxc0" + fi + ;; *) echo "Internal error; missing support for $DEVIMAGE" >&2 exit 1
lmc-imx51-support.bundle2
Description: Binary data
_______________________________________________ linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev