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

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


wiki:u3b-uboot

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
Последняя версияСледующая версия справа и слева
wiki:u3b-uboot [2017/05/05 13:47] – создано alexwiki:u3b-uboot [2017/05/05 17:54] – [U-Boot] alex
Строка 1: Строка 1:
 ====== Компиляция U-Boot ====== ====== Компиляция U-Boot ======
 ===== Установка компилятора ===== ===== Установка компилятора =====
-Скачать/Разархивировать:+**Скачать/Разархивировать**
 <code> <code>
 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 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
Строка 7: Строка 7:
 export CC=`pwd`/gcc-linaro-5.4.1-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- export CC=`pwd`/gcc-linaro-5.4.1-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-
 </code> </code>
-Проверить работу компилятора:+**Проверить работу компилятора**
 <code> <code>
 ${CC}gcc --version ${CC}gcc --version
Строка 16: Строка 16:
 </code>  </code> 
 ===== U-Boot ===== ===== U-Boot =====
-Скачать исходный код:+**Скачать исходный код**
 <code> <code>
 git clone https://github.com/u-boot/u-boot git clone https://github.com/u-boot/u-boot
Строка 22: Строка 22:
 git checkout v2017.03 -b tmp git checkout v2017.03 -b tmp
 </code> </code>
-Скачать и установить дополнения:+**Скачать и установить дополнения**
 <code> <code>
 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/0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch
Строка 30: Строка 30:
 patch -p1 < 0002-U-Boot-BeagleBone-Cape-Manager.patch patch -p1 < 0002-U-Boot-BeagleBone-Cape-Manager.patch
 </code> </code>
-Выполнить компиляцию U-Boot:+**Выполнить компиляцию U-Boot**
 <code> <code>
 make ARCH=arm CROSS_COMPILE=${CC} distclean make ARCH=arm CROSS_COMPILE=${CC} distclean
 make ARCH=arm CROSS_COMPILE=${CC} am335x_evm_defconfig make ARCH=arm CROSS_COMPILE=${CC} am335x_evm_defconfig
 make ARCH=arm CROSS_COMPILE=${CC} make ARCH=arm CROSS_COMPILE=${CC}
 +</code>
 +После успешного завершения компиляции вы получите два файла MLO и u-boot.img, которые необходимо записать на SD карту.
 +===== Установка U-Boot на microSD-card =====
 +Для этих инструкций предположим, что SD карта видна в системе как /dev/sdc. Узнать имя устройства можно командой «lsblk» 
 +<code>
 +export DISK=/dev/sdc
 +</code>
 +**Очистка microSD**
 +<code>
 +sudo dd if=/dev/zero of=${DISK} bs=1M count=10
 +</code>
 +**Установка загрузчика**
 +<code>
 +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
 +</code>
 +
 +===== Установка U-Boot на eMMC =====
 +**Создание таблицы разделов на microSD**
 +
 +Проверка версии sfdisk:
 +<code>
 +sudo sfdisk --version
 +</code>
 +Для версии sfdisk >= 2.26.x:
 +<code>
 +sudo sfdisk ${DISK} <<-__EOF__
 +4M,,L,*
 +__EOF__
 +</code>
 +Для версии sfdisk <= 2.25.x:
 +<code>
 +sudo sfdisk --unit M ${DISK} <<-__EOF__
 +4,,L,*
 +__EOF__
 +</code>
 +**Формирование разделов**
 +
 +Проверка версии mkfs.ext4:
 +<code>
 +sudo mkfs.ext4 -V
 +</code>
 +Для версии mkfs.ext4 >= 1.43:
 +<code>
 +sudo mkfs.ext4 -L rootfs -O ^metadata_csum,^64bit ${DISK}1
 +</code>
 +Для версии mkfs.ext4 <= 1.42:
 +<code>
 +sudo mkfs.ext4 -L rootfs ${DISK}1
 +</code>
 +**Монтирование карты**
 +
 +На большинстве операционных систем монтирование происходит автоматически, но если этого не произошло, монтируем с использованием команд:
 +<code>
 +sudo mkdir -p /media/rootfs/
 +sudo mount ${DISK}1 /media/rootfs/
 +</code>
 +**Запись загрузчика**
 +
 +Скопируйте MLO/u-boot.img на загрузочный раздел
 +<code>
 +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/
 </code> </code>
wiki/u3b-uboot.txt · Последнее изменение: 2017/05/05 17:56 — alex