diff --git a/public/uk/porting-koreader-on-pocketbook-602.gmi b/public/uk/porting-koreader-on-pocketbook-602.gmi index 6309e8d..db3921f 100644 --- a/public/uk/porting-koreader-on-pocketbook-602.gmi +++ b/public/uk/porting-koreader-on-pocketbook-602.gmi @@ -103,61 +103,6 @@ ARMv6-compatible processor rev 6 (v6l) => https://github.com/koreader/koreader/blob/master/doc/Building_targets.md Building targets => https://github.com/koreader/koreader/blob/master/doc/Porting.md Porting -### Варіант компіляції KoReader на базі патчу koxtoolchain - -``` bash -git clone https://github.com/koreader/koxtoolchain.git -cd koxtoolchain -``` - -Для секції PocketBook, я оновив рядок ARCH_FLAGS: - -``` refs/x-compile.sh - PB ) - # NOTE: The TC itself is built in ARM mode, otherwise glibc 2.9 doesn't build (fails with a "r15 not allowed here" assembler error on csu/libc-start.o during the early multilib start-files step). - # AFAICT, the official SDK doesn't make a specific choice on that front (i.e., it passes neither -marm not -mthumb. That usually means ARM)... - # NOTE: This is probably related to our choice of -mcpu target, as the kindle TC builds just fine on the same glibc version... for armv6j ;). - # ARCH_FLAGS="-march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -mthumb" - ARCH_FLAGS="-march=armv6j -mtune=arm1136jf-s -mfpu=vfp -mfloat-abi=softfp -mthumb" -``` - -Компілюємо: - -``` bash -./gen-tc.sh pocketbook -``` -* можливо, доведеться довстановити: -``` bash -sudo dnf install texinfo help2man -``` - -#### crosstool-ng - -Це алежність до koxtoolchain. Згадую про crosstool-ng окремо, бо на системах (зокрема Fedora 43) з останніми версіями wget є баг: -=> https://github.com/NiLuJe/crosstool-ng/issues/9 - -і готове рішення: -=> https://github.com/crosstool-ng/crosstool-ng/pull/2439 Remove --passive-ftp from wget usage #2439 - -Для PocketBook в koxtoolchain використовується стара хеш-залежність, яку я локально замінив на свою гілку зі ще одним, додатковим випилом --passive-ftp: -=> https://github.com/NiLuJe/crosstool-ng/pull/10 - -Щоб застосувати оновлену гілку, не чекаючи мержу, оновлюємо джерела секції "pocketbook": - -``` scripts/scripts.mk -# змінюємо рядки ~196-197 - pocketbook) - # NOTE: Prevent libstdc++ from pulling in utimensat@GLIBC_2.6 - export glibcxx_cv_utimensat=no - - Build_CT-NG \ - https://github.com/oooo-ps/crosstool-ng.git \ - remove--passive-ftp \ - "arm-${1}-linux-gnueabi" -``` - -Перезбираємо koxtoolchain. - ### Варіант компіляції KoReader на базі архітектури Kindle Цей метод мені порадили тут: @@ -209,6 +154,63 @@ cd koreader && ./kodev fetch-thirdparty ./kodev release pocketbook ``` +### Варіант компіляції KoReader на базі патчу koxtoolchain + +``` bash +git clone https://github.com/koreader/koxtoolchain.git +cd koxtoolchain +``` + +Для секції PocketBook, я оновив рядок ARCH_FLAGS: + +``` refs/x-compile.sh + PB ) + # NOTE: The TC itself is built in ARM mode, otherwise glibc 2.9 doesn't build (fails with a "r15 not allowed here" assembler error on csu/libc-start.o during the early multilib start-files step). + # AFAICT, the official SDK doesn't make a specific choice on that front (i.e., it passes neither -marm not -mthumb. That usually means ARM)... + # NOTE: This is probably related to our choice of -mcpu target, as the kindle TC builds just fine on the same glibc version... for armv6j ;). + # ARCH_FLAGS="-march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -mthumb" + ARCH_FLAGS="-march=armv6j -mtune=arm1136jf-s -mfpu=vfp -mfloat-abi=softfp -mthumb" +``` + +Компілюємо: + +``` bash +./gen-tc.sh pocketbook +``` +* можливо, доведеться довстановити: +``` bash +sudo dnf install texinfo help2man +``` + +Збираємо KoReader аналогічно до способу з Kindle, але використовуємо локальний $PATH. + +### crosstool-ng + +Це алежність до koxtoolchain. Згадую про crosstool-ng окремо, бо на системах (зокрема Fedora 43) з останніми версіями wget є баг: +=> https://github.com/NiLuJe/crosstool-ng/issues/9 + +і готове рішення: +=> https://github.com/crosstool-ng/crosstool-ng/pull/2439 Remove --passive-ftp from wget usage #2439 + +Для PocketBook в koxtoolchain використовується стара хеш-залежність, яку я локально замінив на свою гілку зі ще одним, додатковим випилом --passive-ftp: +=> https://github.com/NiLuJe/crosstool-ng/pull/10 + +Щоб застосувати оновлену гілку, не чекаючи мержу, оновлюємо джерела секції "pocketbook": + +``` scripts/scripts.mk +# змінюємо рядки ~196-197 + pocketbook) + # NOTE: Prevent libstdc++ from pulling in utimensat@GLIBC_2.6 + export glibcxx_cv_utimensat=no + + Build_CT-NG \ + https://github.com/oooo-ps/crosstool-ng.git \ + remove--passive-ftp \ + "arm-${1}-linux-gnueabi" +``` + +Перезбираємо koxtoolchain. + ## Посилання => https://github.com/koreader/koreader/issues/14600 Тема №14600 на GitHub (дякую усім, хто долучився) \ No newline at end of file