Это старая версия документа!
Содержание
Компиляция 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/