mirror of
https://github.com/FunKey-Project/FunKey-OS.git
synced 2026-02-01 20:35:28 +01:00
replace custom fw_savenev script with mkenvimage
Signed-off-by: Michel Stempin <michel.stempin@wanadoo.fr>
This commit is contained in:
parent
2d456ef6c7
commit
fb18542bef
@ -1,57 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# Uncomment the following line to get debug info
|
|
||||||
#set -xv
|
|
||||||
|
|
||||||
source /usr/local/lib/utils
|
|
||||||
|
|
||||||
fw_saveenv () {
|
|
||||||
|
|
||||||
# Check arguments
|
|
||||||
if [ $# -ne 1 ]; then
|
|
||||||
die 1 "usage: fw_saveenv filename"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Save the input file name
|
|
||||||
local input_file="${1}"
|
|
||||||
|
|
||||||
# Read the fw_env config file
|
|
||||||
local config=$(sed -e 's/#.*$//' -e '/^$/d' /etc/fw_env.config)
|
|
||||||
set ${config}
|
|
||||||
local of=${1}
|
|
||||||
local seek=$((${2} / 1024))
|
|
||||||
local count=$((${3} / 1024))
|
|
||||||
|
|
||||||
# Create 2 temporary files
|
|
||||||
local blob_file=$(mktemp /tmp/fw_saveenv.XXXXXX)
|
|
||||||
local env_file=$(mktemp /tmp/fw_saveenv.XXXXXX)
|
|
||||||
|
|
||||||
# Convert the provided file to a null-terminated string blob
|
|
||||||
cat "${input_file}" | tr '\n' '\0' > ${blob_file}
|
|
||||||
|
|
||||||
# Compute the blob length in bytes
|
|
||||||
set -- $(ls -l ${blob_file})
|
|
||||||
local length=${5}
|
|
||||||
|
|
||||||
# Compute the padding size in bytes
|
|
||||||
let padding=${count}*1024-4-${length}
|
|
||||||
|
|
||||||
# Pad the blob file with zeros up to the total size
|
|
||||||
dd if=/dev/zero bs=1 count=${padding} >>${blob_file} 2>/dev/null
|
|
||||||
|
|
||||||
# Compute the CRC32 for the padded blob and store it at the beginning of the env file
|
|
||||||
set $(cat ${blob_file} | gzip -1 | tail -c 8 | head -c 4 | hexdump -e '4/1 "%02X "')
|
|
||||||
printf "\\x$1\\x$2\\x$3\\x$4" > ${env_file}
|
|
||||||
|
|
||||||
# Append the binary blob file to the env file
|
|
||||||
cat ${blob_file} >> ${env_file}
|
|
||||||
|
|
||||||
# Write the final env file to the raw device
|
|
||||||
dd if=${env_file} of=${of} bs=1k count=${count} seek=${seek} 2>/dev/null
|
|
||||||
|
|
||||||
# Remove the temporay files
|
|
||||||
rm ${blob_file} ${env_file}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
fw_saveenv $*
|
|
||||||
@ -64,6 +64,7 @@ BR2_PACKAGE_GPTFDISK_SGDISK=y
|
|||||||
BR2_PACKAGE_PARTED=y
|
BR2_PACKAGE_PARTED=y
|
||||||
BR2_PACKAGE_SYSSTAT=y
|
BR2_PACKAGE_SYSSTAT=y
|
||||||
BR2_PACKAGE_UBOOT_TOOLS=y
|
BR2_PACKAGE_UBOOT_TOOLS=y
|
||||||
|
BR2_PACKAGE_UBOOT_TOOLS_MKENVIMAGE=y
|
||||||
BR2_PACKAGE_LIBQRENCODE=y
|
BR2_PACKAGE_LIBQRENCODE=y
|
||||||
BR2_PACKAGE_LIBQRENCODE_TOOLS=y
|
BR2_PACKAGE_LIBQRENCODE_TOOLS=y
|
||||||
BR2_PACKAGE_LIBNL=y
|
BR2_PACKAGE_LIBNL=y
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user