diff --git a/scripts/include/machine-ti-old-omap.inc b/scripts/include/machine-ti-old-omap.inc index 2749934..6318546 100644 --- a/scripts/include/machine-ti-old-omap.inc +++ b/scripts/include/machine-ti-old-omap.inc @@ -16,99 +16,44 @@ DEFAULT_FIND_KERNEL="-name ${DEFAULT_KERNEL_IMAGE_TYPE}-abiversion-* -type l" RootCardWriteCallback() { tmpdir=`mktemp -d` - # bootloaders and environment - echo "Writing bootloaders and environment to boot partition" - mount ${DevicePath}1 $tmpdir || exit 1 - rm -rf $tmpdir/* + # mount boot partition + EvalExAuto "mount ${DevicePath}1 $tmpdir" "\nMount boot partition ${DevicePath}1 to $tmpdir..." + # clean boot partition + EvalExAuto "rm -rf $tmpdir/*" "\nCleanup boot patition..." + # MLO if [ -e ${DeployFileDir}/MLO ] ; then - cp ${DeployFileDir}/MLO $tmpdir/MLO + EvalExAuto "cp ${DeployFileDir}/MLO $tmpdir/MLO" "\nCopy MLO (u-boot SPL) boot loader..." fi - cp ${DeployFileDir}/u-boot.img $tmpdir/u-boot.img + # u-boot + EvalExAuto "cp ${DeployFileDir}/u-boot.img $tmpdir/u-boot.img" "\nCopy u-boot loader..." + # uEnv.txt if [ -e ${DeployFileDir}/uEnv.txt ] ; then - cp ${DeployFileDir}/uEnv.txt $tmpdir + EvalExAuto "cp ${DeployFileDir}/uEnv.txt $tmpdir" "\nCopy uEnv.txt..." fi - sleep 1 - umount ${DevicePath}1 || exit 1 + # unmount boot partition + EvalExAuto "sleep 1 && umount ${DevicePath}1" "\nUnmount boot partition..." # rootfs time( - mount ${DevicePath}2 $tmpdir || exit 1 - rm -rf $tmpdir/* + # mount rootfs + EvalExAuto "mount ${DevicePath}2 $tmpdir" "\nMount rootfs ${DevicePath}2 to $tmpdir..." + # clean rootfs + EvalExAuto "rm -rf $tmpdir/*" "\nCleanup rootfs..." + olddir=`pwd` cd $tmpdir - tar xvjf $DeployedFile - cd .. - umount ${DevicePath}2 || exit 1 + EvalExAuto "tar xvjf $DeployedFile" "\nExtract rootfs..." + cd "$olddir" + # unmount rootfs + EvalExAuto "sleep 1 && umount ${DevicePath}2" "\nUnmount rootfs..." ) rm -rf $tmpdir } # callback for card-kernel-write RootCardKernelWriteCallback() { - # TODO - tmpdir=`mktemp -d` - - # initial kernel / devicetrees - mount ${DevicePath}1 $tmpdir || exit 1 - echo "Write initial kernel and devicetrees to boot partition..." - # kernel (REVISIT for aarch64) - cp -f $DeployedFile $tmpdir/kernel7.img - # devicetrees - rm -f $tmpdir/*.dtb - for dtb in `find ${DeployFileDir} -name "bcm27*.dtb"`; do - cp -f $dtb $tmpdir/ - done - echo "${style_green}Write done.${style_normal}" - - # devicetree overlays - echo "Write devicetree-overlays to boot partition..." - rm -f $tmpdir/overlays/*.dtbo - for dtbo in `find ${DeployFileDir} -name "*.dtbo"`; do - bname=`basename $dtbo` - if ! echo "${bname}" | grep -q 'Image-'; then - cp -f ${dtbo} $tmpdir/overlays/ - fi - done - echo "${style_green}Write done.${style_normal}" - - # TODO bootfiles? - echo "Unmount boot partition..." - sleep 1 - umount ${DevicePath}1 || exit 1 - echo "${style_green}Unmount done.${style_normal}" - - - # rootfs/boot - mount ${DevicePath}2 $tmpdir || exit 1 - echo "Write kernel to rootfs..." - rm -f $tmpdir/boot/${KernelImageType}* - KernelFileName=`basename $DeployedFile` - cp $DeployedFile $tmpdir/boot/ - ln -sf $KernelFileName $tmpdir/boot/$KernelImageType - echo "${style_green}Write done.${style_normal}" - - # rootfs/lib/modules - echo "Write modules to rootfs..." - kernel_abi_ver=`echo $KernelFileName | sed 's:'${KernelImageType}'-::g'` - rm -rf $tmpdir/lib/modules/$kernel_abi_ver - for modules in `find ${DeployFileDir} -name "modules-${Machine}.tgz"`; do - tar xvzf ${modules} -C $tmpdir/ - done - echo "${style_green}Write done.${style_normal}" - - # run depmod (stolen from dempodwrapper) - sys_map=`realpath ${OeTmpDir}/pkgdata/${Machine}/kernel-depmod/System.map-$kernel_abi_ver` - echo "Run depmod on modules..." - depmod -a -b $tmpdir -F "$sys_map" "$kernel_abi_ver" - echo "${style_green}Run done.${style_normal}" - - # cleanup - echo "Unmount rootfs partition..." - umount ${DevicePath}2 || exit 1 - echo "${style_green}Unmount done.${style_normal}" - rm -rf $tmpdir + ErrorOut "Card kernel write for old TI is not yet implemented" } - CheckPrerequisite "time" CheckPrerequisite "gunzip" CheckPrerequisite "dd" diff --git a/scripts/ti-old-omap-card-kernel-write.sh b/scripts/ti-old-omap-card-kernel-write.sh new file mode 100755 index 0000000..07c6489 --- /dev/null +++ b/scripts/ti-old-omap-card-kernel-write.sh @@ -0,0 +1,14 @@ +#! /bin/bash + +# ti-old-omap-card-kernel-write.sh +# (c) Copyright 2018 Andreas Müller +# Licensed under terms of GPLv2 +# +# This script writes image to sdcard and aligns rootfs partition to max size. + +# Includes +. `dirname $0`/include/common-helpers.inc +. `dirname $0`/include/card-helpers.inc +. `dirname $0`/include/machine-ti-old-omap.inc + +StartCardKernelWrite diff --git a/scripts/ti-old-omap-card-part.sh b/scripts/ti-old-omap-card-part.sh index ab9d4c0..2c1e2b2 100755 --- a/scripts/ti-old-omap-card-part.sh +++ b/scripts/ti-old-omap-card-part.sh @@ -12,33 +12,28 @@ . `dirname $0`/../tools.inc -# overrride default +# overrride default SelectInOut - we have nothing to deploy here SelectInOut() { # DevicePath for target card SelectCardDevice - - RootParams="$DevicePath" } # implement here - not im machine-ti-old-omap.inc RootCardWriteCallback() { # kill u-boot environment - dd if=/dev/zero of=$DevicePath bs=1024 count=1024 + EvalExAuto "dd if=/dev/zero of=$DevicePath bs=1024 count=1024" "\nKill u-boot environment..." # Create the FAT partition of 64MB and make it bootable - parted -s $DevicePath mklabel msdos - parted -s $DevicePath mkpart primary fat32 63s 64MB - parted -s $DevicePath toggle 1 boot + EvalExAuto "parted -s $DevicePath mklabel msdos && parted -s $DevicePath mkpart primary fat32 63s 64MB && parted -s $DevicePath toggle 1 boot" "\nCreate boot partition..." # Create the rootfs partition until end of device - parted -s $DevicePath -- mkpart primary ext4 64MB -0 + EvalExAuto "parted -s $DevicePath -- mkpart primary ext4 64MB -0" "\nCreate rootfs partition..." - # write partitions - mkfs.vfat -F 32 -n "boot" -I ${DevicePath}1 - mke2fs -F -j -t ext4 -L "rootfs" ${DevicePath}2 + # create filesystems + EvalExAuto "mkfs.vfat -F 32 -n "boot" -I ${DevicePath}1" "\nCreate boot filesystem..." + EvalExAuto "mke2fs -F -j -t ext4 -L "rootfs" ${DevicePath}2" "\nCreate rootfs filesystem..." } - CheckPrerequisite "parted" CheckPrerequisite "dd" CheckPrerequisite "mkfs.vfat"