Инструменты пользователя

Инструменты сайта


wiki:u3b-uboot

Это старая версия документа!


Компиляция U-Boot

Установка компилятора

Скачать/Разархивировать

wget -c https://releases.linaro.org/components/toolchain/binaries/5.4-2017.01/arm-linux-gnueabihf/gcc-linaro-5.4.1-2017.01-x86_64_arm-linux-gnueabihf.tar.xz
tar xf gcc-linaro-5.4.1-2017.01-x86_64_arm-linux-gnueabihf.tar.xz
export CC=`pwd`/gcc-linaro-5.4.1-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-

Проверить работу компилятора

${CC}gcc --version
arm-linux-gnueabihf-gcc (Linaro GCC 5.4-2017.01) 5.4.1 20161213
Copyright (C) 2015 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 v2017.03 -b tmp

Скачать и установить дополнения

wget -c https://rcn-ee.com/repos/git/u-boot-patches/v2017.03/0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch
wget -c https://rcn-ee.com/repos/git/u-boot-patches/v2017.03/0002-U-Boot-BeagleBone-Cape-Manager.patch
  
patch -p1 < 0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch
patch -p1 < 0002-U-Boot-BeagleBone-Cape-Manager.patch

Выполнить компиляцию U-Boot

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

После успешного завершения компиляции вы получите два файла MLO и u-boot.img, которые необходимо записать на SD карту.

Установка U-Boot на microSD-card

Для этих инструкций предположим, что SD карта видна в системе как /dev/sdc. Узнать имя устройства можно командой «lsblk»

export DISK=/dev/sdc

Очистка microSD

sudo dd if=/dev/zero of=${DISK} bs=1M count=10

Установка загрузчика

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

Установка U-Boot на eMMC

Создание таблицы разделов на microSD

Проверка версии sfdisk:

sudo sfdisk --version

Для версии sfdisk >= 2.26.x:

sudo sfdisk ${DISK} <<-__EOF__
4M,,L,*
__EOF__

Для версии sfdisk ⇐ 2.25.x:

sudo sfdisk --unit M ${DISK} <<-__EOF__
4,,L,*
__EOF__

Формирование разделов

Проверка версии mkfs.ext4:

sudo mkfs.ext4 -V

Для версии mkfs.ext4 >= 1.43:

sudo mkfs.ext4 -L rootfs -O ^metadata_csum,^64bit ${DISK}1

Для версии mkfs.ext4 ⇐ 1.42:

sudo mkfs.ext4 -L rootfs ${DISK}1

Монтирование карты

На большинстве операционных систем монтирование происходит автоматически, но если этого не произошло, монтируем с использованием команд:

sudo mkdir -p /media/rootfs/
sudo mount ${DISK}1 /media/rootfs/

Запись загрузчика

Скопируйте MLO/u-boot.img на загрузочный раздел

sudo mkdir -p /media/rootfs/opt/backup/uboot/
sudo cp -v ./u-boot/MLO /media/rootfs/opt/backup/uboot/
sudo cp -v ./u-boot/u-boot.img /media/rootfs/opt/backup/uboot/
wiki/u3b-uboot.1493996046.txt.gz · Последнее изменение: 2017/05/05 17:54 — alex