mirror of
https://github.com/openwrt/openwrt.git
synced 2025-01-18 02:40:19 +00:00
imx: decouple sdcard sysupgrade from Apalis boards
Sysupgrade procedure for i.MX 6 Apalis boards is suitable for most other i.MX boards booting from eMMC or SD card. Extract the common parts and decouple the procedure from "apalis" board name in sysupgrade TAR contents, so the procedure is reusable for i.MX 7 boards. Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
This commit is contained in:
parent
f987887e14
commit
70a9c75ef3
63
target/linux/imx/base-files/lib/imx.sh
Normal file
63
target/linux/imx/base-files/lib/imx.sh
Normal file
@ -0,0 +1,63 @@
|
||||
#
|
||||
# Copyright (C) 2010-2013 OpenWrt.org
|
||||
#
|
||||
|
||||
rootpartuuid() {
|
||||
local cmdline=$(cat /proc/cmdline)
|
||||
local bootpart=${cmdline##*root=}
|
||||
bootpart=${bootpart%% *}
|
||||
local uuid=${bootpart#PARTUUID=}
|
||||
echo ${uuid%-02}
|
||||
}
|
||||
|
||||
bootdev_from_uuid() {
|
||||
blkid | grep "PTUUID=\"$(rootpartuuid)\"" | cut -d : -f1
|
||||
}
|
||||
|
||||
bootpart_from_uuid() {
|
||||
blkid | grep $(rootpartuuid)-01 | cut -d : -f1
|
||||
}
|
||||
|
||||
rootpart_from_uuid() {
|
||||
blkid | grep $(rootpartuuid)-02 | cut -d : -f1
|
||||
}
|
||||
|
||||
imx_sdcard_mount_boot() {
|
||||
mkdir -p /boot
|
||||
[ -f /boot/uImage ] || {
|
||||
mount -o rw,noatime $(bootpart_from_uuid) /boot > /dev/null
|
||||
}
|
||||
}
|
||||
|
||||
imx_sdcard_copy_config() {
|
||||
imx_sdcard_mount_boot
|
||||
cp -af "$UPGRADE_BACKUP" "/boot/$BACKUP_FILE"
|
||||
sync
|
||||
umount /boot
|
||||
}
|
||||
|
||||
imx_sdcard_do_upgrade() {
|
||||
local board_dir="$(tar tf "${1}" | grep -m 1 '^sysupgrade-.*/$')"
|
||||
board_dir="${board_dir%/}"
|
||||
|
||||
imx_sdcard_mount_boot
|
||||
get_image "$1" | tar Oxf - ${board_dir}/kernel > /boot/uImage
|
||||
get_image "$1" | tar Oxf - ${board_dir}/root > $(rootpart_from_uuid)
|
||||
sync
|
||||
umount /boot
|
||||
}
|
||||
|
||||
imx_sdcard_pre_upgrade() {
|
||||
[ -z "$UPGRADE_BACKUP" ] && {
|
||||
jffs2reset -y
|
||||
umount /overlay
|
||||
}
|
||||
}
|
||||
|
||||
imx_sdcard_move_config() {
|
||||
if [ -b $(bootpart_from_uuid) ]; then
|
||||
imx_sdcard_mount_boot
|
||||
[ -f "/boot/$BACKUP_FILE" ] && mv -f "/boot/$BACKUP_FILE" /
|
||||
umount /boot
|
||||
fi
|
||||
}
|
@ -1,30 +0,0 @@
|
||||
#
|
||||
# Copyright (C) 2010-2013 OpenWrt.org
|
||||
#
|
||||
|
||||
rootpartuuid() {
|
||||
local cmdline=$(cat /proc/cmdline)
|
||||
local bootpart=${cmdline##*root=}
|
||||
bootpart=${bootpart%% *}
|
||||
local uuid=${bootpart#PARTUUID=}
|
||||
echo ${uuid%-02}
|
||||
}
|
||||
|
||||
bootdev_from_uuid() {
|
||||
blkid | grep "PTUUID=\"$(rootpartuuid)\"" | cut -d : -f1
|
||||
}
|
||||
|
||||
bootpart_from_uuid() {
|
||||
blkid | grep $(rootpartuuid)-01 | cut -d : -f1
|
||||
}
|
||||
|
||||
rootpart_from_uuid() {
|
||||
blkid | grep $(rootpartuuid)-02 | cut -d : -f1
|
||||
}
|
||||
|
||||
apalis_mount_boot() {
|
||||
mkdir -p /boot
|
||||
[ -f /boot/uImage ] || {
|
||||
mount -o rw,noatime $(bootpart_from_uuid) /boot > /dev/null
|
||||
}
|
||||
}
|
@ -9,11 +9,7 @@ move_config() {
|
||||
toradex,apalis_imx6q-eval|\
|
||||
toradex,apalis_imx6q-ixora|\
|
||||
toradex,apalis_imx6q-ixora-v1.1)
|
||||
if [ -b $(bootpart_from_uuid) ]; then
|
||||
apalis_mount_boot
|
||||
[ -f "/boot/$BACKUP_FILE" ] && mv -f "/boot/$BACKUP_FILE" /
|
||||
umount /boot
|
||||
fi
|
||||
imx_sdcard_move_config
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
@ -17,21 +17,6 @@ enable_image_metadata_check() {
|
||||
}
|
||||
enable_image_metadata_check
|
||||
|
||||
apalis_copy_config() {
|
||||
apalis_mount_boot
|
||||
cp -af "$UPGRADE_BACKUP" "/boot/$BACKUP_FILE"
|
||||
sync
|
||||
umount /boot
|
||||
}
|
||||
|
||||
apalis_do_upgrade() {
|
||||
apalis_mount_boot
|
||||
get_image "$1" | tar Oxf - sysupgrade-apalis/kernel > /boot/uImage
|
||||
get_image "$1" | tar Oxf - sysupgrade-apalis/root > $(rootpart_from_uuid)
|
||||
sync
|
||||
umount /boot
|
||||
}
|
||||
|
||||
platform_check_image() {
|
||||
local board=$(board_name)
|
||||
|
||||
@ -109,7 +94,7 @@ platform_do_upgrade() {
|
||||
toradex,apalis_imx6q-eval|\
|
||||
toradex,apalis_imx6q-ixora|\
|
||||
toradex,apalis_imx6q-ixora-v1.1)
|
||||
apalis_do_upgrade "$1"
|
||||
imx_sdcard_do_upgrade "$1"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
@ -121,7 +106,7 @@ platform_copy_config() {
|
||||
toradex,apalis_imx6q-eval|\
|
||||
toradex,apalis_imx6q-ixora|\
|
||||
toradex,apalis_imx6q-ixora-v1.1)
|
||||
apalis_copy_config
|
||||
imx_sdcard_copy_config
|
||||
;;
|
||||
esac
|
||||
}
|
||||
@ -133,10 +118,7 @@ platform_pre_upgrade() {
|
||||
toradex,apalis_imx6q-eval|\
|
||||
toradex,apalis_imx6q-ixora|\
|
||||
toradex,apalis_imx6q-ixora-v1.1)
|
||||
[ -z "$UPGRADE_BACKUP" ] && {
|
||||
jffs2reset -y
|
||||
umount /overlay
|
||||
}
|
||||
imx_sdcard_pre_upgrade
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user