1GiB DRAM 搭載時、CONFIG_HIGHMEM を有効にすると問題が発生する可能性が否定できないため、v5.1.1 ファームウェアから Bootloader によりメモリサイズを 768MiB に制限しています。
現時点(2022/02/15)では回答が記載されておらず、スレッドもロックされて結論も出ていないために上記制限をいれました。
Forum を起票した方が書いている下記変更で問題が回避されると仮定した場合、1GiB 全領域を使用するためには下記対応が必要となります。
When we change the kernel config: CONFIG_VMSPLIT_3G =>> CONFIG_VMSPLIT_3G_OPT(disable highmem and use entire 1G space for direct memory) or CONFIG_HIGHPTE = n (disable the 2nd level page table from highmem) The issue seems solved.
上記 CONFIG_VMSPLIT_3G を有効にする変更を現在テスト中で、問題がないと確認ができ次第適用する予定です。
ファームウェアの barebox.bin.img を、v5.1.0 までに入っていたものに入れ替えます。
File | Stat | SHA1SUM | Note |
---|---|---|---|
barebox.bin.img | 2022/02/15 17:27 383.5 KB | d31d6aff5b48d62eb3682b4732fd7532662ea231 | 通常版 |
barebox_nojre.bin.img | 2022/02/15 17:27 383.5 KB | 6b3f6cb15789b9dcbcbabec587a8a6f64f017dff | JRE 領域縮小版 |
# ls -l -rwxr-xr-x 1 root root 392672 2月 15 17:30 barebox.bin.img -rwxr-xr-x 1 root root 392704 2月 15 17:30 barebox_nojre.bin.img # zip -j mae3xx_focal_v5_1_1.img barebox* updating: barebox_nojre.bin.img (deflated 36%) updating: barebox.bin.img (deflated 36%)
フォーラムにあるとおり、CONFIG_VMSPLIT_3G_OPT に変更します。
user1@pc:~/src/linux-kernel-wireguard-ti-4.19.y$ make CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
Kernel Features → Memory split → 3G/1G user/kernel split (for full 1G low memory)
※ Github に置いてあるリポジトリには、plum_MA_NOHIGHMEM_defconfig という config を追加してあるので、下記のとおり config を作成する方法もあります。
$ make CROSS_COMPILE=arm-linux-gnueabihf- plum_MA_NOHIGHMEM_defconfig # # configuration written to .config #
アップデート用ファームウェアの作成(クロス) の方法で、ファームウェアのビルドを行います。