Различия

Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.

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

ev-imx287-micro [2013/10/24 20:04]
evodbg [Собираем OpenWRT]
ev-imx287-micro [2013/12/11 20:06] (текущий)
evodbg [Микросхема MLC NAND Flash памяти H27UAG8T2A]
Строка 1331: Строка 1331:
 ===== Собираем OpenWRT ===== ===== Собираем OpenWRT =====
 Для желающих попробовать OpenWRT. Его можно запустить на той же виртуальной машине, которая доступна для загрузки. Порядок действий: \\ Для желающих попробовать OpenWRT. Его можно запустить на той же виртуальной машине, которая доступна для загрузки. Порядок действий: \\
-1. Загружаем архив openwrt_mx28.tar.bz2 +1. Загружаем архив openwrt_mx28.tar.bz2\\ 
-2. Копируем его, например, в /home/evodbg/Projects/ev-imx287 +2. Копируем его, например, в /home/evodbg/Projects/ev-imx287\\ 
-3. Разархивируем +3. Разархивируем \\
 <code> <code>
 evodbg@evodbg:`/Projects/ev-imx287$ tar xvjf openwrt_mx28.tar.bz2 evodbg@evodbg:`/Projects/ev-imx287$ tar xvjf openwrt_mx28.tar.bz2
 </code> </code>
 4. Загружаем архив dl.tar.bz2 в папку openwrt (это всякие пакеты, чтобы не при сборке они не тянулись с интернета) \\ 4. Загружаем архив dl.tar.bz2 в папку openwrt (это всякие пакеты, чтобы не при сборке они не тянулись с интернета) \\
-5. Разархивируем  +5. Разархивируем  \\
 <code> <code>
 evodbg@evodbg:`/Projects/ev-imx287/openwrt$ tar xjvf dl.tar.bz2 evodbg@evodbg:`/Projects/ev-imx287/openwrt$ tar xjvf dl.tar.bz2
Строка 1348: Строка 1348:
  
 Ждем, в зависимости от производительности компьютера сборка может идти долго. Результатом сборки в папке openwrt/bin/mx28 будут следующие файлы:\\ Ждем, в зависимости от производительности компьютера сборка может идти долго. Результатом сборки в папке openwrt/bin/mx28 будут следующие файлы:\\
-openwrt-mx28-uImage - собранное ядро, пригодное для загрузки по сети +openwrt-mx28-uImage - собранное ядро, пригодное для загрузки по сети\\ 
-openwrt-imx28-evk.dtb - собранный dts файл платы, тоже пригодится для загрузки по сети+openwrt-imx28-evk.dtb - собранный dts файл платы, тоже пригодится для загрузки по сети\\
  
-Запускаем u-boot, задаем ему следующие параметры окружения:+Запускаем u-boot, задаем ему следующие параметры окружения:\\
 <code> <code>
 setenv serverip xxx.xxx.xxx.xxx   адрес сервера, откуда будем загружать setenv serverip xxx.xxx.xxx.xxx   адрес сервера, откуда будем загружать
Строка 1361: Строка 1361:
 res res
 </code> </code>
-После перезагрузки платы, u-boot по сети загрузит файлы openwrt-mx28-uImage и openwrt-imx28-evk.dtb и запустит ядро. Разумеется, перед этим, файловую систему (rootfs) надо положить на SD карту.+После перезагрузки платы, u-boot по сети загрузит файлы openwrt-mx28-uImage и openwrt-imx28-evk.dtb и запустит ядро. Разумеется, перед этим, файловую систему (rootfs) надо положить на SD карту.\\
 <code> <code>
 Configured for 5v only power source.            Battery powered operation disabled. Configured for 5v only power source.            Battery powered operation disabled.
Строка 1572: Строка 1572:
 </code> </code>
  
-Можно расположить ядро и файловую систему на SD карте и загружать ядро с карты. +Можно расположить ядро и файловую систему на SD карте и загружать ядро с карты.\\ 
-Загружаем архив elf2sb.tar.bz2. Распаковываем его в /openwrt/tools +Загружаем архив elf2sb.tar.bz2. Распаковываем его в /openwrt/tools\\ 
-В корень openwrt копируем два скрипта make_sb_file.sh и make_sd_card.sh. В папку /openwrt/staging_dir/target-arm_v5te_uClibc-0.9.33.2_eabi/ копируем скрипты mk_hdr.sh и mk_mx28_sd. +В корень openwrt копируем два скрипта make_sb_file.sh и make_sd_card.sh. В папку /openwrt/staging_dir/target-arm_v5te_uClibc-0.9.33.2_eabi/ копируем скрипты mk_hdr.sh и mk_mx28_sd.\\ 
-Делаем скрипты исполняемыми:+Делаем скрипты исполняемыми:\\
 <code> <code>
 chmod +x make_sb_file.sh chmod +x make_sb_file.sh
