24.07.2018, 02:30 | #1 |
Member
Регистрация: 16.03.2013
Адрес: Пермь
Сообщений: 47
Вес репутации: 0 |
Запуск Debian
Всем привет!!
В мои шаловливые ручки попались железки под названием LinKit Smart7688. (Китайцы подобных девайсов сейчас много делают.) Цена приемлемая 12$. Начинка неплохая. 128 м оперативы, 32 м постоянки. Имеется слот для micro cd, USB и куча прочих интерфейсов. Проц mt7688 работает на частоте 580 мегагерц. От себя могу добавить, что LEDE/OPENWRT работает на нем замечательно, а 32 мегабайта постоянки позволяет запихать в него огромное количество пакетов, практически не оглядываясь на оставшееся место. Для всяких роботов и автоматизаций самое то. Так вот. В очередной раз понадобилось (уже на эту железку) установить нормальный Debian. Подобное я делал года три назад на MR3020 с сайта debwrt.net. Но сайт сдох (хоть у меня и остался build root с него). На AR71xx собрать получится, а на mt7688 (без крупной доработки) – нет. Я пошел упрощенным путем. Debian собираем прямо на железке с помощью debootstrap. Собираем ядро, собираем модули, заголовки. Ядро закидываем в железку, а все остальное пишем на карту памяти. Собственно я ничего не придумал, вся логика с сайта debwrt.net. Тут следующая засада. Она касается особенностей работы кэша данных и инструкций чипов mt76xx. Описано русским американцем https://vak.dreamwidth.org/371179.html#comments. Да, и еще, croot меня не устраивает. Нужна нормальная система. Весь процесс сборки разделим на 2 этапа. Подготовка Debian и подготовка ядра. Хотя первый этап можно и пропустить и воспользоваться готовой сборкой …. Но мы легких путей не ищем. 1 этап. Получаем исходники… git clone git://git.openwrt.org/openwrt/openwrt.git /ДОМ/lede_trunk cd /ДОМ /lede_trunk (Естественно что ДОМ у вас будет свой..) Получаем ревизию (с другими коммитами патчи могут не подойти. Другая подверсия ядра и.т.д) git checkout 33553a11ab83c выполните ./scripts/feeds update -a ./scripts/feeds install –a Насчет этого есть небольшие проблемки. Говорят что Роскомнадзор блокирует LEDE/OPENWRT. Я сижу через http://www.vpngate.net/en/. Люди знакомые с openwrt, думаю настроят это без труда (у меня один из роутеров именно этим и занимается). Скорость и качество конечно не ахти но… что имеем. Распакуйте патч (0909-MmcPatchMt7688.patch) по пути /ДОМ/lede_trunk//target/linux/ramips/patches-4.14/ Там лежат все патчи для рамипса (для которого собираем). Удалим из /ДОМ/lede_trunk .config и .config.old Распакуем в /ДОМ/lede_trunk config.seed и переименуем его в .config В нем уже включены все необходимые пакеты необходимые для установки debian. make menuconfig Ничего не выбирая сохраняемся и выходим. И все. Собираем. Первоначальную сборку рекомендую вести в один поток. Долго – да. Зато стабильно. Да еще с записью для отлавливания косяков make V=99 2>&1 | tee logX01.txt После сборки прошиваемся. Прошивка у LinKit Smart7688 упрощена до безобразия. Просто переименовываем openwrt-ramips-mt76x8-LinkIt7688-squashfs-sysupgrade.bin в lks7688.img. Записываем это на флешку. Нажимаем пару кнопок. И все устройство записалось. (интересный загрузчик) Настраиваем подключение к интернету. Да. LuCi отсутствует. Проще делать все через WinSCP. Надеюсь интернет настроили… Теперь начинается интересное. Скажу пару слов про карты памяти. Настоятельно рекомендую использовать SanDisk. Пробовал использовать разные. На Mirex из 10-15 раз debootstrap завершился один раз, но из-за повреждений на файловой системе debian по нормальному не завелся. Кингстоны тоже показали себя не лучшим образом. Так что только SanDisk или аналогичное качественное. У меня карта на 32 г. Swap я пока использую (в качестве экспериментов). Но это отдельная тема. Для начала отформатируйте карту в ext4. Плюс 1 г swap. Гигабайт swap не нужен, но это для дальнейших экспериментов (попробую показать). Кто то может сказать что ext4 не надо использовать (или без журналирования), и я даже соглашусь, это все таки износ карты. Будем проверять карту на живучесть...!! Приступаем к установке Debian. Для проб рекомендую jessie. Можете ставить stretch. Но памяти отжирает много. #Вставляем карту. #Должно появиться устройство /dev/mmcblk0p1 #Монтируем карту mount /dev/mmcblk0p1 /mnt #запускаем debootstrap debootstrap --arch=mipsel jessie /mnt/ http://ftp.de.debian.org/debian #Все начинается установка. Совершенно необязательно использовать немецкое зеркало, но на мой взгляд работает чуток постабильнее (хоть я и патриот). #Ждем завершения установки. Следим чтобы не было ошибок. Время на эту операцию уходит 20 – 30 мин (зависит от скорости интернета). Далее буду по возможности краток. export LANG=C chroot /mnt /bin/bash #Тут уже debian через chroot #Монтируем proc mount -t proc /proc /proc mkdir /poka #Переносим три файла в /mnt/poka из SWcon.ZIP. Они содержать swconfig11 без привязки к uci. cd /poka dpkg -i *.deb cd / apt-get update apt-get install openssh-server mc sudo ntp ntpdate ## настройка часовых поясов dpkg-reconfigure tzdata ## русский язык в консоли, русская локаль ## при настройке console-cyrillic лучше выбрать, как шрифт, UniCyr, а на последний вопрос ответить «Да» apt-get install locales console-cyrillic dpkg-reconfigure locales dpkg-reconfigure console-cyrillic #дадим устройству название echo "lks7688deb" > /etc/hostname поправим через WinSCP в /etc/hosts 127.0.0.1 localhost lks7688deb ## добавление пользователя XXX, добавление его в sudo adduser XXX usermod -a -G sudo XXX ## установка пароля root passwd #настроим сеть #проще просто скопировать-добавить строки в /etc/network/interfaces auto lo iface lo inet loopback auto eth0 iface eth0 inet static pre-up swconfig dev rt305x set reset 1 pre-up swconfig dev rt305x set enable_vlan 0 pre-up swconfig dev rt305x set apply 1 pre-up ip link set dev eth0 up address 192.168.1.4 gateway 192.168.1.11 netmask 255.255.255.0 #обратите внимание, что они определяют работу коммутатора #Приведем /etc/resolv.conf search lan nameserver 127.0.0.1 nameserver 192.168.1.XX Шлюз nameserver 8.8.8.8 #И конечно /etc/fstab # /etc/fstab: static file system information. # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults 0 0 /dev/mmcblk0p1 / ext4 defaults 0 1 /dev/mmcblk0p2 none swap sw 0 0 #Пока все. Выходим из Chroot exit # И обязательно отмонтируеум proc umount -f /mnt/proc !!!!теперь наверно самое главное !!!!! переходим к следующему этапу !!!снова собираем систему git clone git://git.openwrt.org/openwrt/openwrt.git /ДОМ/lede_trunk1 cd /ДОМ /lede_trunk1 git checkout 98a6bee09a87 ./scripts/feeds update -a ./scripts/feeds install –a #также удалим .config и .config.old #произведем замену (скопируем) с всеми путями из 4.tar.gz make menuconfig make V=99 2>&1 | tee logX01.txt Все сборка закончена. Надеюсь ваше устройство еще не выключено В /tmp/build_module/my_openwrt лежат 2 файла. Их нужно распаковать на карту. Это модули ядра и заголовки Переносим их в /mnt/poka и выполняем tar xzf /mnt/poka/my_head.tar.gz -C /mnt tar xzf /mnt/poka/my_mod.tar.gz -C /mnt #выключим устройство рoweroff На карте стоит Debian. Теперь берем прошивку из bin openwrt-ramips-mt76x8-LinkIt7688-squashfs-sysupgrade.bin переименовываем в lks7688.img . Прошиваемся. Наслаждаемся своим творением. Наверно спецы могут сказать что в многих моментах поступил некорректно, но это мое первое ядернобуилдорутоковы ряние. Это я даже попытался поставить иксы. Прикол. Грузит сильно, но когда загрузит то можно даже печатать Проблема с вставкой файлов. Кое у чего размер превышает, или расширение не то. Если интересно скачаете с яндекс диска. https://yadi.sk/d/xwiKCba33ZVkio |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|