ext4を起動するとu-boot bootdelay = 2、fatを起動するとbootdelay = 0

ext4を起動するとu-boot bootdelay = 2、fatを起動するとbootdelay = 0

私はBeaglebone Blackカスタムインストールでu-bootを実行し、./include/configs/am335x_evm.hを修正してデフォルトのブート遅延を0に設定しました。これは、fatパーティションからカーネルとデバイスツリーをロードするときに正しく機能します。しかし、パーティション1をfatからext4に切り替え、uEnv.txtのfatloadステートメントをext4loadに変更しました。すべてが以前のように動作しますが、2秒の開始遅延に戻ります。パーティションタイプを切り替えると、なぜこれが起こるのか理解できません。

ext4ブートパーティションを使用している場合は、u-bootを再コンパイルしてbootdelayを0にリセットする方法を知っていますか?


あるいは、saveenvを動作させる方法を見つけることができるようです。現在、以下を提供しています。

=> saveenv
Saving Environment to FAT... MMC: no card present
** Bad device mmc 0 **
Failed (1)

しかし、正直なところ、私はコンパイル時にデフォルト値を変更したいと思います。

ベストアンサー1

PCにARMクロスコンパイラGCCをダウンロードしてください。

wget -c https://releases.linaro.org/components/toolchain/binaries/6.4-2017.11/arm-linux-gnueabihf/gcc-linaro-6.4.1-2017.11-x86_64_arm-linux-gnueabihf.tar.xz
tar xf gcc-linaro-6.4.1-2017.11-x86_64_arm-linux-gnueabihf.tar.xz
export CC=**/path to**/gcc-linaro-6.4.1-2017.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-

パスが正しいことを確認してください。 /home/username/gcc-linaro/bin/arm-linux-gnueabihf- と同様のパスであるルート ディレクトリになければなりません。

クロスコンパイラをテストします。

${CC}gcc --version

正しいパスがある場合は、端末に次のものを表示する必要があります。

arm-linux-gnueabihf-gcc (Linaro GCC 6.4-2017.11) 6.4.1 20171012
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

u-boot ダウンロード

git clone https://github.com/u-boot/u-boot
cd u-boot/
git checkout v2018.01 -b tmp

パッチの取得(インターネット接続が必要)

wget -c https://rcn-ee.com/repos/git/u-boot-patches/v2018.01/0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch
wget -c https://rcn-ee.com/repos/git/u-boot-patches/v2018.01/0002-U-Boot-BeagleBone-Cape-Manager.patch
wget -c https://raw.githubusercontent.com/RobertCNelson/Bootloader-Builder/master/patches/v2018.03-rc1/0002-NFM-Production-eeprom-assume-device-is-BeagleBone-Bl.patch

u-bootパッチ

patch -p1 < 0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch
patch -p1 < 0002-U-Boot-BeagleBone-Cape-Manager.patch
patch -p1 < 0002-NFM-Production-eeprom-assume-device-is-BeagleBone-Bl.patch

構成と構築

make ARCH=arm CROSS_COMPILE=${CC} distclean
make ARCH=arm CROSS_COMPILE=${CC} am335x_evm_defconfig

u-bootフォルダに.configファイルがあり、bootdelayパラメータを編集して変更できるようになりました。立てる

make ARCH=arm CROSS_COMPILE=${CC}

SDカードをコンピュータに接続し、「lsblk」を実行してSDカードのIDを見つけます。私の場合、IDは「sdb」です。

取付ける:

export DISK=/dev/sdb
sudo dd if=./MLO of=${DISK} count=1 seek=1 bs=128k
sudo dd if=./u-boot.img of=${DISK} count=2 seek=1 bs=384k

おすすめ記事