* Update build-all.sh

* Delete ovf-create.sh

* Update patches.sh

* Update hdd-image.sh

* Create .travis.yml

* Update hdd-image.sh

* Update hdd-image.sh

* Update hdd-image.sh

* Update hdd-image.sh

* Update ota.sh

* Update post-build.sh

* Update post-image.sh

* Update rauc.sh

* Update rootfs-layer.sh

* Update hassos-cli

* Update hassos-supervisor

* Update hassos-config

* Update hassos-apparmor

* Update hassos-expand

* Update hassos-persists-journald

* Update hassos-rate

* Update hassos-hook.sh

* Update hassos-hook.sh

* Rename uboot-boot.sh to uboot-boot.ush

* Rename uboot-boot.sh to uboot-boot.ush

* Update hassos-hook.sh

* Rename uboot-boot.sh to uboot-boot.ush

* Rename uboot-boot.sh to uboot-boot.ush

* Update hassos-hook.sh

* Update odroid_c2_defconfig

* Update rpi0_w_defconfig

* Update rpi2_defconfig

* Update rpi3_64_defconfig

* Update rpi3_defconfig

* Update rpi_defconfig

* Update tinker_defconfig

* Update enter.sh

* Update .travis.yml
This commit is contained in:
Pascal Vizeli
2018-11-30 16:22:04 +01:00
committed by GitHub
parent ae0a2fe264
commit 60c9013535
33 changed files with 249 additions and 223 deletions

View File

