#!/bin/bash set -e #!/bin/bash usage() { echo "Usage: $0 -V | --vendor -t | --type -i | --image --chroot-type --orgcode --channelid --help" exit 1 } VENDOR="" PIPE_TYPE="small" CHROOT_TYPE="androidrom" DEPLOY="elf" ORGCODE="" CHANNELID="" IMAGE_FILE="/opt/image-base/armbian.img" export PATH=${PATH}:$(pwd)/tools/ PARSED_ARUGMENTS=$(getopt -a -n "$0" -o V:t:i: --long help,vendor:,type:,image:,chroot-type:,orgcode:,channelid:, -- "$@") eval set -- "${PARSED_ARUGMENTS}" while : do case "$1" in -V | --vendor) VENDOR="$2"; shift 2 ;; -t | --type) PIPE_TYPE="$2"; shift 2 ;; -i | --image) IMAGE_FILE="$2"; shift 2 ;; --chroot-type) CHROOT_TYPE="$2"; shift 2 ;; --orgcode) ORGCODE="$2"; shift 2;; --channelid) CHANNELID="$2"; shift 2;; --help) usage ;; --) shift; break;; *) usage ;; esac done build_dir=$(mktemp -d ./tmp.XXXXX) build_image() { img="$1" systemfile="$build_dir/system.PARTITION" systemfile_ext4="$build_dir/system.PARTITION.ext4" aml_image_v2_packer -d "$img" "./$build_dir" if file "$systemfile" | grep "Android sparse image" then simg2img "$systemfile" "$systemfile_ext4" loopdev=$(sudo losetup -P -f --show "$systemfile_ext4") else loopdev=$(sudo losetup -P -f --show "$systemfile") fi mkdir "$build_dir/system" sudo mount "$loopdev" "$build_dir/system" sudo touch "$build_dir/system/.androidrom" sudo rm -f "$build_dir/system/hugep-all.zip" sudo cp -f "$build_dir/hugep-all.zip" "$build_dir/system/hugep-all.zip" sudo find ./services/ -type f -name "*.rc" -exec install -t "$build_dir"/system/etc/init/ {} \; sudo find ./services/ -type f ! -name "*.rc" -exec install -m 0777 -t "$build_dir"/system/bin/ {} \; for file in $(find ./services/ -type f ! -name "*.rc") do sudo chcon u:object_r:drmserver_exec:s0 "$build_dir/system/bin/$(basename "$file")" done sudo umount "$loopdev" sudo losetup -d "$loopdev" rm -rf "$build_dir/system" sync if [[ -f "$systemfile_ext4" ]] then rm -f "$systemfile" img2simg "$systemfile_ext4" "$systemfile" rm -f "$systemfile_ext4" fi aml_image_v2_packer -r "./$build_dir/image.cfg" "$build_dir" "$(basename "$img")" sudo rm -rf "./$build_dir/" } genarae_vendor_confg() { local yaml_file_src local yaml_file yaml_file="$build_dir"/vendor.yaml yaml_file_src="$build_dir"/vendor.yaml.src cp vendor.yaml.src "$yaml_file_src" sed -i'' "s#$__VENDOR__/$VENDOR/g" "$yaml_file_src" sed -i'' "s#$__ORGCODE__/$ORGCODE/g" "$yaml_file_src" sed -i'' "s#$__CHROOT_TYPE__/$CHROOT_TYPE/g" "$yaml_file_src" sed -i'' "s#$__DEPLOY__/$DEPLOY/g" "$yaml_file_src" aio -m enc -i "$yaml_file_src" -o "$yaml_file" } update_hugepall_zipfile() { local yaml_file local hugep_zip_file local hugep_zip_file_origin yaml_file="$build_dir"/vendor.yaml hugep_zip_file="$build_dir/hugep-all.zip" hugep_zip_file_origin="./services/hugep-all.zip" cp "$hugep_zip_file_origin" "$hugep_zip_file" zip -u -j "$yaml_file" "$hugep_zip_file" } export PATH="$PATH":"$(pwd)"/tools/ build_image "$IMAGE_FILE"