diff options
| author | Manuel Traut <manut@mecka.net> | 2011-07-18 14:00:12 +0200 |
|---|---|---|
| committer | Manuel Traut <manut@mecka.net> | 2011-07-18 14:00:12 +0200 |
| commit | ed006a8eb44831189e152826c692330d0a0cfe3b (patch) | |
| tree | 66996c44c68a8787e4a35a85aea683975f307767 /beagle/setup_sdcard.sh | |
| parent | 4493e8f707e62b9867d9cfd40205115140e7c993 (diff) | |
delete beagle-dir
Signed-off-by: Manuel Traut <manut@mecka.net>
Diffstat (limited to 'beagle/setup_sdcard.sh')
| -rwxr-xr-x | beagle/setup_sdcard.sh | 657 |
1 files changed, 0 insertions, 657 deletions
diff --git a/beagle/setup_sdcard.sh b/beagle/setup_sdcard.sh deleted file mode 100755 index bbeb6b6..0000000 --- a/beagle/setup_sdcard.sh +++ /dev/null @@ -1,657 +0,0 @@ -#!/bin/bash -e -# -# Copyright (c) 2009-2010 Robert Nelson <robertcnelson@gmail.com> -# Copyright (c) 2010 Mario Di Francesco <mdf-code@digitalexile.it> -# Copyright (c) 2010 Till Harbaum <till@harbaum.org> -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. -# -# Latest can be found at: -# http://github.com/RobertCNelson/omap-image-builder/blob/master/tools/setup_sdcard.sh - -#Notes: need to check for: parted, fdisk, wget, mkfs.*, mkimage, md5sum - -#Debug Tips -#oem-config username/password -#add: "debug-oem-config" to bootargs - -unset MMC -unset SWAP_BOOT_USER -unset DEFAULT_USER -unset DEBUG - -#Defaults -RFS=ext3 -BOOT_LABEL=BOOT -RFS_LABEL=ROOT -PARTITION_PREFIX="" -UBOOT_TYPE=beagle -SWAPSIZE=512 - -if [ "$TYPE" == "" ]; then - TYPE=handset -fi - -RELEASE=latest -ARCH=armv7l - -DIR=$PWD - -function detect_software { - -#Currently only Ubuntu and Debian.. -#Working on Fedora... -unset PACKAGE -unset APT - -if [ ! $(which mkimage) ];then -echo "Missing uboot-mkimage" - PACKAGE="uboot-mkimage " - APT=1 -fi - -if [ ! $(which wget) ];then -echo "Missing wget" - PACKAGE+="wget " - APT=1 -fi - -if [ ! $(which pv) ];then -echo "Missing pv" - PACKAGE+="pv " - APT=1 -fi - -if [ "${APT}" ];then -echo "Installing Dependencies" - sudo aptitude install $PACKAGE -fi -} - -function beagle_boot_scripts { - -cat > /tmp/boot.cmd <<beagle_boot_cmd -echo "Booting MeeGo Community Image" -if test "\${beaglerev}" = "xMA"; then -echo "Kernel is not ready for 1Ghz limiting to 800Mhz" -setenv mpurate 800 -fi -if test "\${beaglerev}" = "xMB"; then -echo "Kernel is not ready for 1Ghz limiting to 800Mhz" -setenv mpurate 800 -fi -setenv dvimode 800x480-16@60 -setenv vram 0:2M,1:2M,2:2M -setenv bootcmd 'mmc init; fatload mmc 0:1 0x80300000 uImage; bootm 0x80300000' -#setenv bootargs console=ttyO2,115200n8 console=tty0 root=/dev/mmcblk0p2 rootwait ro omapfb.vram=\${vram} omapfb.mode=dvi:\${dvimode} fixrtc mpurate=\${mpurate} -setenv bootargs console=ttyO2,115200n8 console=tty0 root=/dev/mmcblk0p2 rootwait ro omapfb.mode=dvi:\${dvimode} fixrtc mpurate=\${mpurate} -boot - -beagle_boot_cmd - -} - -function touchbook_boot_scripts { - -cat > /tmp/boot.cmd <<touchbook_boot_cmd -setenv dvimode 1024x600MR-16@60 -setenv vram 12MB -setenv bootcmd 'mmc init; fatload mmc 0:1 0x80300000 uImage; fatload mmc 0:1 0x81600000 uInitrd; bootm 0x80300000 0x81600000' -setenv bootargs console=tty1 root=/dev/mmcblk0p2 rootwait ro vram=\${vram} omapfb.mode=dvi:\${dvimode} fixrtc mpurate=600 -boot - -touchbook_boot_cmd - -} - -function panda_boot_scripts { - -cat > /tmp/boot.cmd <<panda_boot_cmd -setenv dvimode 1024x600MR-16@60 -setenv vram 16MB -setenv bootcmd 'mmc init; fatload mmc 0:1 0x80300000 uImage; fatload mmc 0:1 0x81600000 uInitrd; bootm 0x80300000 0x81600000' -setenv bootargs console=ttyO2,115200n8 console=tty0 root=/dev/mmcblk0p2 rootwait ro vram=\${vram} omapfb.mode=dvi:\${dvimode} fixrtc mpurate=600 -boot - -panda_boot_cmd - -} -function dl_xload_uboot { -# sudo rm -rfd ${DIR}/downloads/ || true -#mkdir -p ${DIR}/downloads/ - -case "$SYSTEM" in - beagle) - -beagle_boot_scripts - - #beagle - MIRROR="http://rcn-ee.net/deb/" - - echo "" - echo "1 / 7: Downloading X-loader and Uboot" - echo "" - - rm -f ${DIR}/downloads/bootloader || true - wget -c --directory-prefix=${DIR}/downloads/ ${MIRROR}tools/latest/bootloader - - MLO=$(cat ${DIR}/downloads/bootloader | grep "ABI:1:MLO" | awk '{print $2}') - UBOOT=$(cat ${DIR}/downloads/bootloader | grep "ABI:1:UBOOT" | awk '{print $2}') - - #wget -c --no-verbose --directory-prefix=${DIR}/downloads/ ${MLO} - #wget -c --no-verbose --directory-prefix=${DIR}/downloads/ ${UBOOT} - - MLO=${MLO##*/} - UBOOT=${UBOOT##*/} - - ;; - igepv2) - - #MLO=${MLO##*/} - #UBOOT=${UBOOT##*/} - MLO=NA - UBOOT=NA - ;; - touchbook) - -touchbook_boot_scripts - - MIRROR="http://rcn-ee.net/deb/" - - echo "" - echo "1 / 7: Downloading X-loader and Uboot" - echo "" - - rm -f ${DIR}/downloads/bootloader || true -wget -c --no-verbose --directory-prefix=${DIR}/downloads/ ${MIRROR}tools/latest/bootloader - - MLO=$(cat ${DIR}/downloads/bootloader | grep "ABI:5:MLO" | awk '{print $2}') - UBOOT=$(cat ${DIR}/downloads/bootloader | grep "ABI:5:UBOOT" | awk '{print $2}') - - wget -c --no-verbose --directory-prefix=${DIR}/downloads/ ${MLO} - wget -c --no-verbose --directory-prefix=${DIR}/downloads/ ${UBOOT} - - MLO=${MLO##*/} - UBOOT=${UBOOT##*/} - - ;; - panda) - -panda_boot_scripts - - MIRROR="http://rcn-ee.net/deb/" - - echo "" - echo "1 / 7: Downloading X-loader and Uboot" - echo "" - - rm -f ${DIR}/downloads/bootloader || true -wget -c --no-verbose --directory-prefix=${DIR}/downloads/ ${MIRROR}tools/latest/bootloader - - MLO=$(cat ${DIR}/downloads/bootloader | grep "ABI:2:MLO" | awk '{print $2}') - UBOOT=$(cat ${DIR}/downloads/bootloader | grep "ABI:2:UBOOT" | awk '{print $2}') - - wget -c --no-verbose --directory-prefix=${DIR}/downloads/ ${MLO} - wget -c --no-verbose --directory-prefix=${DIR}/downloads/ ${UBOOT} - - MLO=${MLO##*/} - UBOOT=${UBOOT##*/} - - ;; -esac - -} - -function cleanup_sd { - - echo "" - echo "2 / 7: Unmountting Partitions" - echo "" - - NUM_MOUNTS=$(mount | grep -v none | grep "$MMC" | wc -l) - - for (( c=1; c<=$NUM_MOUNTS; c++ )) - do -DRIVE=$(mount | grep -v none | grep "$MMC" | tail -1 | awk '{print $1}') - sudo umount ${DRIVE} &> /dev/null || true -done - -sudo parted -s ${MMC} mklabel msdos -} - -function create_partitions { - -sudo fdisk -H 255 -S 63 ${MMC} << END -n -p -1 -1 -+64M -a -1 -t -e -p -w -END - -echo "" -echo "3 / 7: Formatting Boot Partition" -echo "" - -sudo mkfs.vfat -F 16 ${MMC}${PARTITION_PREFIX}1 -n ${BOOT_LABEL} - -sudo rm -rfd ${DIR}/disk || true - -mkdir ${DIR}/disk -sudo mount ${MMC}${PARTITION_PREFIX}1 ${DIR}/disk - -if [ "$DO_UBOOT" ];then -if ls ${DIR}/downloads/${MLO} >/dev/null 2>&1;then - sudo cp -v ${DIR}/downloads/${MLO} ${DIR}/disk/MLO -fi - -if ls ${DIR}/downloads/${UBOOT} >/dev/null 2>&1;then - sudo cp -v ${DIR}/downloads/${UBOOT} ${DIR}/disk/u-boot.bin -fi -fi - -cd ${DIR}/disk -sync -cd ${DIR}/ -sudo umount ${DIR}/disk || true -echo "done" - -SIZE=`sudo fdisk -s ${MMC}` -SIZE=$(( (SIZE/1024)-64-SWAPSIZE )) -echo "rootfs size = ${SIZE}" - -sudo fdisk ${MMC} << ROOTFS -n -p -2 - -+${SIZE}M -p -w -ROOTFS - -echo "" -echo "4 / 7: Formating ${RFS} Partition" -echo "" -sudo mkfs.${RFS} ${MMC}${PARTITION_PREFIX}2 -L ${RFS_LABEL} - -sudo fdisk ${MMC} << SWAP -n -p -3 - - -t -3 -82 -p -w -SWAP - -echo "" -echo "4a / 7: Creating Swap Partition" -echo "" -sudo mkswap ${MMC}${PARTITION_PREFIX}3 -echo "done" - -} - -function populate_boot { - echo "" - echo "5 / 7: Populating Boot Partition" - echo "" - sudo mount ${MMC}${PARTITION_PREFIX}1 ${DIR}/disk - - sudo cp ${LATEST_UIMAGE} ${DIR}/disk/uImage - -if [ "$DO_UBOOT" ];then - -if ls /tmp/boot.cmd >/dev/null 2>&1;then - sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "Boot Script" -d /tmp/boot.cmd ${DIR}/disk/boot.scr - sudo cp /tmp/boot.cmd ${DIR}/disk/boot.cmd - rm -f /tmp/boot.cmd || true -fi - - - - #for igepv2 users -# if ls ${DIR}/disk/boot.scr >/dev/null 2>&1;then -# sudo cp -v ${DIR}/disk/boot.scr ${DIR}/disk/boot.ini -# fi - -fi - - cd ${DIR}/disk/ - sync - sync - cd ${DIR}/ - - sudo umount ${DIR}/disk || true -} - -function populate_rootfs { - echo "" - echo "6 / 7: Populating rootfs Partition" - echo "Be patient, this may take a few minutes" - echo "" - sudo mount ${MMC}${PARTITION_PREFIX}2 ${DIR}/disk - - mkdir image - sudo mount -o loop ./${RELEASE}/images/meego-${TYPE}-${ARCH}-beagle/meego-${TYPE}-${ARCH}-beagle-${RELEASE}.img ./image - sudo rsync -aHx --delete ./image/* ${DIR}/disk/ - - # add SGX and kernel modules - INSTALL_ROOT=${DIR}/disk/ - - # check if module tarball exists and install modules - if [ -d ./$KERNEL_VERSION-devel/deploy ]; then - echo "Installing kernel modules for $KERNEL_VERSION" - # find latest module package - LATEST_MODULES=`ls -t1 ./$KERNEL_VERSION-devel/deploy/$KERNEL_VERSION-*-modules.tar.gz | head -n1` - sudo tar xfz $LATEST_MODULES -C $INSTALL_ROOT - else - echo "WARNING: kernel module path ./$KERNEL_VERSION-devel/deploy not found!" - fi - - sudo umount ./image - rmdir ./image - -cd ${DIR}/disk/ - sync - sync - cd ${DIR}/ - - sudo umount ${DIR}/disk || true - -echo "" - echo "7 / 7: setup_sdcard.sh script complete" - echo "" -} - -function check_mmc { - FDISK=$(sudo LC_ALL=C sfdisk -l 2>/dev/null | grep "[Disk] ${MMC}" | awk '{print $2}') - - if test "-$FDISK-" = "-$MMC:-" - then -echo "" - echo "I see..." - echo "sudo sfdisk -l:" - sudo LC_ALL=C sfdisk -l 2>/dev/null | grep "[Disk] /dev/" --color=never - echo "" - echo "mount:" - mount | grep -v none | grep "/dev/" --color=never - echo "" - read -p "Are you 100% sure, on selecting [${MMC}] (y/n)? " - [ "$REPLY" == "y" ] || exit -echo "" - else -echo "" - echo "Are you sure? I Don't see [${MMC}], here is what I do see..." - echo "" - echo "sudo sfdisk -l:" - sudo LC_ALL=C sfdisk -l 2>/dev/null | grep "[Disk] /dev/" --color=never - echo "" - echo "mount:" - mount | grep -v none | grep "/dev/" --color=never - echo "" - exit -fi -} - -function check_uboot_type { - IN_VALID_UBOOT=1 - unset DO_UBOOT - -case "$UBOOT_TYPE" in - beagle) - - SYSTEM=beagle - unset IN_VALID_UBOOT - DO_UBOOT=1 - - ;; - beagle-proto) -#hidden: proto button bug - - SYSTEM=beagle - SWAP_BOOT_USER=1 - unset IN_VALID_UBOOT - DO_UBOOT=1 - - ;; - igepv2) - - SYSTEM=igepv2 - unset IN_VALID_UBOOT - DO_UBOOT=1 - - ;; - touchbook) - - SYSTEM=touchbook - unset IN_VALID_UBOOT - DO_UBOOT=1 - - ;; - panda) - - SYSTEM=panda - unset IN_VALID_UBOOT - DO_UBOOT=1 - - ;; -esac - -if [ "$IN_VALID_UBOOT" ] ; then -usage - fi -} - -function check_addon_type { - IN_VALID_ADDON=1 - - if test "-$ADDON_TYPE-" = "-pico-" - then -ADDON=pico - unset IN_VALID_ADDON - fi - -if [ "$IN_VALID_ADDON" ] ; then -usage - fi -} - - -function check_fs_type { - IN_VALID_FS=1 - -case "$FS_TYPE" in - ext2) - - RFS=ext2 - unset IN_VALID_FS - - ;; - ext3) - - RFS=ext3 - unset IN_VALID_FS - - ;; - ext4) - - RFS=ext4 - unset IN_VALID_FS - - ;; - btrfs) - - if [ ! $(which mkfs.btrfs) ];then -echo "Missing btrfs tools" - sudo aptitude install btrfs-tools - fi - -RFS=btrfs - unset IN_VALID_FS - - ;; -esac - -if [ "$IN_VALID_FS" ] ; then -usage - fi -} - -function check_contents { - - # determine name of latest kernel built - KERNEL_VERSION=2.6.38 - if [ -d ./$KERNEL_VERSION-devel/deploy ]; then - echo "Installing kernel modules for $KERNEL_VERSION" - # find latest module package - LATEST_UIMAGE=`ls -t1 ./$KERNEL_VERSION-devel/deploy/$KERNEL_VERSION-*.uImage | head -n1` - else - echo "No kernel image found in ./$KERNEL_VERSION-devel/deploy!" - exit -1 - fi - - if [ ! -f ./${RELEASE}/images/meego-${TYPE}-${ARCH}-beagle/meego-${TYPE}-${ARCH}-beagle-${RELEASE}.img ]; then - echo "No meego image found at ./${RELEASE}/images/meego-${TYPE}-${ARCH}-beagle/meego-${TYPE}-${ARCH}-beagle-${RELEASE}.img" - echo "Please run ./build_image.sh first" - exit -1 - fi -} - -function usage { - echo "usage: $(basename $0) --mmc /dev/sdX" -cat <<EOF - -required options: ---mmc </dev/sdX> -Unformated MMC Card - -Additional/Optional options: --h --help -this help - ---uboot <dev board> -beagle - <Bx, C2/C3/C4, xMA, xMB> -igepv2 - <no u-boot or MLO yet> -panda - <A1> - ---use-default-user -(useful for serial only modes and when oem-config is broken) - ---rootfs <fs_type> -ext3 -ext4 - <set as default> -btrfs - ---boot_label <boot_label> -boot partition label - ---rfs_label <rfs_label> -rootfs partition label - ---debug -enable all debug options for troubleshooting - -EOF -exit -} - -function checkparm { - if [ "$(echo $1|grep ^'\-')" ];then -echo "E: Need an argument" - usage - fi -} - -# parse commandline options -while [ ! -z "$1" ]; do -case $1 in - -h|--help) - usage - MMC=1 - ;; - --mmc) - checkparm $2 - MMC="$2" -if [[ "${MMC}" =~ "mmcblk" ]] - then -PARTITION_PREFIX="p" - fi -check_mmc - ;; - --uboot) - checkparm $2 - UBOOT_TYPE="$2" - check_uboot_type - ;; - --addon) - checkparm $2 - ADDON_TYPE="$2" - check_addon_type - ;; - --rootfs) - checkparm $2 - FS_TYPE="$2" - check_fs_type - ;; - --use-default-user) - DEFAULT_USER=1 - ;; - --boot_label) - checkparm $2 - BOOT_LABEL="$2" - ;; - --rfs_label) - checkparm $2 - RFS_LABEL="$2" - ;; - --debug) - DEBUG=1 - ;; - esac -shift -done - -if [ ! "${MMC}" ];then - usage -fi - -check_contents -check_uboot_type - -detect_software - -if [ "$DO_UBOOT" ];then - dl_xload_uboot -fi - -cleanup_sd -create_partitions -populate_boot -populate_rootfs |