Строка 1582: Строка 1582:
 После того, как make удачно завершился, запускаем скрипт make_sb_file.sh. Он выполняет следующее - "склеивает" файлы openwrt-mx28-zImage и openwrt-imx28-evk.dtb. Затем с помощью утилиты elftosb добавляет к ним инициализацую памяти, питания и командную строку и на выходе выдает файл imx28_ivt_linux.sb.  После того, как make удачно завершился, запускаем скрипт make_sb_file.sh. Он выполняет следующее - "склеивает" файлы openwrt-mx28-zImage и openwrt-imx28-evk.dtb. Затем с помощью утилиты elftosb добавляет к ним инициализацую памяти, питания и командную строку и на выходе выдает файл imx28_ivt_linux.sb. 
 Скрипт make_sd_card.sh выполняет следующие действия - создает папку /boot в собранной файловой системе ( /openwrt/staging_dir/target-arm_v5te_uClibc-0.9.33.2_eabi/root-mx28), копирует в эту папку файл ядра imx28_ivt_linux.sb и записывает на ядро и файловую систему на SD карту с помощью скрипта mk_mx28_sd. Скрипт make_sd_card.sh выполняет следующие действия - создает папку /boot в собранной файловой системе ( /openwrt/staging_dir/target-arm_v5te_uClibc-0.9.33.2_eabi/root-mx28), копирует в эту папку файл ядра imx28_ivt_linux.sb и записывает на ядро и файловую систему на SD карту с помощью скрипта mk_mx28_sd.
-Перед запуском make_sd_card.sh убедитесь, что ваша SD карта имеет имя sdb +Перед запуском make_sd_card.sh убедитесь, что ваша SD карта имеет имя **sdb**. Иначе поправьте имя в скрипте make_sd_card.sh на ваше.\\  
 <code> <code>
 dmesg dmesg
Строка 1613: Строка 1613:
  
  
 +
 +
 +
 +==== Микросхема MLC NAND  Flash памяти H27UAG8T2A ====
 +На некоторых платах EV-iMX287-Mini может быть установлена микросхема NAND Flash Hynix H27UAG8T2A объемом 2 Гбайта.
 +С данной памятью мы использовали ядро 3 версии. Для записи в нее ядра и файловой системы можно использовать следующую методику:
 +1. Создаем загрузочную SD карту с ядром 3 версии и файловой системой.
 +2. Записываем на нее файлы ядра и архив файловой системы, которую желаем расположить в NAND Flash
 +3. Загружаемся с SD карты.
 +Выполняем:
 +<code>
 +flash_eraseall /dev/mtd0 стираем партицию mtd0
 +kobs-ng init /home/imx28_ivt_linux.sb записываем туда ядро
 +flash_eraseall /dev/mtd1  стираем партицию mtd1 
 +ubiattach /dev/ubi_ctrl -d 0 -m 1
 +ubimkvol /dev/ubi0 -N rootfs0 -m
 +mkdir -p /mnt/ubi0
 +mount -t ubifs ubi0_0 /mnt/ubi0
 +tar xvf /home/rootfs.tar -C /mnt/ubi0 распаковываем туда файловую систему
 +sync
 +sync
 +umount /mnt/ubi0 отмонтируем
 +</code>
 +Устанавливаем дип переключатели в режим загрузки с NAND Flash (0010) и подаем питание. Теперь система должна стартовать из NAND Flash.
 +Подсказка: в 3 ядре используется командная строка console=ttyAMA0 вместо ttyAM0 как во 2.
 +
 +
 +
 +
 +==== Использование планировщика cron ====
 +Для запуска программ, скриптов и т.п. удобно использовать cron
 +Для этого на плате выполняем: \\
 +<code>
 +mkdir /var/spool/cron/
 +mkdir /var/spool/cron/crontabs/
 +crontab -e
 +</code>
 +После выполнения последней команды запуститься редактор vi \\
 +Впишем задание - запускать скрипт script.sh, который лежит в /home \\
 +<code>
 +*/5 * * * * /home/script.sh
 +</code>
 +Чтобы сохранить изменения и выйти из редактора нажимаем Esc, затем : (двоеточие), w,q, кнопку Enter \\
 +Теперь каждые 5 минут будет запускаться на выполнение script.sh
  
  
ev-imx287-micro.1382634294.txt.gz · Последние изменения: 2013/10/24 20:04 — evodbg
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki