pmaports/device/testing/firmware-kobo-clara/APKBUILD
Timotej Lazar c1a3d06678
device-kobo-clara: new device (Kobo Clara HD) (MR 2334)
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.
2021-07-18 09:35:39 +02:00

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
"