change ota package path
This commit is contained in:
parent
0fde37e681
commit
2eec57d66f
@ -22,14 +22,9 @@ BR2_TARGET_USERFS1_NAME="system"
|
||||
BR2_TARGET_USERFS1_TYPE_UBIFS=y
|
||||
BR2_TARGET_USERFS1_OVERLAY="target/$(LUBAN_CHIP_NAME)/$(LUBAN_BOARD_NAME)/system"
|
||||
BR2_TARGET_USERFS2=y
|
||||
BR2_TARGET_USERFS2_NAME="ota"
|
||||
BR2_TARGET_USERFS2_NAME="data"
|
||||
BR2_TARGET_USERFS2_TYPE_UBIFS=y
|
||||
BR2_TARGET_USERFS2_OVERLAY="target/$(LUBAN_CHIP_NAME)/$(LUBAN_BOARD_NAME)/ota"
|
||||
BR2_TARGET_USERFS2_UBIFS_MAX_SIZE=0x03200000
|
||||
BR2_TARGET_USERFS3=y
|
||||
BR2_TARGET_USERFS3_NAME="data"
|
||||
BR2_TARGET_USERFS3_TYPE_UBIFS=y
|
||||
BR2_TARGET_USERFS3_OVERLAY="target/$(LUBAN_CHIP_NAME)/$(LUBAN_BOARD_NAME)/data"
|
||||
BR2_TARGET_USERFS2_OVERLAY="target/$(LUBAN_CHIP_NAME)/$(LUBAN_BOARD_NAME)/data"
|
||||
BR2_GENERATE_BURNER_IMAGE=y
|
||||
BR2_GENERATE_IMAGE_AUTO_CALCULATE_SIZE=y
|
||||
BR2_PACKAGE_OPENSBI_FW_TEXT_BASE=0x47FE0000
|
||||
|
||||
Binary file not shown.
@ -22,7 +22,6 @@
|
||||
"size": "-",
|
||||
"ubi": { // Volume in UBI device
|
||||
"system": { "size": "8m" },
|
||||
"ota": { "size": "55m" },
|
||||
"data": { "size": "-" },
|
||||
},
|
||||
},
|
||||
@ -115,11 +114,6 @@
|
||||
"attr": ["ubi", "optional"],
|
||||
"part": ["ubisystem:data"]
|
||||
},
|
||||
"ota": {
|
||||
"file": "ota*.ubifs",
|
||||
"attr": ["ubi", "optional"],
|
||||
"part": ["ubisystem:ota"]
|
||||
},
|
||||
},
|
||||
},
|
||||
"pre-process": { // Pre-proccess to generate image components from raw data
|
||||
|
||||
@ -1,24 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Auto-mount OTA volume to /mnt/ota at boot
|
||||
#
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
[ -x /etc/swupdate_main ] && /etc/swupdate_main start
|
||||
;;
|
||||
stop)
|
||||
[ -x /etc/swupdate_main ] && /etc/swupdate_main stop
|
||||
;;
|
||||
restart|reload)
|
||||
[ -x /etc/swupdate_main ] && /etc/swupdate_main stop
|
||||
[ -x /etc/swupdate_main ] && /etc/swupdate_main start
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|restart}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
||||
@ -1 +1 @@
|
||||
demo128_nand-ota-marker=2026-04-27_v1
|
||||
demo128_nand-ota-marker=2026-04-27_v9999
|
||||
|
||||
@ -2,41 +2,13 @@
|
||||
# Run the swupdate daemon
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
echo -n "Starting swupdate... "
|
||||
# obtain ubisystem mtd number
|
||||
|
||||
param=$(cat /proc/mtd | grep "ubisystem")
|
||||
mtd_param=$(echo "$param" | awk -F ':' '{print $1}')
|
||||
mtd_num=$(echo "$mtd_param" | awk -F 'mtd' '{print $2}')
|
||||
echo "ubisystem mtd number is $mtd_num"
|
||||
|
||||
# ubisystem might already be attached (EEXIST). Don't fail in that case.
|
||||
if [ ! -e /dev/ubi1 ]; then
|
||||
ubiattach /dev/ubi_ctrl -m $mtd_num
|
||||
else
|
||||
cur_mtd_num=$(cat /sys/class/ubi/ubi1/mtd_num 2>/dev/null)
|
||||
if [ "x$cur_mtd_num" != "x$mtd_num" ]; then
|
||||
ubiattach /dev/ubi_ctrl -m $mtd_num
|
||||
fi
|
||||
fi
|
||||
|
||||
# obtain the ota part device node
|
||||
|
||||
param=$(grep -H -r "ota" /sys/class/ubi/* | sed 1q)
|
||||
ubi_param=$(echo "$param" | awk -F '/name:ota' '{print $1}')
|
||||
ubi_param=$(echo "$ubi_param" | awk -F '/sys/class/ubi/' '{print $2}')
|
||||
ubi_param=$(echo "$ubi_param" | awk -F '/' '{print $2}')
|
||||
echo "ota part device node is /dev/$ubi_param"
|
||||
|
||||
if [ -c "/dev/$ubi_param" ]; then
|
||||
mkdir -p /mnt/ota
|
||||
mount -t ubifs /dev/$ubi_param /mnt/ota
|
||||
fi
|
||||
start)
|
||||
echo "swupdate_main: /data should already be mounted by S01ubivol"
|
||||
mountpoint -q /data && echo "/data is ready" || \
|
||||
echo "Warning: /data is NOT mounted"
|
||||
;;
|
||||
stop)
|
||||
echo -n "Stopping swupdate... "
|
||||
umount /mnt/ota
|
||||
;;
|
||||
echo "swupdate_main: nothing to do (/data is managed by S01ubivol)"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
@ -1,42 +1,58 @@
|
||||
#!/bin/sh
|
||||
# Run the swupdate daemon
|
||||
# Run the swupdate daemon (recovery side, second stage of OTA)
|
||||
|
||||
attach_ubi_by_name()
|
||||
{
|
||||
want="$1"
|
||||
mtdline=$(grep "\"$want\"" /proc/mtd)
|
||||
[ -z "$mtdline" ] && {
|
||||
echo "S91: cannot find mtd partition '$want'"
|
||||
return 1
|
||||
}
|
||||
mtd_num=$(echo "$mtdline" | sed -e 's/^mtd//' -e 's/:.*//')
|
||||
echo "S91: '$want' is on mtd${mtd_num}"
|
||||
|
||||
# If some ubi device is already on this mtd, do nothing.
|
||||
for u in /sys/class/ubi/ubi[0-9]*; do
|
||||
[ -e "$u/mtd_num" ] || continue
|
||||
cur=$(cat "$u/mtd_num" 2>/dev/null)
|
||||
[ "x$cur" = "x$mtd_num" ] && {
|
||||
echo "S91: $u already attached to mtd${mtd_num}"
|
||||
return 0
|
||||
}
|
||||
done
|
||||
ubiattach /dev/ubi_ctrl -m "$mtd_num" 2>&1
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
echo -n "Starting swupdate... "
|
||||
# obtain ubisystem mtd number
|
||||
param=$(cat /proc/mtd | grep "ubisystem")
|
||||
mtd_param=$(echo "$param" | awk -F ':' '{print $1}')
|
||||
mtd_num=$(echo "$mtd_param" | awk -F 'mtd' '{print $2}')
|
||||
echo "S91: starting OTA second stage"
|
||||
|
||||
echo "ubisystem mtd number is $mtd_num"
|
||||
# ubisystem might already be attached (EEXIST). Don't fail in that case.
|
||||
if [ ! -e /dev/ubi1 ]; then
|
||||
ubiattach /dev/ubi_ctrl -m $mtd_num
|
||||
else
|
||||
cur_mtd_num=$(cat /sys/class/ubi/ubi1/mtd_num 2>/dev/null)
|
||||
if [ "x$cur_mtd_num" != "x$mtd_num" ]; then
|
||||
ubiattach /dev/ubi_ctrl -m $mtd_num
|
||||
fi
|
||||
# Attach both UBI devices so swupdate can write to:
|
||||
# /dev/mtdX (logo, kernel, recovery)
|
||||
# ubi0:rootfs (ubiroot)
|
||||
# ubi1:data (ubisystem) -- holds the .swu package
|
||||
attach_ubi_by_name "ubiroot"
|
||||
attach_ubi_by_name "ubisystem"
|
||||
|
||||
# Mount ubi*:data so we can read the .swu placed there by main system.
|
||||
mkdir -p /data
|
||||
if ! mountpoint -q /data; then
|
||||
# Try ubi0 then ubi1 — depending on attach order data may be on either.
|
||||
for d in /dev/ubi1 /dev/ubi0; do
|
||||
[ -e "$d" ] || continue
|
||||
idx=$(echo "$d" | sed 's|.*ubi||')
|
||||
if mount -t ubifs "ubi${idx}:data" /data 2>/dev/null; then
|
||||
echo "S91: mounted ubi${idx}:data on /data"
|
||||
break
|
||||
fi
|
||||
done
|
||||
mountpoint -q /data || echo "S91: WARNING /data not mounted"
|
||||
fi
|
||||
|
||||
# obtain the ota part device node
|
||||
param=$(grep -H -r "ota" /sys/class/ubi/* | sed 1q)
|
||||
ubi_param=$(echo "$param" | awk -F '/name:ota' '{print $1}')
|
||||
ubi_param=$(echo "$ubi_param" | awk -F '/sys/class/ubi/' '{print $2}')
|
||||
ubi_param=$(echo "$ubi_param" | awk -F '/' '{print $2}')
|
||||
|
||||
echo "ota part device node is /dev/$ubi_param"
|
||||
|
||||
if [ -c "/dev/$ubi_param" ]; then
|
||||
mkdir -p /mnt/ota
|
||||
mount -t ubifs /dev/$ubi_param /mnt/ota
|
||||
fi
|
||||
|
||||
/usr/lib/swupdate/swupdate_cmd.sh
|
||||
exec /usr/lib/swupdate/swupdate_cmd.sh
|
||||
;;
|
||||
stop)
|
||||
echo -n "Stopping swupdate... "
|
||||
umount /mnt/ota
|
||||
umount /data 2>/dev/null
|
||||
;;
|
||||
esac
|
||||
|
||||
Loading…
Reference in New Issue
Block a user