u-bootのカスタマイズ
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| u-bootのカスタマイズ [2022/08/24 11:31] – [U-Bootのビルド] makotoa67 | u-bootのカスタマイズ [2023/06/16 14:08] (現在) – [U-Bootのビルド] makotoa67 | ||
|---|---|---|---|
| 行 2: | 行 2: | ||
| Jetson TX2 NX Moduleで、U-BootのTX2 NX向けバージョンのバグを修正する必要に迫られて、一度、U-Bootを自分でビルドして実際に書き込んで使用したことはあるが、そのときは、詳細な記録を残していなかったので、今回、Jetson Nano Moduleの環境にて、U-Bootのカスタマイズ、というか、具体的に変更する必要のあるネタは今のところないので、とりあえず、自分でビルドしてそれを使ってみるとして、その記録をここに残す。 | Jetson TX2 NX Moduleで、U-BootのTX2 NX向けバージョンのバグを修正する必要に迫られて、一度、U-Bootを自分でビルドして実際に書き込んで使用したことはあるが、そのときは、詳細な記録を残していなかったので、今回、Jetson Nano Moduleの環境にて、U-Bootのカスタマイズ、というか、具体的に変更する必要のあるネタは今のところないので、とりあえず、自分でビルドしてそれを使ってみるとして、その記録をここに残す。 | ||
| - | |||
| ## U-Bootのビルド | ## U-Bootのビルド | ||
| 行 70: | 行 69: | ||
| ``` | ``` | ||
| - | 無事にmakeできたっぽい。(っぽいと書くのは、もちろん、単にmakeしただけだから) | + | 無事にmakeできたっぽい。(っぽいと書くのは、もちろん、単にmakeして、エラーらしきメッセージが出なかっただけだから) |
| + | |||
| + | ちなみに、32.6.1のときのTX2 NX向けのバグだったところをみると、 | ||
| + | |||
| + | ``` | ||
| + | $ grep kernel_addr_r_size include/ | ||
| + | " | ||
| + | ``` | ||
| + | |||
| + | と、この32.7.1ではちゃんと修正されていることが確認できた。 | ||
| + | |||
| + | まだカスタマイズまではいかず。。。 | ||
| + | |||
| + | (2022/ | ||
| + | |||
| + | 2022/ | ||
| + | |||
| + | ひとまず、U-Bootのデフォルトのブート順序を変更してみる。 | ||
| + | |||
| + | U-Bootのソース内、include/ | ||
| + | |||
| + | ``` | ||
| + | /*#define BOOT_TARGET_DEVICES(func) | ||
| + | func(MMC, mmc, 1) \ | ||
| + | func(MMC, mmc, 0) \ | ||
| + | func(USB, usb, 0) \ | ||
| + | func(NVME, nvme, 0) \ | ||
| + | func(PXE, pxe, na) \ | ||
| + | func(DHCP, dhcp, na)*/ | ||
| + | #define BOOT_TARGET_DEVICES(func) \ | ||
| + | func(NVME, nvme, 0) \ | ||
| + | func(MMC, mmc, 1) \ | ||
| + | func(MMC, mmc, 0) \ | ||
| + | func(USB, usb, 0) \ | ||
| + | func(PXE, pxe, na) \ | ||
| + | func(DHCP, dhcp, na) | ||
| + | ``` | ||
| + | |||
| + | これでmake。 | ||
| + | " | ||
| + | |||
| + | ``` | ||
| + | $ sudo ./flash.sh -k LNX jetson-nano-devkit-emmc mmcblk0p1 | ||
| + | ``` | ||
| + | |||
| + | とやるが、初期状態では無理のようで、一旦は、全体的にflash、つまり、 | ||
| + | |||
| + | ``` | ||
| + | $ sudo ./flash.sh -r jetson-nano-devkit-emmc mmcblk0p1 | ||
| + | ``` | ||
| + | |||
| + | と実行。 | ||
| + | これで、デバッグシリアルから手動でブート順序をSSD優先に変更することなく、そのままデフォルトでSSDからブートできたみたい。OK。 | ||
| + | |||
| + | (2023/ | ||
| + | |||
| + | 今日は、SPI通信ができなくなったJetson Nanoに対して、U-Bootのバージョンを変更してみることにより、SPIが復活するかどうかをみていく。 | ||
| + | |||
| + | というのは、SPI通信が突如できなくなったJetson Nanoに対して、SDK Managerにて初期化してSPIが復活した個体(Jetson Nano # | ||
| + | |||
| + | 今回、R32.7.3をベースに作業してみているので、以下のページを参照。 | ||
| + | |||
| + | https:// | ||
| + | |||
| + | Downloading and Building U-Bootで、まず、U-bootをダウンロード。 | ||
| + | |||
| + | ``` | ||
| + | $ git clone -n git:// | ||
| + | $ git checkout -b jetson_nano_u-boot_customization tegra-l4t-r32.7.1 | ||
| + | $ make distclean | ||
| + | $ make p3450-0000_defconfig | ||
| + | $ make | ||
| + | $ cp u-boot{, | ||
| + | $ sudo ./flash.sh -k LNX jetson-nano-qspi-sd mmcblk0p1 | ||
| + | ``` | ||
u-bootのカスタマイズ.1661308308.txt.gz · 最終更新: 2022/08/24 11:31 by makotoa67