+7(952) 531-56-65

out4ru@gmail.com

Демонстрационный сайт » Статьи » Статья 12. Сборка OpenWRT для O4-iMX287-NANO

Статья 12. Сборка OpenWRT для O4-iMX287-NANO


Описание


Данная статья создана в ответ на многочисленные вопросы по использованию OpenWRT с модулями O4-iMX287-NANO/EV-iMX287-NANO/EV-iMX287-SODIMM. 

Что потребуется:
1. Компьютер с ОС Линукс с доступом в интернет (или виртуальная машина)
2. Компьютер с ОС Windows с утилитой MFGTool, для записи скомпилированных файлов в модуль O4-iMX287-NANO
3. Сам модуль с материнской платой. Для своих опытов мы использовали несущую плату O4-IMX-NANO  и модуль O4-IMX287-NANO
4. Переходник USB-UART и терминальная программа (тут можете использовать ту ОС которая вам ближе и удобнее)

Что получитcя в итоге:
  • ядро Linux версии 5.4
  • файл описания аппаратуры o4-imx287-nano.dtb
  • загрузчик u-boot.sb версии 2020.01
  • Архив с файловой системой OpenWRT - openwrt-mxs-o4-imx287-nano-rootfs.tar.gz

Главное, выполняйте все как описано ниже и через час все соберется. 

Поставим пакеты

sudo apt update
sudo apt-get install git openssl unzip binutils flex bison autoconf gettext texinfo sharutils subversion libncurses5-dev ncurses-term zlib1g-dev gawk build-essential libssl-dev
sudo apt-get install subversion g++ zlib1g-dev build-essential python python3 python3-distutils libncurses5-dev file libssl-dev wget libelf-dev ecj fastjar java-propose-classpath
sudo apt-get install libncursesw5-dev  libgnutls-dane0


Начинаем. Перейдем в каталог /home/USER/MyProject в котором мы обычно что-нибудь компилируем, склонируем из гита последнюю версию OpenWRT и перейдем в ее каталог:
cd /home/USER/MyProject
git clone https://git.openwrt.org/openwrt/openwrt.git
cd openwrt/

Загрузите этот архив в каталог openwrt (архив содержит в себе все необходимые файлы для O4-iMX287-NANO) - openwrt-o4-imx287-nano.tar.bz2

wget http://out4.ru/download/openwrt-o4-imx287-nano.tar.bz2

и распакуйте его

tar xvjf openwrt-o4-imx287-nano.tar.bz2

Зайдем в менюконфиг 

make menuconfig

И в Target System выберем Freescale i.MX23/i.MX28, а в Target Profile плату Out4 O4-iMX287-NANO


Теперь перейдем в Image configuration -> Separate feed repositories -> Enable feed luci 


Выйдем сохранив конфигурацию под каким-нибудь именем Save -> o4-config -> Ok


и выполним вот эти два скрипта:

./scripts/feeds update -a
./scripts/feeds install -a

снова выполним менюконфиг

make menuconfig

Теперь в разделах меню должен появиться пункт LuCI -->



Зайдем в него, далее Collections и выберем luci (LuCI interface with Uhttpd as Webserver (default)). Это создаст веб интерфейс, с помощью которого можно будет конфигурировать OpenWRT на плате. 


Выходим сохранив изменения и начинаем сборку набрав

make V=s

Результатом сборки будут файлы:
uImage
o4-imx287-nano.dtb
u-boot.sb
openwrt-mxs-o4-imx287-nano-rootfs.tar.gz




Теперь запишем их в модуль O4-iMX287-NANO. Для этого предназначена утилита MFGTool. Загрузить ее можно здесь. Она предназначена для работы с ОС Windows. Распакуйте архив в любом удобном месте. Скопируйте ваши файлы в папку \Profiles\MX28 Linux Update\OS Firmware\files\. Загляните в файл ucl.xml, который определяет стратегию записи и убедитесь, что имена файлов совпадают.
Подключите плату, установите Дип переключатель в режим загрузки USB и подайте питание. MFGTool обнаружит плату, можно нажимать кнопку Start. Процесс записи достаточно быстрый, через 1-2 минуты модуль будет записан. Устанавливаем Дип переключатель в положение NAND и нажимаем кнопку сброс. 
Лог загрузки системы:



Установим пароль в системе командой
passwd

и два раза введем желаемый пароль
По умолчанию назначается статический IP адрес 192.168.1.1, чтобы его изменить редактируем файл

vi /etc/config/network

у меня он имеет следующий вид

config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'fd06:e7d7:18de::/48'

config interface 'lan'
        option type 'bridge'
        option ifname 'eth0'
        option proto 'dhcp'
#       option ipaddr '192.168.1.1'
#       option netmask '255.255.255.0'
#       option ip6assign '60'

config interface 'eth1'
        option ifname 'eth1'
        option proto 'dhcp'

командой 

reboot

перегружаем плату, ждем 5 секунд и командой ifconfig смотрим назначенные адреса

root@OpenWrt:/# ifconfig
br-lan    Link encap:Ethernet  HWaddr 00:E0:0C:BC:E5:60
          inet addr:192.168.1.188  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::2e0:cff:febc:e560/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4455 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4041 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:880948 (860.3 KiB)  TX bytes:2372007 (2.2 MiB)

eth0      Link encap:Ethernet  HWaddr 00:E0:0C:BC:E5:60
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4559 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4047 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:977331 (954.4 KiB)  TX bytes:2372523 (2.2 MiB)

eth1      Link encap:Ethernet  HWaddr 00:04:00:00:00:01
          inet addr:192.168.2.166  Bcast:192.168.2.255  Mask:255.255.255.0
          inet6 addr: fe80::204:ff:fe00:1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:797 errors:0 dropped:0 overruns:0 frame:0
          TX packets:804 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:73348 (71.6 KiB)  TX bytes:68056 (66.4 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

root@OpenWrt:/#

Если теперь в web браузере набрать 192.168.1.188 то отобразится страничка Люси



А дальше там есть много настроек, с которыми вам предстоит разобраться!

Архив с утилитой MFGTool и собранными файлами OpenWRT.

Удачи, с уважением, команда out4)

Быстрая доставка

Безопасная оплата

Гарантия качества