/
UCS
/
openwrt
Обзор
Документация
Войти
/
UCS
/
openwrt
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
scripts/sysupgrade-tar.sh
84 строки
1 KB
Jonas Gorski
images: fix boot failures on NAND with small sub pages
14 сен 2019, 12:43
14 сен 2019, 12:43
ee76bd1
Код
Авторство
О чём код?
#!/bin/sh . $TOPDIR/scripts/functions.sh board="" kernel="" rootfs="" outfile="" err="" while [ "$1" ]; do case "$1" in "--board") board="$2" shift shift continue ;; "--kernel") kernel="$2" shift shift continue ;; "--rootfs") rootfs="$2" shift shift continue ;; *) if [ ! "$outfile" ]; then outfile=$1 shift continue fi ;; esac done if [ ! -n "$board" -o ! -r "$kernel" -a ! -r "$rootfs" -o ! "$outfile" ]; then echo "syntax: $0 [--board boardname] [--kernel kernelimage] [--rootfs rootfs] out" exit 1 fi tmpdir="$( mktemp -d 2> /dev/null )" if [ -z "$tmpdir" ]; then # try OSX signature tmpdir="$( mktemp -t 'ubitmp' -d )" fi if [ -z "$tmpdir" ]; then exit 1 fi mkdir -p "${tmpdir}/sysupgrade-${board}" echo "BOARD=${board}" > "${tmpdir}/sysupgrade-${board}/CONTROL" if [ -n "${rootfs}" ]; then case "$( get_fs_type ${rootfs} )" in "squashfs") dd if="${rootfs}" of="${tmpdir}/sysupgrade-${board}/root" bs=1024 conv=sync ;; *) cp "${rootfs}" "${tmpdir}/sysupgrade-${board}/root" ;; esac fi [ -z "${kernel}" ] || cp "${kernel}" "${tmpdir}/sysupgrade-${board}/kernel" mtime="" if [ -n "$SOURCE_DATE_EPOCH" ]; then mtime="--mtime=@${SOURCE_DATE_EPOCH}" fi (cd "$tmpdir"; tar --sort=name --owner=0 --group=0 --numeric-owner -cvf sysupgrade.tar sysupgrade-${board} ${mtime}) err="$?" if [ -e "$tmpdir/sysupgrade.tar" ]; then cp "$tmpdir/sysupgrade.tar" "$outfile" else err=2 fi rm -rf "$tmpdir" exit $err