24.06.2014 Настройка и ресурсы Xilinx ZYNQ ZC702
Ustinov (обсуждение | вклад) |
Ustinov (обсуждение | вклад) |
||
Строка 65: | Строка 65: | ||
== Модификация FS == | == Модификация FS == | ||
+ | * Изменения FS скачанного выше релиза. | ||
+ | Необходимо развернуть образ FS из обертки u-boot. Для этого следует пропустить первые 64 байта: | ||
+ | <source lang="bash"> | ||
+ | dd if=uramdisk.image.gz bs=64 skip=1 of=ramdisk.image.gz | ||
+ | </source> | ||
+ | Теперь разархивируем полученный архив в папку: | ||
+ | <source lang="bash"> | ||
+ | mkdir ./tmp_mnt/ | ||
+ | gunzip -c ramdisk.image.gz | sudo sh -c 'cd ./tmp_mnt/ && cpio -i' | ||
+ | cd ./tmp_mnt | ||
+ | </source> | ||
+ | Далее выполняем нужные изменения и снова запечатываем в архив: | ||
+ | <source lang="bash"> | ||
+ | sh -c 'cd ./tmp_mnt/ && sudo find . | sudo cpio -H newc -o' | gzip -9 > new_initramfs.cpio.gz | ||
+ | </source> | ||
+ | Теперь необходимо образ "завернуть" в u-boot: | ||
+ | <source lang="bash">mkimage -A arm -T ramdisk -C gzip -d new_initramfs.cpio.gz uramdisk.image.gz</source> | ||
+ | Образ готов для загрузки как с SD, так и с QSPI Flash. | ||
+ | |||
+ | *Модификация стандартной FS | ||
Качаем FS по-умолчанию: [http://www.wiki.xilinx.com/file/view/arm_ramdisk.image.gz/419243558/arm_ramdisk.image.gz RamDisk]. | Качаем FS по-умолчанию: [http://www.wiki.xilinx.com/file/view/arm_ramdisk.image.gz/419243558/arm_ramdisk.image.gz RamDisk]. | ||
Распаковываем его: | Распаковываем его: | ||
Строка 76: | Строка 96: | ||
</source> | </source> | ||
Делаем нужные изменения. | Делаем нужные изменения. | ||
− | + | Размонтируем и запаковываем: | |
<source lang="bash"> | <source lang="bash"> | ||
sudo umount tmp_mnt/ | sudo umount tmp_mnt/ | ||
gzip ramdisk.image | gzip ramdisk.image | ||
</source> | </source> | ||
− | + | Соответственно, для загрузки в железку данный образ должен быть "обернут" в U-Boot: | |
<source lang="bash">mkimage -A arm -T ramdisk -C gzip -d ramdisk.image.gz uramdisk.image.gz</source> | <source lang="bash">mkimage -A arm -T ramdisk -C gzip -d ramdisk.image.gz uramdisk.image.gz</source> | ||
− | |||
Кроме того, можно создать изначально пустой образ и затем уже заполнять его файлами, как описано выше: | Кроме того, можно создать изначально пустой образ и затем уже заполнять его файлами, как описано выше: | ||
Строка 91: | Строка 110: | ||
tune2fs ramdisk.image -i 0 | tune2fs ramdisk.image -i 0 | ||
chmod a+rwx ramdisk.image | chmod a+rwx ramdisk.image | ||
− | |||
− | |||
− | |||
− | |||
− | |||
</source> | </source> | ||
Версия 20:27, 26 июня 2014
|
About
Как всегда для сохранения ценной информации, используем SRNS.ru. Полезная информация для ZYNQ не станет исключением.
Запуск Linux с карты памяти
Готовые релизы Linux можно найти по данной ссылке. Выберем релиз 2014.2, т.к. он основа на ядре 3.14, к которому применим preempt_rt патч. Распаковываем архив:
Подготавливаем карту памяти как в этой статье. Из скачанного архива 2014.2-release.tar.xz на карту памяти копируем следующие файлы:
- boot.bin
- uImage
- devicetree.dtb
- uramdisk.image.gz
Карточку вставляем в ZYNQ, джамперы (SW16) выставляем в комбинацию 00110, что выглядит как:
На компе запускаем скрипт:
set line /dev/ttyUSB0
set FLOW none
set speed 115200
set serial 8n1
SET CARRIER-WATCH Off
connect
Включаем плату и видим загрузку Linux. Для логина используем Username & Password: root.
Прошиваем Linux в QSPI Flash
После загрузки Linux с карты памяти, примонтируем её:
Далее вводим команду:
Видим следующее:
mtd0 отведен для boot.bin
mtd1 отведен для uImage
mtd2 отведен для devicetree.dtb
mtd3 отведен для uramdisk.image.gz
Соответственно, переходим в подмантированную папку /mnt и вводим следующие команды для записи:
flashcp -v uImage /dev/mtd1
flashcp -v devicetree.dtb /dev/mtd2
flashcp -v uramdisk.image.gz /dev/mtd3
- Чтобы грузиться с QSPI Flash необходимо переключить джамперы (SW16) в комбинацию 00010.
Модификация FS
- Изменения FS скачанного выше релиза.
Необходимо развернуть образ FS из обертки u-boot. Для этого следует пропустить первые 64 байта:
Теперь разархивируем полученный архив в папку:
gunzip -c ramdisk.image.gz | sudo sh -c 'cd ./tmp_mnt/ && cpio -i'
cd ./tmp_mnt
Далее выполняем нужные изменения и снова запечатываем в архив:
Теперь необходимо образ "завернуть" в u-boot:
Образ готов для загрузки как с SD, так и с QSPI Flash.
- Модификация стандартной FS
Качаем FS по-умолчанию: RamDisk. Распаковываем его:
Монтируем распакованное содержимое:
mkdir tmp_mnt/
sudo mount -o loop ramdisk.image tmp_mnt/
cd tmp_mnt/
Делаем нужные изменения. Размонтируем и запаковываем:
gzip ramdisk.image
Соответственно, для загрузки в железку данный образ должен быть "обернут" в U-Boot:
Кроме того, можно создать изначально пустой образ и затем уже заполнять его файлами, как описано выше:
mke2fs -F ramdisk.image -L "ramdisk" -b 1024 -m 0
tune2fs ramdisk.image -i 0
chmod a+rwx ramdisk.image
[ Хронологический вид ]Комментарии
Войдите, чтобы комментировать.