mirror of
https://codeberg.org/postscriptum/gemlog.git
synced 2026-02-19 14:32:40 +00:00
1763056251
This commit is contained in:
parent
1741f45be1
commit
35596050db
1 changed files with 57 additions and 55 deletions
|
|
@ -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/Building_targets.md Building targets
|
||||||
=> https://github.com/koreader/koreader/blob/master/doc/Porting.md Porting
|
=> 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
|
### Варіант компіляції KoReader на базі архітектури Kindle
|
||||||
|
|
||||||
Цей метод мені порадили тут:
|
Цей метод мені порадили тут:
|
||||||
|
|
@ -209,6 +154,63 @@ cd koreader && ./kodev fetch-thirdparty
|
||||||
./kodev release pocketbook
|
./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 (дякую усім, хто долучився)
|
=> https://github.com/koreader/koreader/issues/14600 Тема №14600 на GitHub (дякую усім, хто долучився)
|
||||||
Loading…
Add table
Add a link
Reference in a new issue