c1a3d06678
Support the downstream kernel and a close-to-mainline fork. Waveform data for the eInk display and the Wi-Fi driver are not included yet. Everything else should work.
49 lines
1.6 KiB
Text
49 lines
1.6 KiB
Text
pkgname=firmware-kobo-clara
|
|
pkgver=4.26.16704
|
|
pkgrel=0
|
|
pkgdesc="Kobo Clara firmware"
|
|
url="https://wiki.mobileread.com/wiki/Kobo_Firmware_Releases"
|
|
arch="armv7"
|
|
license="proprietary"
|
|
options="!check !archcheck"
|
|
|
|
source="
|
|
https://download.kobobooks.com/firmwares/kobo7/Feb2021/kobo-update-4.26.16704.zip
|
|
hwcfg.bin
|
|
"
|
|
|
|
# Print given number as bytes in 32-bit little-endian
|
|
_le32() {
|
|
printf "%08x" "$1" | sed -E 's/(..)(..)(..)(..)/\\x\4\\x\3\\x\2\\x\1/'
|
|
}
|
|
# Print the magic header for the given file for Kobo u-boot
|
|
_print_header() {
|
|
length=$(stat -L -c %s "$1")
|
|
dd bs=496 count=1 if=/dev/zero
|
|
printf '\xff\xf5\xaf\xff\x78\x56\x34\x12%b\x00\x00\x00\x00' "$(_le32 "$length")"
|
|
}
|
|
|
|
build() {
|
|
# Prepend a header to each firmware file loaded by u-boot
|
|
for fw in hwcfg upgrade/mx6sll-ntx/ntxfw-E60K00 ; do
|
|
out="$srcdir/$fw+header.bin"
|
|
_print_header "$srcdir/$fw.bin" > "$out"
|
|
cat "$srcdir/$fw.bin" >> "$out"
|
|
done
|
|
}
|
|
|
|
package() {
|
|
# Hardware description struct, passed to kernel by u-boot
|
|
# See https://misc.andi.de1.cc/kobo/
|
|
install -Dm644 "$srcdir/hwcfg+header.bin" \
|
|
"$pkgdir/usr/share/firmware/kobo-clara/hwcfg+header.bin"
|
|
|
|
# Value table for the 2-color lm3630 frontlight, passed to kernel by u-boot
|
|
install -Dm644 "$srcdir/upgrade/mx6sll-ntx/ntxfw-E60K00+header.bin" \
|
|
"$pkgdir/usr/share/firmware/kobo-clara/ntxfw-E60K00+header.bin"
|
|
}
|
|
|
|
sha512sums="
|
|
c1f89e630777ebad282ad77f40355b5fb50ad3c8fa57ed624b89d53d4fbb788783ed60f85f6f848f786c8c5ea7dcb913d16446fa2a87d68f033277272799d149 kobo-update-4.26.16704.zip
|
|
f7820b6c4624bab4bea92a0e2732cdaae8a37fbbe2ef823e61c48bb3e2400c70f7ee3c7945e7826f01653ba65f9a4034e884b985518fbcb84c8759c9c6351fad hwcfg.bin
|
|
"
|