@@ -1,4 +1,5 @@
#!/bin/bash
# shellcheck disable=SC2155
BOOT_UUID="b3dd0952-733c-4c88-8cba-cab9b8b4377f"
BOOTSTATE_UUID="33236519-7F32-4DFF-8002-3390B62C309D"
@@ -9,7 +10,6 @@ KERNEL1_UUID="fc02a4f0-5350-406f-93a2-56cbed636b5f"
OVERLAY_UUID="f1326040-5236-40eb-b683-aaa100a9afcf"
DATA_UUID="a52a4597-fa3a-4851-aefd-2fbe9f849079"
SPL_SIZE=8M
BOOT_SIZE=(32M 24M)
BOOTSTATE_SIZE=8M
SYSTEM_SIZE=256M
@@ -22,7 +22,7 @@ function size2sectors() {
s=0
for v in "${@}"
do
let s+=$(echo $v | awk \
((s+=$(echo "$v" | awk \
'BEGIN{IGNORECASE = 1}
function printsectors(n,b,p) {printf "%u\n", n*b^p/512}
/B$/{ printsectors($1, 1, 0)};
@@ -34,6 +34,7 @@ function size2sectors() {
/MB$/{ printsectors($1, 10, 6)};
/GB$/{ printsectors($1, 10, 9)};
/TB$/{ printsectors($1, 10, 12)}')
))
done
echo $s
}
@@ -51,7 +52,7 @@ function get_boot_size() {
function create_spl_image() {
local boot_img="$(path_spl_img)"
dd if=/dev/zero of=${boot_img} bs=512 count=16382
dd if=/dev/zero of="${boot_img}" bs=512 count=16382
}
@@ -60,32 +61,33 @@ function create_boot_image() {
local boot_img="$(path_boot_img)"
echo "mtools_skip_check=1" > ~/.mtoolsrc
dd if=/dev/zero of=${boot_img} bs=$(get_boot_size) count=1
mkfs.vfat -n "hassos-boot" ${boot_img}
mcopy -i ${boot_img} -sv ${boot_data}/* ::
dd if=/dev/zero of="${boot_img}" bs="$(get_boot_size)" count=1
mkfs.vfat -n "hassos-boot" "${boot_img}"
mcopy -i "${boot_img}" -sv "${boot_data}"/* ::
}
function create_overlay_image() {
local overlay_img="$(path_overlay_img)"
dd if=/dev/zero of=${overlay_img} bs=${OVERLAY_SIZE} count=1
mkfs.ext4 -L "hassos-overlay" -E lazy_itable_init=0,lazy_journal_init=0 ${overlay_img}
dd if=/dev/zero of="${overlay_img}" bs=${OVERLAY_SIZE} count=1
mkfs.ext4 -L "hassos-overlay" -E lazy_itable_init=0,lazy_journal_init=0 "${overlay_img}"
}
function create_kernel_image() {
local kernel_img="$(path_kernel_img)"
# shellcheck disable=SC2153
local kernel="${BINARIES_DIR}/${KERNEL_FILE}"
# Make image
dd if=/dev/zero of=${kernel_img} bs=${KERNEL_SIZE} count=1
mkfs.ext4 -L "hassos-kernel" -E lazy_itable_init=0,lazy_journal_init=0 ${kernel_img}
dd if=/dev/zero of="${kernel_img}" bs=${KERNEL_SIZE} count=1
mkfs.ext4 -L "hassos-kernel" -E lazy_itable_init=0,lazy_journal_init=0 "${kernel_img}"
# Mount / init file structs
mkdir -p /mnt/data/
mount -o loop ${kernel_img} /mnt/data
cp -f ${kernel} /mnt/data/
mount -o loop "${kernel_img}" /mnt/data
cp -f "${kernel}" /mnt/data/
umount /mnt/data
}
@@ -125,54 +127,54 @@ function _create_disk_gpt() {
##
# Write new image & GPT
dd if=/dev/zero of=${hdd_img} bs=1G count=${hdd_count}
sgdisk -o ${hdd_img}
dd if=/dev/zero of="${hdd_img}" bs=1G count="${hdd_count}"
sgdisk -o "${hdd_img}"
##
# Partition layout
# SPL
if [ "${BOOT_SYS}" == "spl" ]; then
sgdisk -j 16384 ${hdd_img}
sgdisk -j 16384 "${hdd_img}"
fi
# boot
boot_offset="$(sgdisk -F ${hdd_img})"
sgdisk -n 0:${boot_offset}:+$(get_boot_size) -c 0:"hassos-boot" -t 0:"C12A7328-F81F-11D2-BA4B-00A0C93EC93B" -u 0:${BOOT_UUID} ${hdd_img}
boot_offset="$(sgdisk -F "${hdd_img}")"
sgdisk -n "0:${boot_offset}:+$(get_boot_size)" -c 0:"hassos-boot" -t 0:"C12A7328-F81F-11D2-BA4B-00A0C93EC93B" -u 0:${BOOT_UUID} "${hdd_img}"
# Kernel 0
kernel_offset="$(sgdisk -F ${hdd_img})"
sgdisk -n 0:0:+${KERNEL_SIZE} -c 0:"hassos-kernel0" -t 0:"0FC63DAF-8483-4772-8E79-3D69D8477DE4" -u 0:${KERNEL0_UUID} ${hdd_img}
kernel_offset="$(sgdisk -F "${hdd_img}")"
sgdisk -n "0:0:+${KERNEL_SIZE}" -c 0:"hassos-kernel0" -t 0:"0FC63DAF-8483-4772-8E79-3D69D8477DE4" -u "0:${KERNEL0_UUID}" "${hdd_img}"
# System 0
rootfs_offset="$(sgdisk -F ${hdd_img})"
sgdisk -n 0:0:+${SYSTEM_SIZE} -c 0:"hassos-system0" -t 0:"0FC63DAF-8483-4772-8E79-3D69D8477DE4" -u 0:${SYSTEM0_UUID} ${hdd_img}
rootfs_offset="$(sgdisk -F "${hdd_img}")"
sgdisk -n "0:0:+${SYSTEM_SIZE}" -c 0:"hassos-system0" -t 0:"0FC63DAF-8483-4772-8E79-3D69D8477DE4" -u "0:${SYSTEM0_UUID}" "${hdd_img}"
# Kernel 1
sgdisk -n 0:0:+${KERNEL_SIZE} -c 0:"hassos-kernel1" -t 0:"0FC63DAF-8483-4772-8E79-3D69D8477DE4" -u 0:${KERNEL1_UUID} ${hdd_img}
sgdisk -n "0:0:+${KERNEL_SIZE}" -c 0:"hassos-kernel1" -t 0:"0FC63DAF-8483-4772-8E79-3D69D8477DE4" -u "0:${KERNEL1_UUID}" "${hdd_img}"
# System 1
sgdisk -n 0:0:+${SYSTEM_SIZE} -c 0:"hassos-system1" -t 0:"0FC63DAF-8483-4772-8E79-3D69D8477DE4" -u 0:${SYSTEM1_UUID} ${hdd_img}
sgdisk -n "0:0:+${SYSTEM_SIZE}" -c 0:"hassos-system1" -t 0:"0FC63DAF-8483-4772-8E79-3D69D8477DE4" -u "0:${SYSTEM1_UUID}" "${hdd_img}"
# Bootstate
sgdisk -n 0:0:+${BOOTSTATE_SIZE} -c 0:"hassos-bootstate" -u 0:${BOOTSTATE_UUID} ${hdd_img}
sgdisk -n "0:0:+${BOOTSTATE_SIZE}" -c 0:"hassos-bootstate" -u 0:${BOOTSTATE_UUID} "${hdd_img}"
# Overlay
overlay_offset="$(sgdisk -F ${hdd_img})"
sgdisk -n 0:0:+${OVERLAY_SIZE} -c 0:"hassos-overlay" -t 0:"0FC63DAF-8483-4772-8E79-3D69D8477DE4" -u 0:${OVERLAY_UUID} ${hdd_img}
overlay_offset="$(sgdisk -F "${hdd_img}")"
sgdisk -n "0:0:+${OVERLAY_SIZE}" -c 0:"hassos-overlay" -t 0:"0FC63DAF-8483-4772-8E79-3D69D8477DE4" -u "0:${OVERLAY_UUID}" "${hdd_img}"
# Data
data_offset="$(sgdisk -F ${hdd_img})"
sgdisk -n 0:0:+${DATA_SIZE} -c 0:"hassos-data" -t 0:"0FC63DAF-8483-4772-8E79-3D69D8477DE4" -u 0:${DATA_UUID} ${hdd_img}
data_offset="$(sgdisk -F "${hdd_img}")"
sgdisk -n "0:0:+${DATA_SIZE}" -c 0:"hassos-data" -t 0:"0FC63DAF-8483-4772-8E79-3D69D8477DE4" -u "0:${DATA_UUID}" "${hdd_img}"
##
# Write Images
sgdisk -v
dd if=${boot_img} of=${hdd_img} conv=notrunc bs=512 seek=${boot_offset}
dd if=${kernel_img} of=${hdd_img} conv=notrunc bs=512 seek=${kernel_offset}
dd if=${rootfs_img} of=${hdd_img} conv=notrunc bs=512 seek=${rootfs_offset}
dd if=${overlay_img} of=${hdd_img} conv=notrunc bs=512 seek=${overlay_offset}
dd if=${data_img} of=${hdd_img} conv=notrunc bs=512 seek=${data_offset}
dd if="${boot_img}" of"=${hdd_img}" conv=notrunc bs=512 seek="${boot_offset}"
dd if="${kernel_img}" of="${hdd_img}" conv=notrunc bs=512 seek="${kernel_offset}"
dd if="${rootfs_img}" of="${hdd_img}" conv=notrunc bs=512 seek="${rootfs_offset}"
dd if="${overlay_img}" of="${hdd_img}" conv=notrunc bs=512 seek="${overlay_offset}"
dd if="${data_img}" of="${hdd_img}" conv=notrunc bs=512 seek="${data_offset}"
# Fix boot
if [ "${BOOT_SYS}" == "hyprid" ]; then
@@ -192,38 +194,37 @@ function _create_disk_mbr() {
local hdd_img="$(hassos_image_name img)"
local hdd_count=${DISK_SIZE:-2}
local disk_layout="${BINARIES_DIR}/disk.layout"
local boot_start=16384
local boot_size=$(($(size2sectors BOOT_SIZE)+2))
local kernel0_size=$(($(size2sectors KERNEL_SIZE)+2))
local system0_size=$(($(size2sectors SYSTEM_SIZE)+2))
local kernel1_size=$(($(size2sectors KERNEL_SIZE)+2))
local system1_size=$(($(size2sectors SYSTEM_SIZE)+2))
local bootstate_size=$(($(size2sectors BOOTSTATE_SIZE)+2))
local overlay_size=$(($(size2sectors OVERLAY_SIZE)+2))
local data_size=$(($(size2sectors DATA_SIZE)+2))
local extended_size=$((kernel0_size+system0_size+kernel1_size+system1_size+bootstate_size+2))
# we add one here for the extended header.
local extended_start=$((boot_start+boot_size+1))
local kernel0_start=$((extended_start+1))
local system0_start=$((kernel0_start+kernel0_size+1))
local kernel1_start=$((system0_start+system0_size+1))
local system1_start=$((kernel1_start+kernel1_size+1))
local bootstate_start=$((system1_start+system1_size+1))
local overlay_start=$((extended_start+extended_size+1))
local data_start=$((overlay_start+overlay_size+1))
local boot_offset=${boot_start}
local kernel_offset=${kernel0_start}
local rootfs_offset=${system0_start}
local overlay_offset=${overlay_start}
local data_offset=${data_start}
# Write new image & MBR
dd if=/dev/zero of=${hdd_img} bs=1G count=${hdd_count}
dd if=/dev/zero of="${hdd_img}" bs=1G count="${hdd_count}"
let boot_start=16384
let boot_size=$(size2sectors ${BOOT_SIZE})+2
let kernel0_size=$(size2sectors ${KERNEL_SIZE})+2
let system0_size=$(size2sectors ${SYSTEM_SIZE})+2
let kernel1_size=$(size2sectors ${KERNEL_SIZE})+2
let system1_size=$(size2sectors ${SYSTEM_SIZE})+2
let bootstate_size=$(size2sectors ${BOOTSTATE_SIZE})+2
let overlay_size=$(size2sectors ${OVERLAY_SIZE})+2
let data_size=$(size2sectors ${DATA_SIZE})+2
let extended_size=${kernel0_size}+${system0_size}+${kernel1_size}+${system1_size}+${bootstate_size}+2
let extended_start=${boot_start}+${boot_size}+1
let kernel0_start=${extended_start}+1 # we add one here for the extended header.
let system0_start=${kernel0_start}+${kernel0_size}+1
let kernel1_start=${system0_start}+${system0_size}+1
let system1_start=${kernel1_start}+${kernel1_size}+1
let bootstate_start=${system1_start}+${system1_size}+1
let overlay_start=${extended_start}+${extended_size}+1
let data_start=${overlay_start}+${overlay_size}+1
let boot_offset=${boot_start}
let kernel_offset=${kernel0_start}
let rootfs_offset=${system0_start}
let overlay_offset=${overlay_start}
let data_offset=${data_start}
# Update disk layout
(
echo "label: dos"
@@ -238,17 +239,17 @@ function _create_disk_mbr() {
echo "hassos-bootstate : start= ${bootstate_start}, size= ${bootstate_size}, type=83" #Make a logical Linux partition
echo "hassos-overlay : start= ${overlay_start}, size= ${overlay_size}, type=83" #Make a Linux partition
echo "hassos-data : start= ${data_start}, size= ${data_size}, type=83" #Make a Linux partition
) > ${disk_layout}
) > "${disk_layout}"
# Update Labels
sfdisk ${hdd_img} < ${disk_layout}
sfdisk "${hdd_img}" < "${disk_layout}"
# Write Images
dd if=${boot_img} of=${hdd_img} conv=notrunc bs=512 seek=${boot_offset}
dd if=${kernel_img} of=${hdd_img} conv=notrunc bs=512 seek=${kernel_offset}
dd if=${rootfs_img} of=${hdd_img} conv=notrunc bs=512 seek=${rootfs_offset}
dd if=${overlay_img} of=${hdd_img} conv=notrunc bs=512 seek=${overlay_offset}
dd if=${data_img} of=${hdd_img} conv=notrunc bs=512 seek=${data_offset}
dd if="${boot_img}" of="${hdd_img}" conv=notrunc bs=512 seek="${boot_offset}"
dd if="${kernel_img}" of="${hdd_img}" conv=notrunc bs=512 seek="${kernel_offset}"
dd if="${rootfs_img}" of="${hdd_img}" conv=notrunc bs=512 seek="${rootfs_offset}"
dd if="${overlay_img}" of="${hdd_img}" conv=notrunc bs=512 seek="${overlay_offset}"
dd if="${data_img}" of="${hdd_img}" conv=notrunc bs=512 seek="${data_offset}"
# Wripte SPL
_fix_disk_spl_mbr
@@ -258,19 +259,18 @@ function _create_disk_mbr() {
function _fix_disk_hyprid() {
local hdd_img="$(hassos_image_name img)"
sgdisk -t 1:"E3C9E316-0B5C-4DB8-817D-F92DF00215AE" ${hdd_img}
dd if=${BR2_EXTERNAL_HASSOS_PATH}/misc/mbr.img of=${hdd_img} conv=notrunc bs=512 count=1
sgdisk -t 1:"E3C9E316-0B5C-4DB8-817D-F92DF00215AE" "${hdd_img}"
dd if="${BR2_EXTERNAL_HASSOS_PATH}/misc/mbr.img" of="${hdd_img}" conv=notrunc bs=512 count=1
}
function _fix_disk_spl_gpt() {
local hdd_img="$(hassos_image_name img)"
local spl_img="$(path_spl_img)"
local backup="/tmp/mbr-backup.bin"
sgdisk -t 1:"E3C9E316-0B5C-4DB8-817D-F92DF00215AE" ${hdd_img}
dd if=${BR2_EXTERNAL_HASSOS_PATH}/misc/mbr-spl.img of=${hdd_img} conv=notrunc bs=512 count=1
dd if=${spl_img} of=${hdd_img} conv=notrunc bs=512 seek=2 skip=2
sgdisk -t 1:"E3C9E316-0B5C-4DB8-817D-F92DF00215AE" "${hdd_img}"
dd if="${BR2_EXTERNAL_HASSOS_PATH}/misc/mbr-spl.img" of="${hdd_img}" conv=notrunc bs=512 count=1
dd if="${spl_img}" of="${hdd_img}" conv=notrunc bs=512 seek=2 skip=2
}
@@ -279,8 +279,8 @@ function _fix_disk_spl_mbr() {
local spl_img="$(path_spl_img)"
# backup MBR
dd if=${spl_img} of=${hdd_img} conv=notrunc bs=1 count=440
dd if=${spl_img} of=${hdd_img} conv=notrunc bs=512 seek=1 skip=1
dd if="${spl_img}" of="${hdd_img}" conv=notrunc bs=1 count=440
dd if="${spl_img}" of="${hdd_img}" conv=notrunc bs=512 seek=1 skip=1
}
@@ -290,22 +290,22 @@ function convert_disk_image_virtual() {
local hdd_vhdx="$(hassos_image_name vhdx)"
local hdd_vdi="$(hassos_image_name vdi)"
rm -f ${hdd_vmdk}
rm -f ${hdd_vhdx}
rm -f ${hdd_vdi}
rm -f "${hdd_vmdk}"
rm -f "${hdd_vhdx}"
rm -f "${hdd_vdi}"
qemu-img convert -O vmdk ${hdd_img} ${hdd_vmdk}
qemu-img convert -O vhdx ${hdd_img} ${hdd_vhdx}
qemu-img convert -O vdi ${hdd_img} ${hdd_vdi}
qemu-img convert -O vmdk "${hdd_img}" "${hdd_vmdk}"
qemu-img convert -O vhdx "${hdd_img}" "${hdd_vhdx}"
qemu-img convert -O vdi "${hdd_img}" "${hdd_vdi}"
rm -f ${hdd_img}
rm -f "${hdd_img}"
}
function convert_disk_image_gz() {
local hdd_ext=${1:-img}
local hdd_img="$(hassos_image_name ${hdd_ext})"
local hdd_img="$(hassos_image_name "${hdd_ext}")"
rm -f ${hdd_img}.gz
gzip --best ${hdd_img}
rm -f "${hdd_img}.gz"
gzip --best "${hdd_img}"
}

View File

@@ -1,4 +1,5 @@
#!/bin/bash
# shellcheck disable=SC2155
function create_ota_update() {
local ota_file="$(hassos_image_name raucb)"
@@ -16,13 +17,13 @@ function create_ota_update() {
return 0
fi
rm -rf ${rauc_folder} ${ota_file}
mkdir -p ${rauc_folder}
rm -rf "${rauc_folder}" "${ota_file}"
mkdir -p "${rauc_folder}"
cp -f ${kernel} ${rauc_folder}/kernel.ext4
cp -f ${boot} ${rauc_folder}/boot.vfat
cp -f ${rootfs} ${rauc_folder}/rootfs.img
cp -f ${BR2_EXTERNAL_HASSOS_PATH}/misc/rauc-hook ${rauc_folder}/hook
cp -f "${kernel}" "${rauc_folder}/kernel.ext4"
cp -f "${boot}" "${rauc_folder}/boot.vfat"
cp -f "${rootfs}" "${rauc_folder}/rootfs.img"
cp -f "${BR2_EXTERNAL_HASSOS_PATH}/misc/rauc-hook" "${rauc_folder}/hook"
(
echo "[update]"
@@ -37,18 +38,18 @@ function create_ota_update() {
echo "filename=kernel.ext4"
echo "[image.rootfs]"
echo "filename=rootfs.img"
) > ${rauc_folder}/manifest.raucm
) > "${rauc_folder}/manifest.raucm"
# SPL
if [ "${BOOT_SYS}" == "spl" ]; then
cp -f ${spl} ${rauc_folder}/spl.img
cp -f "${spl}" "${rauc_folder}/spl.img"
(
echo "[image.spl]"
echo "filename=spl.img"
echo "hooks=install"
) >> ${rauc_folder}/manifest.raucm
) >> "${rauc_folder}/manifest.raucm"
fi
rauc bundle -d --cert=${cert} --key=${key} ${rauc_folder} ${ota_file}
rauc bundle -d --cert="${cert}" --key="${key}" "${rauc_folder}" "${ota_file}"
}

View File

@@ -1,15 +1,16 @@
#!/bin/bash
# shellcheck disable=SC1090
set -e
SCRIPT_DIR=${BR2_EXTERNAL_HASSOS_PATH}/scripts
BOARD_DIR=${2}
. ${BR2_EXTERNAL_HASSOS_PATH}/meta
. ${BOARD_DIR}/meta
. "${BR2_EXTERNAL_HASSOS_PATH}/meta"
. "${BOARD_DIR}/meta"
. ${SCRIPT_DIR}/rootfs-layer.sh
. ${SCRIPT_DIR}/name.sh
. ${SCRIPT_DIR}/rauc.sh
. "${SCRIPT_DIR}/rootfs-layer.sh"
. "${SCRIPT_DIR}/name.sh"
. "${SCRIPT_DIR}/rauc.sh"
# HassOS tasks
@@ -17,6 +18,7 @@ fix_rootfs
install_hassos_cli
# Write os-release
# shellcheck disable=SC2153
(
echo "NAME=${HASSOS_NAME}"
echo "VERSION=\"${VERSION_MAJOR}.${VERSION_BUILD} (${BOARD_NAME})\""
@@ -27,13 +29,13 @@ install_hassos_cli
echo "HOME_URL=https://hass.io/"
echo "VARIANT=\"${HASSOS_NAME} ${BOARD_NAME}\""
echo "VARIANT_ID=${BOARD_ID}"
) > ${TARGET_DIR}/usr/lib/os-release
) > "${TARGET_DIR}/usr/lib/os-release"
# Write machine-info
(
echo "CHASSIS=${CHASSIS}"
echo "DEPLOYMENT=${DEPLOYMENT}"
) > ${TARGET_DIR}/etc/machine-info
) > "${TARGET_DIR}/etc/machine-info"
# Setup RAUC

View File

@@ -1,19 +1,20 @@
#!/bin/bash
# shellcheck disable=SC1090
set -e
SCRIPT_DIR=${BR2_EXTERNAL_HASSOS_PATH}/scripts
BOARD_DIR=${2}
HOOK_FILE=${3}
. ${BR2_EXTERNAL_HASSOS_PATH}/meta
. ${BOARD_DIR}/meta
. "${BR2_EXTERNAL_HASSOS_PATH}/meta"
. "${BOARD_DIR}/meta"
. ${SCRIPT_DIR}/hdd-image.sh
. ${SCRIPT_DIR}/rootfs-layer.sh
. ${SCRIPT_DIR}/name.sh
. ${SCRIPT_DIR}/rauc.sh
. ${SCRIPT_DIR}/ota.sh
. ${HOOK_FILE}
. "${SCRIPT_DIR}/hdd-image.sh"
. "${SCRIPT_DIR}/rootfs-layer.sh"
. "${SCRIPT_DIR}/name.sh"
. "${SCRIPT_DIR}/rauc.sh"
. "${SCRIPT_DIR}/ota.sh"
. "${HOOK_FILE}"
# Cleanup
rm -rf "$(path_boot_dir)"

View File

@@ -15,17 +15,16 @@ function _create_rauc_header() {
echo "[keyring]"
echo "path=/etc/rauc/keyring.pem"
) > ${TARGET_DIR}/etc/rauc/system.conf
) > "${TARGET_DIR}/etc/rauc/system.conf"
}
function _write_rauc_boot() {
local boot_device=${1}
(
echo "[slot.boot.0]"
echo "device=/dev/disk/by-partlabel/hassos-boot"
echo "type=vfat"
) >> ${TARGET_DIR}/etc/rauc/system.conf
) >> "${TARGET_DIR}/etc/rauc/system.conf"
# SPL
if ! [[ "${BOOT_SYS}" =~ (spl|mbr) ]]; then
@@ -36,7 +35,7 @@ function _write_rauc_boot() {
echo "[slot.spl.0]"
echo "device=/dev/disk/by-partlabel/hassos-boot"
echo "type=raw"
) >> ${TARGET_DIR}/etc/rauc/system.conf
) >> "${TARGET_DIR}/etc/rauc/system.conf"
}
@@ -54,12 +53,12 @@ function _write_rauc_system() {
echo "device=/dev/disk/by-partlabel/hassos-system${slot_num}"
echo "type=raw"
echo "parent=kernel.${slot_num}"
) >> ${TARGET_DIR}/etc/rauc/system.conf
) >> "${TARGET_DIR}/etc/rauc/system.conf"
}
function write_rauc_config() {
mkdir -p ${TARGET_DIR}/etc/rauc
mkdir -p "${TARGET_DIR}/etc/rauc"
_create_rauc_header
_write_rauc_boot
@@ -70,23 +69,23 @@ function write_rauc_config() {
function install_rauc_certs() {
if [ "${DEPLOYMENT}" == "production" ]; then
cp ${BR2_EXTERNAL_HASSOS_PATH}/misc/rel-ca.pem ${TARGET_DIR}/etc/rauc/keyring.pem
cp "${BR2_EXTERNAL_HASSOS_PATH}/misc/rel-ca.pem" "${TARGET_DIR}/etc/rauc/keyring.pem"
else
cp ${BR2_EXTERNAL_HASSOS_PATH}/misc/dev-ca.pem ${TARGET_DIR}/etc/rauc/keyring.pem
cp "${BR2_EXTERNAL_HASSOS_PATH}/misc/dev-ca.pem" "${TARGET_DIR}/etc/rauc/keyring.pem"
fi
}
function install_bootloader_config() {
if [ "${BOOTLOADER}" == "uboot" ]; then
echo -e "/dev/disk/by-partlabel/hassos-bootstate\t0x0000\t${BOOT_ENV_SIZE}" > ${TARGET_DIR}/etc/fw_env.config
echo -e "/dev/disk/by-partlabel/hassos-bootstate\t0x0000\t${BOOT_ENV_SIZE}" > "${TARGET_DIR}/etc/fw_env.config"
else
cp -f ${BR2_EXTERNAL_HASSOS_PATH}/misc/barebox-state-efi.dtb ${TARGET_DIR}/etc/barebox-state.dtb
cp -f "${BR2_EXTERNAL_HASSOS_PATH}/misc/barebox-state-efi.dtb" "${TARGET_DIR}/etc/barebox-state.dtb"
fi
# Fix MBR
if [ "${BOOT_SYS}" == "mbr" ]; then
mkdir -p ${TARGET_DIR}/usr/lib/udev/rules.d
cp -f ${BR2_EXTERNAL_HASSOS_PATH}/misc/mbr-part.rules ${TARGET_DIR}/usr/lib/udev/rules.d/
mkdir -p "${TARGET_DIR}/usr/lib/udev/rules.d"
cp -f "${BR2_EXTERNAL_HASSOS_PATH}/misc/mbr-part.rules" "${TARGET_DIR}/usr/lib/udev/rules.d/"
fi
}

View File

@@ -3,35 +3,35 @@
function fix_rootfs() {
# Cleanup etc
rm -rf ${TARGET_DIR}/etc/init.d
rm -rf ${TARGET_DIR}/etc/network
rm -rf ${TARGET_DIR}/etc/X11
rm -rf ${TARGET_DIR}/etc/xdg
rm -rf "${TARGET_DIR:?}/etc/init.d"
rm -rf "${TARGET_DIR:?}/etc/network"
rm -rf "${TARGET_DIR:?}/etc/X11"
rm -rf "${TARGET_DIR:?}/etc/xdg"
# Cleanup root
rm -rf ${TARGET_DIR}/media
rm -rf ${TARGET_DIR}/srv
rm -rf ${TARGET_DIR}/opt
rm -rf "${TARGET_DIR:?}/media"
rm -rf "${TARGET_DIR:?}/srv"
rm -rf "${TARGET_DIR:?}/opt"
# Cleanup miscs
rm -rf ${TARGET_DIR}/usr/lib/modules-load.d
rm -rf "${TARGET_DIR}/usr/lib/modules-load.d"
# Fix: permission for system connection files
chmod 600 ${TARGET_DIR}/usr/share/system-connections/*
chmod 600 "${TARGET_DIR}/usr/share/system-connections"/*
# Fix: tempfs with /srv
sed -i "/srv/d" ${TARGET_DIR}/usr/lib/tmpfiles.d/home.conf
sed -i "/srv/d" "${TARGET_DIR}/usr/lib/tmpfiles.d/home.conf"
# Fix: Could not generate persistent MAC address
sed -i "s/MACAddressPolicy=persistent/MACAddressPolicy=none/g" ${TARGET_DIR}/usr/lib/systemd/network/99-default.link
sed -i "s/MACAddressPolicy=persistent/MACAddressPolicy=none/g" "${TARGET_DIR}/usr/lib/systemd/network/99-default.link"
}
function install_hassos_cli() {
sed -i "s|\(root.*\)/bin/sh|\1/usr/sbin/hassos-cli|" ${TARGET_DIR}/etc/passwd
sed -i "s|\(root.*\)/bin/sh|\1/usr/sbin/hassos-cli|" "${TARGET_DIR}/etc/passwd"
if ! grep "hassos-cli" ${TARGET_DIR}/etc/shells; then
echo "/usr/sbin/hassos-cli" >> ${TARGET_DIR}/etc/shells
if ! grep "hassos-cli" "${TARGET_DIR}/etc/shells"; then
echo "/usr/sbin/hassos-cli" >> "${TARGET_DIR}/etc/shells"
fi
}