123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- #!/bin/bash
- ROOT_PATH=`pwd`
- TOOLS_PATH="tools/bin2ext4"
- # set default value
- MACHINE="light-fm"
- IMAGE_PATH=${ROOT_PATH}"/../tmp-glibc/deploy/images/"${MACHINE}
- TEE_PATH=${ROOT_PATH}"/../tmp-glibc/work/riscv64-oe-linux/op-tee/0.1-r0/git"
- DEB_PATH=${ROOT_PATH}"/../tmp-glibc/deploy/deb"
- #echo "ROOT_PATH="${ROOT_PATH}
- #echo "IMAGE_PATH="${IMAGE_PATH}
- print_help(){
- echo -e "\033[32m ===\t\t This is a script used to generate Linux SDK \t\t\t==\033[0m"
- echo -e "\033[32m ** it will get MACHINE and IMAGE information from file build-id.txt saved in buildhistory** ==\033[0m"
- }
- # copy boot image
- do_copy_boot(){
- echo -e "\033[32m === copy boot image ==\033[0m"
- set -x
- cp ${IMAGE_PATH}/boot.ext4 images/${MACHINE}/
- set +x
- }
- # copy uboot images
- do_copy_uboot(){
- echo -e "\033[32m === copy uboot images ==\033[0m"
- set -x
- mkdir -p images/${MACHINE}/light_fastboot_image_single_rank
- cp ${IMAGE_PATH}/u-boot-with-spl.bin images/${MACHINE}/light_fastboot_image_single_rank/u-boot-with-spl.bin
- set +x
- }
- # copy security related images
- do_copy_secimages(){
- echo -e "\033[32m === copy security related images ==\033[0m"
- set -x
- if echo "${MACHINE}" | grep -q "light-a-"; then
- cp -r images/prebuild/light-fm-a/light_fastboot_image_single_rank_sec images/${MACHINE}/
- elif echo "${MACHINE}" | grep -q "light-b-"; then
- cp -r images/prebuild/light-fm-b/light_fastboot_image_single_rank_sec images/${MACHINE}/
- else
- return 0
- fi
- cp ${IMAGE_PATH}/tf.ext4 images/${MACHINE}/light_fastboot_image_single_rank_sec/
- cp ${IMAGE_PATH}/tee.ext4 images/${MACHINE}/light_fastboot_image_single_rank_sec/
- if [ ! -d software/Tsec_dev_kit ]; then
- cp -r ${IMAGE_PATH}/Tsec_dev_kit software/
- fi
- set +x
- }
- # copy rootfs,if more than one rootfs have been compiled, all of them will be copied
- do_copy_rootfs(){
- echo -e "\033[32m === copy rootfs,if more than one rootfs have been compiled, all of them will be copied ==\033[0m"
- set -x
- cp ${IMAGE_PATH}/${IMAGE}-${MACHINE}.ext4 images/${MACHINE}/rootfs.${IMAGE}.ext4
- # if echo "${IMAGE}" | grep -q "linux-test"; then
- # cp ${IMAGE_PATH}/${IMAGE}-${MACHINE}.ext4 images/${MACHINE}/rootfs.test.ext4
- # else
- # cp ${IMAGE_PATH}/${IMAGE}-${MACHINE}.ext4 images/${MACHINE}/rootfs.ext4
- # fi
- set +x
- }
- do_copy_vmlinux(){
- echo -e "\033[32m === copy vmlinux to ${MACHINE} ==\033[0m"
- set -x
- MACHINE_UNDERLINE=${MACHINE//"-"/"_"}
- #echo MACHINE_UNDERLINE=${MACHINE_UNDERLINE}
- cp ${ROOT_PATH}/../tmp-glibc/work/${MACHINE_UNDERLINE}-oe-linux/linux-thead/*/linux-${MACHINE_UNDERLINE}-standard-build/vmlinux images/${MACHINE}/
- set +x
- }
- # copy deb
- do_copy_deb(){
- cmd_args=$*
- for item in $cmd_args; do
- if [ "$item" = "no-deb" ]; then
- echo "do_copy_deb() does not executed"
- return 0
- fi
- done
- echo -e "\033[32m === copy deb ==\033[0m"
- set -x
- cp -r ${DEB_PATH} ./
- set +x
- }
- do_tarball(){
- cmd_args=$*
- for item in $cmd_args; do
- if [ "$item" = "no-tarball" ]; then
- echo "do_tarball() does not executed"
- return 0
- fi
- done
- echo -e "\033[32m === build tarball for ${MACHINE} ==\033[0m"
- set -x
- mkdir -p tarball
- rm -rf /tmp/sdk_tarball/${MACHINE}/images/${MACHINE}
- mkdir -p /tmp/sdk_tarball/${MACHINE}/images/${MACHINE}
- cp -r images/${MACHINE} /tmp/sdk_tarball/${MACHINE}/images/
- cp -r tools /tmp/sdk_tarball/${MACHINE}/
- cd /tmp/sdk_tarball/ && tar -zcvf prebuild_${MACHINE}.tar.gz ${MACHINE} && cd -
- cp /tmp/sdk_tarball/prebuild_${MACHINE}.tar.gz ./tarball/
- set +x
- }
- do_work(){
- cmd_args=$*
- echo -e "\033[32m === copy images, go through every MACHINE and copy target images ==\033[0m"
- BUILD_INFO_FILE=`find ${ROOT_PATH}/../buildhistory/ -name build-id.txt`
- echo "BUILD_INFO_FILE="${BUILD_INFO_FILE}
- for file in ${BUILD_INFO_FILE}
- do
- info=`cat ${file} |head -n 1`
- echo ${info}
- MACHINE=`echo ${info} |cut -d \: -f 1`
- #echo "MACHINE="${MACHINE}
- IMAGE=`echo ${info} | cut -d \: -f 2 |cut -d ' ' -f 2`
- echo "----------IMAGE="${IMAGE}
- IMAGE_PATH=${ROOT_PATH}"/../tmp-glibc/deploy/images/"${MACHINE}
- #TARGET=`echo ${IMAGE##*-}`
- #echo "TARGET="${TARGET}
- echo "create images/"${MACHINE}
- mkdir -p images/${MACHINE}
- echo -e "\033[36m copy ${MACHINE} images\033[0m"
- do_copy_uboot
- do_copy_secimages
- do_copy_boot
- do_copy_rootfs
- do_copy_vmlinux
- do_tarball $cmd_args
- #break
- done
- do_copy_deb $cmd_args
- }
- finish(){
- echo -e -e "\033[32m Done \033[0m"
- }
- # start from here
- cmd_args=$*
- print_help
- do_work $cmd_args
- finish
|