Compare commits
No commits in common. "dd6261aa33ef9c6c4dbca0a76d348dc7f86bfd1c" and "44b2ce8a992abe57abff705b04a2f521c499758c" have entirely different histories.
dd6261aa33
...
44b2ce8a99
|
@ -65,7 +65,6 @@ pipeline {
|
||||||
'firmware.img.zst',
|
'firmware.img.zst',
|
||||||
'rootfs.squashfs',
|
'rootfs.squashfs',
|
||||||
'sdcard.img.zst',
|
'sdcard.img.zst',
|
||||||
'update.tar.zst',
|
|
||||||
].join(','))
|
].join(','))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,8 +7,10 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_AIMEEOS_PATH)/board/qemu/post-image
|
||||||
BR2_LINUX_KERNEL=y
|
BR2_LINUX_KERNEL=y
|
||||||
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
||||||
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config"
|
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/aarch64-virt/linux.config"
|
||||||
|
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_AIMEEOS_PATH)/kernel/config"
|
||||||
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
|
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
|
||||||
# BR2_PACKAGE_BUSYBOX is not set
|
# BR2_PACKAGE_BUSYBOX is not set
|
||||||
# BR2_TARGET_ROOTFS_TAR is not set
|
# BR2_TARGET_ROOTFS_TAR is not set
|
||||||
AIMEEOS=y
|
AIMEEOS=y
|
||||||
AIMEEOS_DEFAULT_ROOTFLAGS="systemd.mask=serial-getty@ttyAMA0 systemd.debug_shell systemd.default_debug_tty=ttyAMA0"
|
AIMEEOS_DEFAULT_ROOTFLAGS="systemd.mask=serial-getty@ttyAMA0 systemd.debug_shell systemd.default_debug_tty=ttyAMA0"
|
||||||
|
BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI="boot configfile echo efi_gop fat gzio linux loadenv minicmd normal part_gpt probe regexp squash4 terminfo test zstd"
|
||||||
|
|
|
@ -10,6 +10,7 @@ BR2_LINUX_KERNEL=y
|
||||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
|
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
|
||||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,ac69f097e1fba94502cbd36278db204120a37943)/linux-ac69f097e1fba94502cbd36278db204120a37943.tar.gz"
|
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,ac69f097e1fba94502cbd36278db204120a37943)/linux-ac69f097e1fba94502cbd36278db204120a37943.tar.gz"
|
||||||
BR2_LINUX_KERNEL_DEFCONFIG="bcm2709"
|
BR2_LINUX_KERNEL_DEFCONFIG="bcm2709"
|
||||||
|
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_AIMEEOS_PATH)/kernel/config"
|
||||||
BR2_LINUX_KERNEL_ZSTD=y
|
BR2_LINUX_KERNEL_ZSTD=y
|
||||||
BR2_LINUX_KERNEL_DTS_SUPPORT=y
|
BR2_LINUX_KERNEL_DTS_SUPPORT=y
|
||||||
BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2710-rpi-3-b broadcom/bcm2710-rpi-3-b-plus broadcom/bcm2710-rpi-cm3"
|
BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2710-rpi-3-b broadcom/bcm2710-rpi-3-b-plus broadcom/bcm2710-rpi-cm3"
|
||||||
|
@ -22,6 +23,7 @@ BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI=y
|
||||||
BR2_PACKAGE_RPI_FIRMWARE_CMDLINE_FILE="$(BR2_EXTERNAL_AIMEEOS_PATH)/board/raspberrypi3/cmdline.txt"
|
BR2_PACKAGE_RPI_FIRMWARE_CMDLINE_FILE="$(BR2_EXTERNAL_AIMEEOS_PATH)/board/raspberrypi3/cmdline.txt"
|
||||||
BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="$(BR2_EXTERNAL_AIMEEOS_PATH)/board/raspberrypi3/config.txt"
|
BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="$(BR2_EXTERNAL_AIMEEOS_PATH)/board/raspberrypi3/config.txt"
|
||||||
# BR2_TARGET_ROOTFS_TAR is not set
|
# BR2_TARGET_ROOTFS_TAR is not set
|
||||||
|
BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI="boot configfile echo efi_gop fat gzio linux loadenv minicmd normal part_gpt probe regexp squash4 terminfo test zstd"
|
||||||
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_3_32b"
|
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="rpi_3_32b"
|
||||||
BR2_PACKAGE_HOST_KMOD_XZ=y
|
BR2_PACKAGE_HOST_KMOD_XZ=y
|
||||||
AIMEEOS=y
|
AIMEEOS=y
|
||||||
|
|
35
external.mk
35
external.mk
|
@ -1,7 +1,5 @@
|
||||||
ifeq ($(AIMEEOS),y)
|
ifeq ($(AIMEEOS),y)
|
||||||
|
|
||||||
BR2_TOOLCHAIN_BUILDROOT_VENDOR = "aimeeos"
|
|
||||||
|
|
||||||
# Disable the default fstab
|
# Disable the default fstab
|
||||||
SKELETON_INIT_SYSTEMD_ROOT_RO_OR_RW =
|
SKELETON_INIT_SYSTEMD_ROOT_RO_OR_RW =
|
||||||
# Disable the default var.mount
|
# Disable the default var.mount
|
||||||
|
@ -9,43 +7,14 @@ SKELETON_INIT_SYSTEMD_ROOTFS_PRE_CMD_HOOKS =
|
||||||
|
|
||||||
# Enable required kernel options for Aimee OS storage
|
# Enable required kernel options for Aimee OS storage
|
||||||
define AIMEEOS_LINUX_CONFIG_FIXUPS
|
define AIMEEOS_LINUX_CONFIG_FIXUPS
|
||||||
$(call KCONFIG_ENABLE_OPT,CONFIG_BLK_DEV_INITRD)
|
|
||||||
$(call KCONFIG_ENABLE_OPT,CONFIG_BTRFS_FS)
|
$(call KCONFIG_ENABLE_OPT,CONFIG_BTRFS_FS)
|
||||||
$(call KCONFIG_ENABLE_OPT,CONFIG_EFI)
|
$(call KCONFIG_ENABLE_OPT,CONFIG_BLK_DEV_INITRD)
|
||||||
$(call KCONFIG_ENABLE_OPT,CONFIG_MSDOS_FS)
|
|
||||||
$(call KCONFIG_ENABLE_OPT,CONFIG_NLS_CODEPAGE_437)
|
|
||||||
$(call KCONFIG_ENABLE_OPT,CONFIG_NLS_ISO8859_1)
|
|
||||||
$(call KCONFIG_ENABLE_OPT,CONFIG_NLS_UTF8)
|
|
||||||
$(call KCONFIG_ENABLE_OPT,CONFIG_SQUASHFS)
|
|
||||||
$(call KCONFIG_ENABLE_OPT,CONFIG_VFAT_FS)
|
|
||||||
endef
|
endef
|
||||||
LINUX_KCONFIG_FIXUP_CMDS += $(AIMEEOS_LINUX_CONFIG_FIXUPS)
|
LINUX_KCONFIG_FIXUP_CMDS += $(AIMEEOS_LINUX_CONFIG_FIXUPS)
|
||||||
|
|
||||||
# Generate the initramfs image after building the target
|
# Generate the initramfs image after building the target
|
||||||
BR2_ROOTFS_POST_BUILD_SCRIPT += $(BR2_EXTERNAL_AIMEEOS_PATH)/boot/mkinitramfs.sh
|
BR2_ROOTFS_POST_BUILD_SCRIPT += $(BR2_EXTERNAL_AIMEEOS_PATH)/boot/mkinitramfs.sh
|
||||||
|
|
||||||
# Ensure the requisite GRUB2 modules are selected
|
|
||||||
define AIMEEOS_GRUB2_MODULES
|
|
||||||
boot
|
|
||||||
configfile
|
|
||||||
echo
|
|
||||||
efi_gop
|
|
||||||
fat
|
|
||||||
gzio
|
|
||||||
linux
|
|
||||||
loadenv
|
|
||||||
minicmd
|
|
||||||
normal
|
|
||||||
part_gpt
|
|
||||||
probe
|
|
||||||
regexp
|
|
||||||
squash4
|
|
||||||
terminfo
|
|
||||||
test
|
|
||||||
zstd
|
|
||||||
endef
|
|
||||||
BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI += $(AIMEEOS_GRUB2_MODULES)
|
|
||||||
|
|
||||||
# Overwrite the grub.cfg provided by Buildroot with our own.
|
# Overwrite the grub.cfg provided by Buildroot with our own.
|
||||||
define AIMEEOS_GRUB2_INSTALL_IMAGES_CMDS
|
define AIMEEOS_GRUB2_INSTALL_IMAGES_CMDS
|
||||||
$(foreach tuple, $(GRUB2_TUPLES-y), \
|
$(foreach tuple, $(GRUB2_TUPLES-y), \
|
||||||
|
@ -76,8 +45,6 @@ $(BR2_EXTERNAL_AIMEEOS_PATH)/boot/grub2/gen-grub-cfg.sh $(AIMEEOS_KERNEL_FILENAM
|
||||||
endef
|
endef
|
||||||
LINUX_TARGET_FINALIZE_HOOKS += AIMEEOS_GEN_GRUB_CFG
|
LINUX_TARGET_FINALIZE_HOOKS += AIMEEOS_GEN_GRUB_CFG
|
||||||
|
|
||||||
BR2_ROOTFS_POST_IMAGE_SCRIPT += $(BR2_EXTERNAL_AIMEEOS_PATH)/update/make-package.sh
|
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
include $(sort $(wildcard $(BR2_EXTERNAL_AIMEEOS_PATH)/package/*/*.mk))
|
include $(sort $(wildcard $(BR2_EXTERNAL_AIMEEOS_PATH)/package/*/*.mk))
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
CONFIG_EFI=y
|
||||||
|
CONFIG_SQUASHFS=y
|
|
@ -1,10 +0,0 @@
|
||||||
[Match]
|
|
||||||
Type=ether
|
|
||||||
Name=en* eth*
|
|
||||||
|
|
||||||
[Network]
|
|
||||||
DHCP=true
|
|
||||||
|
|
||||||
[DHCPv4]
|
|
||||||
ClientIdentifier=mac
|
|
||||||
UseDomain=true
|
|
|
@ -6,5 +6,3 @@ config BR2_PACKAGE_AIMEE_OS_UTILS
|
||||||
select BR2_PACKAGE_UTIL_LINUX_MOUNTPOINT
|
select BR2_PACKAGE_UTIL_LINUX_MOUNTPOINT
|
||||||
select BR2_PACKAGE_UTIL_LINUX_PARTX
|
select BR2_PACKAGE_UTIL_LINUX_PARTX
|
||||||
select BR2_PACKAGE_UTIL_LINUX_SWITCH_ROOT
|
select BR2_PACKAGE_UTIL_LINUX_SWITCH_ROOT
|
||||||
select BR2_PACKAGE_WGET
|
|
||||||
select BR2_TARGET_GRUB2_INSTALL_TOOLS
|
|
||||||
|
|
|
@ -12,20 +12,10 @@ AIMEE_OS_UTILS_DEPENDENCIES = \
|
||||||
|
|
||||||
AIMEE_OS_UTILS_SOURCE =
|
AIMEE_OS_UTILS_SOURCE =
|
||||||
|
|
||||||
define AIMEE_OS_UTILS_INSTALL_TARGET_CMDS
|
|
||||||
$(INSTALL) -D -m u=rwx,go=rx \
|
|
||||||
$(AIMEE_OS_UTILS_PKGDIR)/system-update.sh \
|
|
||||||
$(TARGET_DIR)/usr/sbin/system-update
|
|
||||||
mkdir -p $(TARGET_DIR)/boot/efi
|
|
||||||
endef
|
|
||||||
|
|
||||||
define AIMEE_OS_UTILS_INSTALL_INIT_SYSTEMD
|
define AIMEE_OS_UTILS_INSTALL_INIT_SYSTEMD
|
||||||
$(INSTALL) -D -m u=rw,go=r \
|
$(INSTALL) -D -m u=rw,go=r \
|
||||||
$(AIMEE_OS_UTILS_PKGDIR)/var.mount \
|
$(AIMEE_OS_UTILS_PKGDIR)/var.mount \
|
||||||
$(TARGET_DIR)/usr/lib/systemd/system/var.mount
|
$(TARGET_DIR)/usr/lib/systemd/system/var.mount
|
||||||
$(INSTALL) -D -m u=rw,go=r \
|
|
||||||
$(AIMEE_OS_UTILS_PKGDIR)/90-default.network \
|
|
||||||
$(TARGET_DIR)/usr/lib/systemd/network/90-default.network
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(generic-package))
|
$(eval $(generic-package))
|
||||||
|
|
|
@ -1,135 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
# vim: set sw=4 ts=4 sts=4 et :
|
|
||||||
|
|
||||||
cleanup() {
|
|
||||||
cd /
|
|
||||||
if [ -n "${workdir}" ] && [ "${workdir}" != / ]; then
|
|
||||||
rm -rf "${workdir}"
|
|
||||||
fi
|
|
||||||
unset workdir
|
|
||||||
}
|
|
||||||
|
|
||||||
die() {
|
|
||||||
rc=$?
|
|
||||||
if [ $rc -eq 0 ]; then
|
|
||||||
rc=1
|
|
||||||
fi
|
|
||||||
error "$@"
|
|
||||||
exit $rc
|
|
||||||
}
|
|
||||||
|
|
||||||
error() {
|
|
||||||
if [ $# -eq 1 ]; then
|
|
||||||
echo "$1" >&2
|
|
||||||
elif [ $# -gt 1 ]; then
|
|
||||||
printf "$@" >&2
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
extract_update() {
|
|
||||||
zstd -dc update.tar.zstd | tar -x \
|
|
||||||
|| die 'Could not extract update source'
|
|
||||||
sha256sum -c digests \
|
|
||||||
|| die 'Invalid update source: checksum mismatch'
|
|
||||||
}
|
|
||||||
|
|
||||||
fetch_update() {
|
|
||||||
wget -O update.tar.zstd "$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
get_root() {
|
|
||||||
set -- $(cat /proc/cmdline)
|
|
||||||
while [ $# -gt 0 ]; do
|
|
||||||
case "$1" in
|
|
||||||
root=*)
|
|
||||||
_root=${1#root=}
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
shift
|
|
||||||
done
|
|
||||||
echo $(findfs "${_root}")
|
|
||||||
}
|
|
||||||
|
|
||||||
get_partlabel() {
|
|
||||||
blkid -o value -s PARTLABEL "$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
help() {
|
|
||||||
usage
|
|
||||||
}
|
|
||||||
|
|
||||||
info() {
|
|
||||||
if [ $# -eq 1 ]; then
|
|
||||||
echo "$1" >&2
|
|
||||||
elif [ $# -gt 1 ]; then
|
|
||||||
printf "$@" >&2
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
usage() {
|
|
||||||
printf 'usage: %s source_url\n' "${0##*/}"
|
|
||||||
}
|
|
||||||
|
|
||||||
while [ $# -gt 0 ]; do
|
|
||||||
case "$1" in
|
|
||||||
--help)
|
|
||||||
help
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
if [ -z "${source_url}" ]; then
|
|
||||||
source_url="$1"
|
|
||||||
else
|
|
||||||
usage >&2
|
|
||||||
exit 2
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
shift
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ -z "${source_url}" ]; then
|
|
||||||
usage >&2
|
|
||||||
exit 2
|
|
||||||
fi
|
|
||||||
|
|
||||||
root=$(get_root)
|
|
||||||
partlabel=$(get_partlabel "${root}")
|
|
||||||
|
|
||||||
case "${partlabel}" in
|
|
||||||
rootfs-a)
|
|
||||||
newpartlabel=rootfs-b
|
|
||||||
;;
|
|
||||||
rootfs-b)
|
|
||||||
newpartlabel=rootfs-a
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
die \
|
|
||||||
'Unsupported system configuration: invalid rootfs partition label: %s\n' \
|
|
||||||
"${partlabel}" >&2
|
|
||||||
esac
|
|
||||||
newroot=$(findfs PARTLABEL="${newpartlabel}")
|
|
||||||
if [ -z "${newroot}" ]; then
|
|
||||||
die 'Could not find partition with label %s\n' "${partlabel}"
|
|
||||||
fi
|
|
||||||
info 'Current rootfs: %s (%s)\n' "${partlabel}" "${root}"
|
|
||||||
info 'New rootfs: %s (%s)\n' "${newpartlabel}" "${newroot}"
|
|
||||||
|
|
||||||
trap cleanup INT TERM QUIT EXIT
|
|
||||||
workdir=$(mktemp -d)
|
|
||||||
cd "${workdir}"
|
|
||||||
|
|
||||||
fetch_update "${source_url}" || die 'Failed to fetch update source'
|
|
||||||
extract_update || die 'Failed to extact update source'
|
|
||||||
./install "${newroot}" || die 'Error installing system update'
|
|
||||||
|
|
||||||
printf 'Do you want to reboot now? [y/N] '
|
|
||||||
read confirm
|
|
||||||
case "${confirm}" in
|
|
||||||
[yY]|[yY][eE][sS])
|
|
||||||
systemctl reboot
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
info 'A reboot is required to complete the update'
|
|
||||||
;;
|
|
||||||
esac
|
|
|
@ -1,101 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
# vim: set sw=4 ts=4 sts=4 et :
|
|
||||||
|
|
||||||
EFIMOUNT=/boot/efi
|
|
||||||
GRUBENV=${EFIMOUNT}/EFI/BOOT/grubenv
|
|
||||||
|
|
||||||
die() {
|
|
||||||
rc=$?
|
|
||||||
if [ $rc -eq 0 ]; then
|
|
||||||
rc=1
|
|
||||||
fi
|
|
||||||
error "$@"
|
|
||||||
exit $rc
|
|
||||||
}
|
|
||||||
|
|
||||||
error() {
|
|
||||||
printf 'ERROR: '
|
|
||||||
info "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
get_partuuid() {
|
|
||||||
blkid -o value -s PARTUUID "$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
info() {
|
|
||||||
if [ $# -eq 1 ]; then
|
|
||||||
echo "$1" >&2
|
|
||||||
elif [ $# -gt 1 ]; then
|
|
||||||
printf "$@" >&2
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
set_default_boot() {
|
|
||||||
_rc=0
|
|
||||||
mkdir -p newroot || return
|
|
||||||
mount -oro "$1" newroot || return
|
|
||||||
_partuuid=$(get_partuuid "$1")
|
|
||||||
_id=id-${_partuuid}
|
|
||||||
printf 'Setting default boot entry to %s\n' "${_id}"
|
|
||||||
grub-editenv "${GRUBENV}" set "default=${_id}" || rc=$?
|
|
||||||
umount newroot
|
|
||||||
return $rc
|
|
||||||
}
|
|
||||||
|
|
||||||
warn() {
|
|
||||||
printf 'WARNING: '
|
|
||||||
info "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
write_firmware() {
|
|
||||||
_rc=0
|
|
||||||
_esp=$(findfs PARTLABEL='EFI System Partition')
|
|
||||||
if [ -z "${_esp}" ]; then
|
|
||||||
error 'Could not identify EFI System Partition'
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
if ! mountpoint -q "${EFIMOUNT}"; then
|
|
||||||
mount -o ro "${_esp}" "${EFIMOUNT}" \
|
|
||||||
|| warn 'Failed to mount EFI System Partition'
|
|
||||||
fi
|
|
||||||
if [ -f "${GRUBENV}" ]; then
|
|
||||||
info 'Saving current GRUB environment ...'
|
|
||||||
cp "${GRUBENV}" grubenv \
|
|
||||||
|| warn 'Failed to save GRUB environment'
|
|
||||||
fi
|
|
||||||
if mountpoint -q "${EFIMOUNT}"; then
|
|
||||||
umount "${EFIMOUNT}" || return
|
|
||||||
fi
|
|
||||||
info 'Writing firmware image to EFI System Partition (%s) ...\n' "${_esp}"
|
|
||||||
dd if=firmware.img of="${_esp}" bs=1M || _rc=$?
|
|
||||||
if [ $_rc -eq 0 ]; then
|
|
||||||
mount -orw "${_esp}" "${EFIMOUNT}" || rc=$?
|
|
||||||
fi
|
|
||||||
if [ $_rc -eq 0 ]; then
|
|
||||||
if [ -f grubenv ]; then
|
|
||||||
printf 'Restoring GRUB environment ...\n'
|
|
||||||
cp grubenv "${GRUBENV}" || _rc=$?
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
return $_rc
|
|
||||||
}
|
|
||||||
|
|
||||||
write_rootfs() {
|
|
||||||
printf 'Writing rootfs image to %s ...\n' "$1"
|
|
||||||
dd if=rootfs.squashfs of="$1" bs=1M
|
|
||||||
}
|
|
||||||
|
|
||||||
rc=0
|
|
||||||
newroot="$1"
|
|
||||||
|
|
||||||
write_rootfs "${newroot}" || die 'Failed to write new rootfs image to disk'
|
|
||||||
write_firmware || die 'Failed to write new firmware image to disk'
|
|
||||||
if ! set_default_boot "${newroot}"; then
|
|
||||||
rc=$?
|
|
||||||
error 'Failed to set default boot option'
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ $rc -eq 0 ]; then
|
|
||||||
info 'Successfully installed update'
|
|
||||||
fi
|
|
||||||
exit $rc
|
|
|
@ -1,17 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
# vim: set sw=4 ts=4 sts=4 et :
|
|
||||||
|
|
||||||
UPDATE_PACKAGE=update.tar.zstd
|
|
||||||
SRCDIR=$(realpath "${0%/*}")
|
|
||||||
|
|
||||||
cd "${BINARIES_DIR}"
|
|
||||||
printf 'Creating %s/%s\n' "${BINARIES_DIR}" "${UPDATE_PACKAGE}" >&2
|
|
||||||
sha256sum firmware.img > digests || exit
|
|
||||||
sha256sum rootfs.squashfs >> digests || exit
|
|
||||||
cp -u "${SRCDIR}"/install-update.sh install || exit
|
|
||||||
tar -c --zstd -f "${UPDATE_PACKAGE}" \
|
|
||||||
digests \
|
|
||||||
firmware.img \
|
|
||||||
rootfs.squashfs \
|
|
||||||
install \
|
|
||||||
|| exit
|
|
Loading…
Reference in New Issue