Closed pgaskin closed 3 years ago
@pgaskin I'm ready for the new resource map file as soon as you're ready.
Resource extraction:
echo "nickel@15875/qInitResources_resources"; ./qrc2zip --output "nickel.15875.qInitResources_resources.zip" --recursive --verbose "nickel" 1 $((0x115f4e8 - 0x0010000)) $((0x0026848 - 0x0010000)) $((0x115f078 - 0x0010000)) || { echo "Error: qrc2zip failed." 1>&2; exit 1; }
echo "nickel@15875/qInitResources_translations"; ./qrc2zip --output "nickel.15875.qInitResources_translations.zip" --recursive --verbose "nickel" 1 $((0x14bc6a0 - 0x0010000)) $((0x115f898 - 0x0010000)) $((0x14bc418 - 0x0010000)) || { echo "Error: qrc2zip failed." 1>&2; exit 1; }
echo "nickel@15875/qInitResources_styles"; ./qrc2zip --output "nickel.15875.qInitResources_styles.zip" --recursive --verbose "nickel" 1 $((0x14d9468 - 0x0010000)) $((0x14bc7b8 - 0x0010000)) $((0x14d6de8 - 0x0010000)) || { echo "Error: qrc2zip failed." 1>&2; exit 1; }
echo "nickel@15875/qInitResources_certificates"; ./qrc2zip --output "nickel.15875.qInitResources_certificates.zip" --recursive --verbose "nickel" 1 $((0x15007f0 - 0x0010000)) $((0x14d9f50 - 0x0010000)) $((0x14ff7a0 - 0x0010000)) || { echo "Error: qrc2zip failed." 1>&2; exit 1; }
https://krc.storage.pgaskin.net/nickel.15875.qInitResources_certificates.zip https://krc.storage.pgaskin.net/nickel.15875.qInitResources_resources.zip https://krc.storage.pgaskin.net/nickel.15875.qInitResources_styles.zip https://krc.storage.pgaskin.net/nickel.15875.qInitResources_translations.zip
My libnickel patch Dictionary text font-family/font-size/line-height
will fail your tests because Kobo have changed the dictionary code again.
I've had a quick look at what's changed and I don't think there should be too much trouble fixing it.
rootfs changes:
KERNEL=="input*" RUN+="/usr/local/Kobo/udev/input"
(runs ( sleep 2; echo input $ACTION $DEVPATH ${NAME:1:-1} > /tmp/nickel-hardware-status & ) &
) (cc @NiLuJe).logs-public.pem
RSA public key for encrypting logs.pickel-imx
executable./etc/init.d/rcK
(which SIGSTOPs nickel and sickel, unmounts all filesystems, then fscks the user data partition) instead of /bin/umount -a -r
(cc @NiLuJe, @frostschutz, @baskerville).Initial nickel CSS analysis is that very little has changed, so nickel.yaml should be OK as-is.
3 brand new qss resources:
AutoCompleteClear.qss
N3SettingsPhysicalKeyView.qss
NotePreviewDialog.css
1 resource with minor changes, but I don't believe any existing patches use it:
AddToCollectionDialog.qss
* New `pickel-imx` executable.
pickel is now a shell frontend... Which currently calls pickel-imx on all currently known platforms. That's... not necessarily a good news, might be a hint that the next device will not be using an i.MX SoC, which would be... unfun.
* Shutdown inittab target is now `/etc/init.d/rcK` (which SIGSTOPs nickel twice, unmounts all filesystems, then fscks the user data partition) instead of `/bin/umount -a -r` (cc @NiLuJe, @frostschutz, @baskerville).
That's nickel & sickel, not nickel twice ;).
That's nickel & sickel, not nickel twice ;).
My eyes are tired :wink:.
Here's what the pubkey is for:
(
(
(
/bin/echo -n $CIPHER_IV:$CIPHER_KEY
) |
/usr/bin/openssl rsautl -encrypt -inkey /usr/local/Kobo/logs-public.pem -pubin
);
(
/bin/dmesg;
/sbin/logread
) |
/bin/gzip -9 |
/usr/bin/openssl enc -aes-256-cbc -e -iv $CIPHER_IV -K $CIPHER_KEY
) > /mnt/onboard/.kobo/log-%1
So apparently, the log dumps are now encrypted. But on the other hand, the raw logs are now accessible over a TCP socket if EnableDebugServices
is true:
nc -ll -p 5000 -e /sbin/logread &
nc -ll -p 5001 -e /sbin/logread -f &
Based on a quick skim of the code, the old developer options log-saving appears to have been removed. The new one is run unconditionally on poweroff, on low battery, and when manually triggered in developer options.
Update: They also set the IV properly this time.
I'm going to start working on the patches after I look at a few more things.
Random notes:
pickel-imx
, the init script changes in the last version, the bluetooth audio a few versions ago, and the additional hardware stuff and input handling in this version) (and maybe the LED stuff has something to do with the update to US10795408B2?).NoteIndicatorManager
and [ReadingSettings] ShowNoteIndicators
.Slightly off-topic status update for dictutil: I really need to get around to pushing the v3 dictionary support. It's nearly finished, but I've been short on time, and it also needs quite a bit of testing.
Patch test results:
Errors:
/home/patrick/src/kobopatch-patches/src/versions/4.25.15875/libnickel.so.1.0.0.yaml/geoffr.yaml: Set KePub hyphenation: could not apply patch "Set KePub hyphenation": line 320: inst 3: ReplaceBytes: could not find specified bytes
/home/patrick/src/kobopatch-patches/src/versions/4.25.15875/libnickel.so.1.0.0.yaml/geoffr.yaml: Set font scale factor: could not apply patch "Set font scale factor": line 531: inst 3: ReplaceInt: could not find specified bytes at offset
/home/patrick/src/kobopatch-patches/src/versions/4.25.15875/nickel.yaml/oren64.yaml: New home screen subtitle custom font: could not apply patch "New home screen subtitle custom font": line 31: inst 4: ReplaceZlib: not a zlib stream
/home/patrick/src/kobopatch-patches/src/versions/4.25.15875/nickel.yaml/pgaskin.yaml: Remove forgot pin button from lock screen: could not apply patch "Remove forgot pin button from lock screen": line 20: inst 4: ReplaceZlib: not a zlib stream
/home/patrick/src/kobopatch-patches/src/versions/4.25.15875/libnickel.so.1.0.0.yaml/pgaskin.yaml: DeveloperSettings - AutoUsbGadget: could not apply patch "DeveloperSettings - AutoUsbGadget": line 629: inst 3: ReplaceBytes: could not find specified bytes at offset
/home/patrick/src/kobopatch-patches/src/versions/4.25.15875/libnickel.so.1.0.0.yaml/pgaskin.yaml: Both page turn sides go next: could not apply patch "Both page turn sides go next": line 17: inst 4: ReplaceBytes: could not find specified bytes
/home/patrick/src/kobopatch-patches/src/versions/4.25.15875/libnickel.so.1.0.0.yaml/pgaskin.yaml: Enable advanced settings for all fonts: could not apply patch "Enable advanced settings for all fonts": line 529: inst 3: ReplaceBytes: could not find specified bytes
/home/patrick/src/kobopatch-patches/src/versions/4.25.15875/libnickel.so.1.0.0.yaml/pgaskin.yaml: Customize ComfortLight settings: could not apply patch "Customize ComfortLight settings": line 558: inst 4: ReplaceInt: could not find specified bytes at offset
/home/patrick/src/kobopatch-patches/src/versions/4.25.15875/libnickel.so.1.0.0.yaml/pgaskin.yaml: Allow rotation on all devices: could not apply patch "Allow rotation on all devices": line 424: inst 3: ReplaceBytes: could not find specified bytes at offset
/home/patrick/src/kobopatch-patches/src/versions/4.25.15875/libnickel.so.1.0.0.yaml/jackie_w.yaml: Dictionary text font-family/font-size/line-height: could not apply patch "Dictionary text font-family/font-size/line-height": line 52: inst 3: FindReplaceString: FindBaseAddressString: FindBaseAddress: could not find bytes
Everything's normal this time.
I'll work on the libnickel patches in an hour.
@jackiew1, how are your nickel patches?
@jackiew1, how are your nickel patches?
As I said 2 hours ago in my 3rd post, very little has changed in nickel CSS and none of the current patches use the little which has changed.
I'm just about to test the updated (not committed yet) Dictionary text font-family/font-size/line-height
in libnickel, but I need to actually install the fw to do that.
More later.
As I said 2 hours ago in my 3rd post
Looks like I overlooked that post (I think GH is having caching issues again...). I'm going to do the other updates now, and I should have them committed (and lightly tested) within the next half hour.
@jackiew1, it's ready for you to commit your changes now. I'll do a bit more testing with the other patches now, then once you're ready, I'll release them.
I might also look into some of the patch requests if I have time.
NickelMenu, NickelSeries, NickelDBus, and the other related mods work fine with this firmware version.
@jackiew1, it's ready for you to commit your changes now. I'll do a bit more testing with the other patches now, then once you're ready, I'll release them.
I've just committed the change to Dictionary text font-family/font-size/line-height
.
I've tested everything. I'll make a release in a few minutes.
Based on the new dictionary, I found something interesting.
If you look up gaijitest
, you'll see a list of characters. #x0493
is inserted as a GIF image in the dictzip. Previously, this would cause a blank display, but it shows correctly. The interesting part is that the GIF is gzip-compressed. I'll need to investigate this further and see if this is new (I think this is the case) or if I just missed that image files should be gzipped before.
It also appears that large dictionaries work better now.
Fun fact: the latest Kindle FW release dropped another rather large hint of a move off i.MX SoCs... towards MediaTek ones, in their case (apparently).
(The Kindle FW runs X, which means we have a nice driver name switch, from imx
to mtk
...).