Первое что нам понадобится, это скачать последние исходники. Для этого заходим на страницу https://dev.openwrt.org/wiki/GetSource и видим, что последнюю версию нужно скачивать из GIT.
Создадим папку в домашней директории и скачаем исходники: mkdir owrt cd owrt git clone git://git.openwrt.org/openwrt.git
Перейдём в каталог openwrt и обновим
пакеты
cd openwrt/ ./scripts/feeds update -a ./scripts/feeds install -a
Теперь выполним ещё несколько проверок и запустим n-curses интерфейс для выбора необходимых опций.
make defconfig make prereq make menuconfigТут мы сразу выберем Target Profile -'TP-LINK Archer C5/C7'. Target System оставляем без изменений - “Atheros AR7xxx/9xxx”.
Теперь настроим поддержку USB для всяких mass-storage девайсов.
> Base system <*> block-mount > Kernel modules > Block Devices <*> kmod-scsi-generic > Kernel modules > Filesystems <*> kmod-fs-ext4 > Kernel modules > USB Support -*- kmod-usb-storage <*> kmod-usb-storage-extrasТут уж кто что использует - то и выбирает.
Обязательно проверьте наличие ath10k драйвера, иначе AC диапазон будет недоступен.
> Kernel modules > Wireless Drivers <*> kmod-ath10k
Если вы собираетесь ставить OwnCloud (лучше не стоит) включите поддержку Native language support:
> Kernel modules > Native Language Support <*> kmod-nls-utf8. > Global build settings [*] Compile with full language support
Также в настройках можно включить поддержку веб-интерфейса Luci и сразу русифицировать его:
> LuCI > 1. Collections <*> luci > LuCI > 2. Modules > Translations <*> Russian (ru)
Посмотрите тут также вкладку 3. Applications. Лично я тут включаю WoL, Transmission, openvpn и samba.
> LuCI > 3. Applications <*> luci-app-openvpn <*> luci-app-transmission <*> luci-app-wol <*> luci-app-sambaДля transmission также не помешает включить поддержку Web интрефейса:
> Network > BitTorrent <*> transmission-webПлюс установим сам OpenVPN :
> Network > VPN <*> openvpn-easy-rsa <*> openvpn-opensslТеперь выходим из настроек сохраняя созданный нами конфиг.
Перед непосредственным началом компиляции у нас есть возможность добавить все необходимые конфиг-файлы в будущую систему. Для этого в этой же директории создайте каталог ./files/ и поместите свои файлы в соответсвующие поддиректории. Например файл network с настройками сети следует поместить в ./files/etc/config/network.
Теперь всё готово к компиляции. Запустим её коммандой
make -j9 V=s
Когда сборка завершится, нам останется только загрузить прошивку на маршрутизатор. Тут есть несколько вариантов, но я копировал её по scp на внешний HDD и оттуда уже запускал обновление системы.
scp /home/USERNAME/owrt/openwrt/bin/ar71xx/openwrt-ar71xx-generic-archer-c7-v2-squashfs-factory.bin root@192.168.1.1:/mnt/точка_монтирования/ sysupgrade -v /mnt/точка_монтирования/openwrt-ar71xx-generic-archer-c7-v2-squashfs-factory.binПосле этого я запускал "mtd -r erase rootfs_data", но позднее обнаружил более правильный метод обновления - коммандой
mtd -r write /mnt/точка_монтирования/openwrt-ar71xx-generic-archer-c7-v2-squashfs-factory.bin firmware mtd -r erase rootfs_data
Теперь остаётся подключиться к роутеру по telnet и установить пароль.
telnet 192.168.1.1 passwd
Вот почти и всё. Только включим поддержку fstab, а настроить все параметры монтирования можно будет в Luci.
block detect > /etc/config/fstab /etc/init.d/fstab enable /etc/init.d/fstab start
Поздравляю! Теперь у нас есть свой OpenWRT с фичами плюшками :)
p.s. рекомендую также сразу раскрасить приглашение коммандной строки изменив переменную среды PS1. Делается это в файле /etc/profile, а строка должна выглядеть примерно так:
export PS1='\[\033[01;31m\]\h\[\033[01;34m\] \W \$\[\033[00m\] '
После того как отработал make, в папке bin/ar71xx вижу кучу образов но не вижу чего-то вроде ...-squashfs-factory.bin с названием чипсета.
ОтветитьУдалитьЧто сделал не так?! Подскажешь??
После того, как make отработал, посмотри этот файл в папке bin/ar71xx/
Удалитьиз того что там насобиралось с названием чипсета и версией я вижу только openwrt-ar71xx-generic-tl-mr3220-v2-initramfs-kernel.bin, остальное все типа ..generic-vmlinux.bin, uImage и прочее... что из них прошивка?! или в параметрах сборки чего-то нехватает?
УдалитьПрошивка из них openwrt-ar71xx-generic-tl-mr3220-v2-squashfs-factory.bin . Подозреваю, что в menuconfig не был выбран 'Target Profile (TP-LINK TL-MR3220)'. Собрал ради интереса - у меня всё на месте. Синопсис:
Удалитьололошка@пк ~ $ cd /tmp/
ололошка@пк /tmp $ mkdir owrt
ололошка@пк /tmp $ cd owrt/
ололошка@пк /tmp/owrt $ git clone git://git.openwrt.org/openwrt.git
ололошка@пк /tmp/owrt $ cd openwrt/
ололошка@пк /tmp/owrt/openwrt $ cd scripts/
ололошка@пк /tmp/owrt/openwrt/scripts $ ./feeds update -a
ололошка@пк /tmp/owrt/openwrt/scripts $ cd ..
ололошка@пк /tmp/owrt/openwrt $ make defconfig
ололошка@пк /tmp/owrt/openwrt $ make prereq
ололошка@пк /tmp/owrt/openwrt $ make menuconfig
Ставлю Target Profile
ололошка@пк /tmp/owrt/openwrt $ make -j9
ололошка@пк /tmp/owrt/openwrt $ ls bin/ar71xx/|grep mr3220 |grep v2
openwrt-ar71xx-generic-tl-mr3220-v2-squashfs-factory.bin
openwrt-ar71xx-generic-tl-mr3220-v2-squashfs-sysupgrade.bin
Этот комментарий был удален автором.
УдалитьРазобрался. Как оказалось, для всех пакетов, что я отметил, не хватало места, вот образ и не создавался. Увидел ошибку при запуске make V=99
УдалитьЕще вот вариант:
make V=99 2>&1 | tee build.log | grep -i error
С записью лога в файл, там удобнее отловить ошибку.