a48e5bea12
The Raspberry Pi bootloader reads configuration values from config.txt in the boot partition. This file allows to specify the amount of memory to assign to the GPU, the license keys for hardware MPEG-2 and VC-1 decoding, Device Tree parameters and overlays, and lots of other things. Since sysupgrade only restores the configuration after booting the newly flashed image, these values will not be active, even if sysupgrade would save /boot/config.txt. To solve this, add the file to the files to be backed up, and restore it in platform_copy_config, before reboot. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
33 lines
658 B
Bash
33 lines
658 B
Bash
get_magic_at() {
|
|
local file="$1"
|
|
local pos="$2"
|
|
get_image "$file" | dd bs=1 count=2 skip="$pos" 2>/dev/null | hexdump -v -n 2 -e '1/1 "%02x"'
|
|
}
|
|
|
|
platform_check_image() {
|
|
local file="$1"
|
|
local magic
|
|
|
|
magic=$(get_magic_at "$file" 510)
|
|
[ "$magic" != "55aa" ] && {
|
|
echo "Failed to verify MBR boot signature."
|
|
return 1
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
platform_do_upgrade() {
|
|
sync
|
|
get_image "$1" | dd of=/dev/mmcblk0 bs=2M conv=fsync
|
|
sleep 1
|
|
}
|
|
|
|
platform_copy_config() {
|
|
mkdir -p /boot
|
|
[ -f /boot/kernel.img ] || mount -t vfat -o rw,noatime /dev/mmcblk0p1 /boot
|
|
cp -af "$CONF_TAR" /boot/
|
|
tar --directory / -xvf "$CONF_TAR" boot/config.txt
|
|
sync
|
|
umount /boot
|
|
}
|