openwrt/scripts
Tony Ambardar cd5e0134b6 image: fix Linksys image alignment and simplify footer creation
Current factory image sizes for Linksys devices are 256-byte aligned. This
is not an issue writing factory images from the OpenWrt or Linksys GUIs,
but can lead to failures using a TFTP client from the Linksys bootloader:

     NAND write: device 1 offset 0x2800000, size 0xc00100
     Attempt to write to non page aligned data
     NAND write to offset 2800000 failed -22
      0 bytes written: ERROR

Simplify Linksys footer creation by migrating to a makefile build recipe,
and pre-pad the footer (with 0xFF) to ensure the final image is $(PAGESIZE)
aligned.  Finally, remove the old linksys-image.sh script no longer needed.

Linksys footer details are given below for future reference. The 256-byte
footer is appended to factory images and tested by both the Linksys
Upgrader (observed in EA6350v3) and OpenWrt sysupgrade.

  Footer format:
    .LINKSYS.     Checked by Linksys upgrader before continuing.  (9 bytes)
    <VERSION>     Upgrade version number, unchecked so arbitrary. (8 bytes)
    <TYPE>        Model of device, space padded (0x20).          (15 bytes)
    <CRC>         CRC checksum of factory image to flash.         (8 bytes)
    <padding>     Padding ('0' + 0x20 * 7)                        (8 bytes)
    <signature>   Signature of signer, unchecked so arbitrary.   (16 bytes)
    <padding>     Padding with nulls (0x00)                     (192 bytes)

Link: https://github.com/openwrt/openwrt/pull/11405#issuecomment-1358510123
Link: https://github.com/openwrt/openwrt/pull/11405#issuecomment-1587517739

Reported-by: Stijn Segers <foss@volatilesystems.org>
Reported-by: Wyatt Martin <wawowl@gmail.com>
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
2023-11-26 18:37:20 +01:00
..
config
flashing
brcmImage.pl
bundle-libraries.sh
cameo-imghdr.py
cameo-tag.py
cfe-bin-header.py
cfe-partition-tag.py
cfe-wfi-tag.py
check-toolchain-clean.sh
checkpatch.pl
clean-package.sh
cleanfile
cleanpatch
combined-ext-image.sh
combined-image.sh
command_all.sh
config.guess
config.rpath
config.sub
const_structs.checkpatch
deptest.sh
diffconfig.sh
dl_cleanup.py scripts: fix dl_cleanup.py argument handling 2022-11-15 14:45:50 +01:00
dl_github_archive.py build: make git sub-modules to fetch configurable 2023-07-28 09:00:49 +02:00
download.pl scripts/download.pl: Remove stale download sites and convert to https 2023-09-16 12:10:22 +02:00
dump-target-info.pl scripts/dump-target-info.pl: add new function to DUMP devices 2023-11-15 10:59:23 +01:00
env
ext-toolchain.sh scripts/ext-toolchain: implement external GCC version detection 2023-10-20 16:13:31 +02:00
ext-tools.sh scripts: ext-tools: add option to only refresh timestamps 2023-01-23 19:18:05 +01:00
feeds build: use long hashes when generating feed.buildinfo 2023-11-02 12:40:44 +01:00
fixup-makefile.pl
functions.sh
gen_image_generic.sh scripts: gen_image_generic: allow the partition types to be set 2023-06-02 11:36:13 +02:00
gen-dependencies.sh
get_source_date_epoch.sh
getver.sh scripts/getver.sh: prevent asking for negative rev-parse 2023-11-12 16:19:04 +01:00
ipkg-build
ipkg-make-index.sh Revert "scripts: run ipkg-make-index through shellcheck" 2023-05-09 21:32:26 +02:00
ipkg-remove
json_add_image_info.py build: fix generation of large .vdi images 2023-07-15 17:02:42 +02:00
json_overview_image_info.py
kconfig.pl
make-ipkg-dir.sh
md5sum
metadata.pm build: add CycloneDX SBOM JSON support 2023-11-01 11:14:41 +00:00
mkhash.c
mkits-qsdk-ipq-image.sh
mkits-zyxel-fit-filogic.sh mediatek: add support for ZyXEL NWA50AX Pro 2023-07-21 20:28:13 +02:00
mkits-zyxel-fit.sh
mkits.sh scripts/mkits.sh: DT overlays don't need a loadaddr 2023-07-12 19:02:08 +01:00
moxa-encode-fw.py ath79: Add support for MOXA AWK-1137C 2023-06-25 12:59:26 +02:00
netgear-encrypted-factory.py image: add additional fields to Netgear encrypted image 2023-07-01 14:42:11 +02:00
noop.sh build: replace true with a custom noop script 2023-11-03 23:06:07 +01:00
om-fwupgradecfg-gen.sh
package-metadata.pl build: add CycloneDX SBOM JSON support 2023-11-01 11:14:41 +00:00
pad_image
patch-kernel.sh
patch-specs.sh
portable_date.sh
qemustart scripts: qemustart: Fix x86/legacy bootup 2023-08-14 23:37:04 +02:00
redboot-script.pl
relink-lib.sh
remote-gdb
rstrip.sh
sercomm-crypto.py
sercomm-kernel-header.py scripts: sercomm-kernel-header.py: improve compatibility 2023-06-11 13:36:38 +08:00
sercomm-partition-tag.py
sercomm-payload.py scripts: sercomm-payload: add PID file support 2023-04-09 09:55:57 +02:00
sercomm-pid.py scripts: sercomm-pid.py: use uppercase hwid in pid 2023-11-25 01:11:18 +01:00
sign_images.sh
size_compare.sh scripts: size_compare: print a grand total 2023-02-03 21:22:49 +01:00
slugimage.pl
spelling.txt
srecimage.pl
strip-kmod.sh
symlink-tree.sh
sysupgrade-tar.sh
target-metadata.pl
time.pl
timestamp.pl
ubinize-image.sh
xxdi.pl