内容へ移動
MA-X/MA-S/MA-E/IP-K Developers' WiKi
ユーザ用ツール
管理
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
PDF の出力
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
現在位置:
メインページ
»
MA-E3xx シリーズ TIPS
»
Java 領域を(大幅に)縮小して root filesystem 領域を広げる
トレース:
•
マイコンの I/O 機能を利用する
mae3xx_tips:java-less-environment:start
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== Java 領域を(大幅に)縮小して root filesystem 領域を広げる ====== [[mae3xx_ope:firmware_structure:start]] にあるとおり、Java(JRE) の領域がかなりの割合を占めています。\\ Java を使用しない場合、この領域を root filesystem に割り当てて、より多くのパッケージや自作のアプリケーションを入れたいということもあると思います。 カスタム bootloader に入れ替えることで、256MiB NAND Flash を搭載した標準品でも、root filesystem のサイズを 80MiB -> **95MiB** に拡大することができます。 \\ ===== 更新の手順 ===== ==== ファームウェアを入れた SDcard の準備 ==== NAND Flash のパーティション構造を変更する途中で全消去するため、bootloader からファームウェアを書き込む必要があります。\\ そのため、SDcard にファームウェアを書き込んで実機に挿入しておきます。 <del>※ ファームウェアに含まれている barebox.bin.img は除去しておきます。</del> \\ ==== bootloader の更新 ==== bootloader のみ更新するファームウェアを適用します。 ^ File ^ Stat ^ SHA1SUM ^ Note | |{{ :mae3xx_tips:java-less-environment:java-less-bootloader.img |}}|2019/07/05 17:31 245.5 KB|134e350fdb66425c576eef12fc7a4c438163b9a6| | \\ <code> root@plum:~# firmup /tmp/java-less-bootloader.img ### MA-E3xx series firmware update utility (for 2-area firmware). Updating Area: 1 ... * Bootloader file found. writing "barebox.bin" image to /dev/mtd13 ... succeeded. erasing bootloader environments (/dev/mtd14)... done. Succeeded. </code> \\ ==== 再起動 ==== bootloader で作業する必要があるので、コンソールを接続した上で再起動します。 <code> root@plum:~# reboot Session terminated, terminating shell... ...terminated. </code> \\ ==== bootloader で止める ==== bootloader でキー入力待ちの間にキーを押して自動起動を停止させます。 <code> ... registering /dev/ubi0 registering kernel.0 as /dev/ubi0.kernel.0 registering kernel.1 as /dev/ubi0.kernel.1 registering initramfs.0 as /dev/ubi0.initramfs.0 registering initramfs.1 as /dev/ubi0.initramfs.1 registering kmod.0 as /dev/ubi0.kmod.0 registering kmod.1 as /dev/ubi0.kmod.1 registering rootfs.0 as /dev/ubi0.rootfs.0 registering rootfs.1 as /dev/ubi0.rootfs.1 registering opt as /dev/ubi0.opt registering overlay as /dev/ubi0.overlay UBI: attached mtd0 (name "nand0.UBI", size 255 MiB) to ubi0 UBI: PEB size: 131072 bytes (128 KiB), LEB size: 129024 bytes UBI: min./max. I/O unit sizes: 2048/2048, sub-page size 512 UBI: VID header offset: 512 (aligned 512), data offset: 2048 UBI: good PEBs: 2040, bad PEBs: 0, corrupted PEBs: 0 UBI: user volume: 10, internal volumes: 1, max. volumes count: 128 UBI: max/mean erase counter: 2/0, WL threshold: 4096, image sequence number: 9489 UBI: available PEBs: 0, total reserved PEBs: 2040, PEBs reserved for bad PEB handling: 40 Hit m for menu or any other key to stop autoboot: 1 type exit to get to the menu barebox@plum-ma[1GiB]:/ </code> \\ ==== bootloader での作業 ==== === UBI のデタッチ === <code> barebox@plum-ma[1GiB]:/ ubidetach ubi0 UBI: detaching mtd0 from ubi0 removing ubi0 UBI: mtd0 is detached from ubi0 </code> \\ === NAND 消去 === <code> barebox@plum-ma[1GiB]:/ erase /dev/nand0 </code> \\ === UBI フォーマット === <code> barebox@plum-ma[1GiB]:/ ubivol_init 2 ubiformat: /dev/nand0.UBI (nand), size 267386880 bytes (255 MiB), 2040 eraseblocks of 131072 bytes (128 KiB), min. I/O size 2048 bytes libscan: scanning eraseblock 2039 -- 100 % complete ubiformat: 2040 eraseblocks are supposedly empty ubiformat: formatting eraseblock 2039 -- 100 % complete UBI: attaching mtd0 to ubi0 UBI: scanning is finished registering /dev/ubi0 UBI: attached mtd0 (name "nand0.UBI", size 255 MiB) to ubi0 UBI: PEB size: 131072 bytes (128 KiB), LEB size: 129024 bytes UBI: min./max. I/O unit sizes: 2048/2048, sub-page size 512 UBI: VID header offset: 512 (aligned 512), data offset: 2048 UBI: good PEBs: 2040, bad PEBs: 0, corrupted PEBs: 0 UBI: user volume: 0, internal volumes: 1, max. volumes count: 128 UBI: max/mean erase counter: 0/0, WL threshold: 4096, image sequence number: 3639 UBI: available PEBs: 1996, total reserved PEBs: 44, PEBs reserved for bad PEB handling: 40 registering kernel.0 as /dev/ubi0.kernel.0 registering kernel.1 as /dev/ubi0.kernel.1 registering initramfs.0 as /dev/ubi0.initramfs.0 registering initramfs.1 as /dev/ubi0.initramfs.1 registering kmod.0 as /dev/ubi0.kmod.0 registering kmod.1 as /dev/ubi0.kmod.1 registering rootfs.0 as /dev/ubi0.rootfs.0 registering rootfs.1 as /dev/ubi0.rootfs.1 registering opt as /dev/ubi0.opt registering overlay as /dev/ubi0.overlay </code> \\ 領域のサイズを確認してみます。 <code> barebox@plum-ma[1GiB]:/ ls -l /dev/ubi0* c--------- 0 /dev/ubi0 crw------- 2193408 /dev/ubi0.initramfs.0 crw------- 2193408 /dev/ubi0.initramfs.1 crw------- 4257792 /dev/ubi0.kernel.0 crw------- 4257792 /dev/ubi0.kernel.1 crw------- 2193408 /dev/ubi0.kmod.0 crw------- 2193408 /dev/ubi0.kmod.1 crw------- 387072 /dev/ubi0.opt crw------- 40384512 /dev/ubi0.overlay crw------- 99735552 /dev/ubi0.rootfs.0 crw------- 99735552 /dev/ubi0.rootfs.1 barebox@plum-ma[1GiB]:/ </code> rootfs.* のサイズが 99735552bytes (95.1MiB) になっていることが確認できました。 \\ === ファームウェアの書込 === SDcard に入れておいたファームウェアを書き込みます。 <code> barebox@plum-ma[1GiB]:/ firmup /boot/mae3xx_bionic_v4_2_1rc1.img 0 ### MA-E3xx series firmware updater firm area to write: 0 firm_dual: 1 * image file for "kernel" found. copying kernel image to /dev/ubi0.kernel.0 ... * image file for "kmod" found. copying kmod image to /dev/ubi0.kmod.0 ... * image file for "initramfs" found. copying initramfs image to /dev/ubi0.initramfs.0 ... * image file for "rootfs" found. copying rootfs image to /dev/ubi0.rootfs.0 ... * image file for "dtb" found. erasing /dev/spi.dtb.0 ... copying dtb(DeviceTree) image to /dev/spi.dtb.0 ... update finished. barebox@plum-ma[1GiB]:/ </code> ※ **opt** のファイルが入っていてもスキップするようになっています。 \\ ==== 起動 ==== 新しいファームウェアで起動するためにリセットします。 <code> barebox@plum-ma[1GiB]:/ reset barebox 2013.12.0-gc51c3f4 #3 Tue Mar 11 18:24:49 JST 2014 Board: plum-ma[1GiB] m25p80 m25p800: m25p16 (2048 Kbytes) booting from SPI barebox 2013.12.0-00438-gb5233a419 #882 Fri Jun 28 14:28:42 JST 2019 Board: plum-ma[1GiB] nand: ONFI param page 0 valid ... </code> \\ Linux から UBI のサイズを確認すると、root filesystem 領域が大きくなっていることが確認できます。 <code> user1@plum:~$ cat /proc/mtd dev: size erasesize name mtd0: 0ff00000 00020000 "UBI" mtd1: 00100000 00020000 "OOPS" mtd2: 0040f800 0001f800 "kernel.0" mtd3: 0040f800 0001f800 "kernel.1" mtd4: 00217800 0001f800 "initramfs.0" mtd5: 00217800 0001f800 "initramfs.1" mtd6: 00217800 0001f800 "kmod.0" mtd7: 00217800 0001f800 "kmod.1" mtd8: 05f1d800 0001f800 "rootfs.0" <--- mtd9: 05f1d800 0001f800 "rootfs.1" <--- mtd10: 0005e800 0001f800 "opt" mtd11: 02683800 0001f800 "overlay" mtd12: 00020000 00010000 "MLO" mtd13: 00080000 00010000 "barebox.bin" mtd14: 00020000 00010000 "barebox.env" mtd15: 00020000 00010000 "dtb.0" mtd16: 00020000 00010000 "dtb.1" mtd17: 00020000 00010000 "hist_firmup" mtd18: 000e0000 00010000 "hist_boot" </code> \\
mae3xx_tips/java-less-environment/start.txt
· 最終更新: 2019/07/05 17:32 by
admin
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
PDF の出力
文書の先頭へ