Compare commits

..

No commits in common. "a776a5aa964708e6f09990f8367852458ce40e39" and "5a1b007fd7e8ccb9c27ce226ed9ad447826451cb" have entirely different histories.

7 changed files with 32 additions and 44 deletions

View File

@ -75,7 +75,6 @@ images/firmware.img: images/sdcard.img
output/update.tar.zstd: \
images/rootfs.squashfs \
images/firmware.img \
install-update.sh \
.host-tools \
.prepared
./build-update.sh

View File

@ -15,7 +15,6 @@ cd linux
../linux.config
make -C /usr/src/linux O=${PWD} olddefconfig
make -j$(nproc)
touch arch/arm64/boot/Image.gz
kver=$(make -s kernelversion)
make modules_install INSTALL_MOD_PATH=/mnt/gentoo/usr
cd -

View File

@ -61,10 +61,6 @@ tar -c -C overlay . \
cp -uv /usr/${target}/usr/bin/grub-editenv /mnt/gentoo/usr/bin/
find /mnt/gentoo/usr/${target}/usr/lib/udev/rules.d \
-name '*.rules' \
-exec mv -t /mnt/gentoo/usr/lib/udev/rules.d/ {} +
if [ -f /mnt/gentoo/etc/udev/hwdb.bin ]; then
mv /mnt/gentoo/etc/udev/hwdb.bin /mnt/gentoo/usr/lib/udev/
fi

View File

@ -3,7 +3,6 @@ cat
cp
dd
df
du
echo
env
false

View File

@ -1,8 +1,6 @@
#!/bin/sh
# vim: set sw=4 ts=4 sts=4 et :
. /lib/gentoo/functions.sh
die() {
rc=$?
if [ $rc -eq 0 ]; then
@ -12,10 +10,23 @@ die() {
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
@ -27,55 +38,53 @@ set_default_boot() {
_kver=${_kernel#vmlinuz-}
_partuuid=$(get_partuuid "$1")
_id=id-${_partuuid}-${_kver}
ebegin 'Setting default boot entry'
veindent
veinfo "Menu entry ID: ${_id}"
veoutdent
grub-editenv /boot/efi/EFI/gentoo/grubenv set "default=${_id}" || _rc=$?
eend $_rc
printf 'Setting default boot entry to %s\n' "${_id}"
grub-editenv /boot/efi/EFI/gentoo/grubenv set "default=${_id}" || rc=$?
umount newroot
return $_rc
return $rc
}
warn() {
printf 'WARNING: '
info "$@"
}
write_firmware() {
_rc=0
_esp=$(findfs PARTLABEL='EFI System Partition')
if [ -z "${_esp}" ]; then
eerror 'Could not identify EFI System Partition'
error 'Could not identify EFI System Partition'
return 1
fi
if ! mountpoint -q /boot/efi; then
mount -o ro "${_esp}" /boot/efi \
|| ewarn 'Failed to mount EFI System Partition'
|| warn 'Failed to mount EFI System Partition'
fi
if [ -f /boot/efi/EFI/gentoo/grubenv ]; then
ebegin 'Saving current GRUB environment'
cp /boot/efi/EFI/gentoo/grubenv .
ewend $? 'Failed to save GRUB environment'
info 'Saving current GRUB environment ...'
cp /boot/efi/EFI/gentoo/grubenv . \
|| warn 'Failed to save GRUB environment'
fi
if mountpoint -q /boot/efi; then
umount /boot/efi || return
fi
ebegin "Writing firmware image to EFI System Partition (${_esp})"
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}" /boot/efi || rc=$?
fi
if [ $_rc -eq 0 ]; then
if [ -f grubenv ]; then
ebegin 'Restoring GRUB environment'
printf 'Restoring GRUB environment ...\n'
cp grubenv /boot/efi/EFI/gentoo/grubenv || _rc=$?
eend $_rc
fi
fi
return $_rc
}
write_rootfs() {
_rc=0
ebegin "Writing rootfs image to $1"
dd if=rootfs.squashfs of="$1" bs=1M || _rc=$?
eend $_rc
printf 'Writing rootfs image to %s ...\n' "$1"
dd if=rootfs.squashfs of="$1" bs=1M
}
rc=0
@ -85,10 +94,10 @@ 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=$?
eerror 'Failed to set default boot option'
error 'Failed to set default boot option'
fi
if [ $rc -eq 0 ]; then
einfo 'Successfully installed update'
info 'Successfully installed update'
fi
exit $rc

View File

@ -44,6 +44,3 @@ CONFIG_BT=m
CONFIG_IPV6=y
CONFIG_IPV6_SIT=m
CONFIG_IPV6_SIT_6RD=m
# CONFIG_MEDIA_CEC_SUPPORT is not set
# CONFIG_MEDIA_SUPPORT is not set

View File

@ -9,24 +9,13 @@ etc/csh.env
etc/init.d
etc/portage
etc/runlevels
usr/aarch64-unknown-linux-gnu
usr/include
usr/lib*/*.a
usr/lib*/cmake
usr/lib*/pkgconfig
usr/lib/kernel
usr/lib/rpm
usr/local
usr/share/aclocal
usr/share/baselayout
usr/share/bash-completion
usr/share/doc
usr/share/factory
usr/share/info
usr/share/man
usr/share/pkgconfig
usr/share/polkit-1
usr/share/zsh
var/cache/edb
var/db/Makefile
var/db/pkg