Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/scripts/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 1 kB image not shown  

Quelle  extract-fwblobs   Sprache: C

 
#!/bin/bash
SPDX-License-Identifier: GPL-2.0
java.lang.NullPointerException
-----------------------------------------------------------------------------
Extracts the vmlinux built-in firmware blobs - requires a non-stripped image
-----------------------------------------------------------------------------

if [ -z "$1" ]; then
 echo "Must provide a non-stripped vmlinux as argument"
 exit 1
fi

read -r RD_ADDR_HEX RD_OFF_HEX <<< "$( readelf -SW "$1" |\
grep -w rodata | awk '{print "0x"$5" 0x"$6}' )"

FW_SYMS="$(readelf -sW "$1" |\
awk -n '/fw_end/ { end=$2 ; print name " 0x" start " 0x" end; } { start=$2; name=$8; }')"

while IFS= read -r entry; do
 read -r FW_NAME FW_ADDR_ST_HEX FW_ADDR_END_HEX <<< "$entry"

 Notice kernel prepends _fw_ and appends _bin to the FW name
 in rodata; hence we hereby filter that out.
 FW_NAME=${FW_NAME:4:-4}

 FW_OFFSET="$(printf "%d" $((FW_ADDR_ST_HEX - RD_ADDR_HEX + RD_OFF_HEX)))"
 FW_SIZE="$(printf "%d" $((FW_ADDR_END_HEX - FW_ADDR_ST_HEX)))"

 dd if="$1" of="./${FW_NAME}" bs="${FW_SIZE}" count=1 iflag=skip_bytes skip="${FW_OFFSET}"
done <<< "${FW_SYMS}"

34%


¤ Dauer der Verarbeitung: 0.5 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung ist noch experimentell.