|
|
Оглавление
Необходимые материалыЯ использую прошивку DebWrt ревизии 116 от 22 июня 2011 года с ядром версии 2.6.34.5. Немного тухло, но в сборках с более свежими ядрами мне не удалось заставить работать интерфейс wlan0 (видимо - из-за этого), а пересобирать прошивку - лениво. Работает - и пусть работает :-) Прошивки беру с официального сайта DebWrt.
Подготовка накопителяКоманды выполняются от имени пользователя root или используется sudo. Допустим, что USB-флеш-накопитель объявлен в системе как /dev/sdb Последовательность действий следующая: Разбивка накопителя на разделы/dev/sdb1 - метка тома DEBWRT_ROOT, тип - Linux (ext3), весь объём накопителя, кроме свопа /dev/sdb2 - метка тома DEBWRT_SWAP, тип - Linux Swap, объём - 128 Мб Создание файловых систем mkfs.ext3 -L DEBWRT_ROOT /dev/sdb1 tune2fs -c 0 -i 0 /dev/sdb1 mkswap -L DEBWRT_SWAP /dev/sdb2Монтирование корневого раздела ext3 mkdir -p /mnt/debwrt mount /dev/sdb1 /mnt/debwrt cd /mnt/debwrtРаспаковка архива с корневым образом в /mnt/debwrt (/dev/sdb1) tar xjvf ~/debwrt-rootfs-mipsel-2.0-1.tar.bz2Распаковка архива с модулями ядра в /mnt/debwrt (/dev/sdb1) tar xzvf ~/debwrt-modules-brcm47xx-Broadcom-b43-2.6.34.5-angel-2.0-1.tar.gz --no-same-ownerРазмонтирование и извлечение накопителя cd sync umount /mnt/debwrt eject /dev/sdbПерейти к оглавлению Прошивка устройстваУстройство перепрошивается DebWrt-прошивкой по инструкции с сайта OpenWrt, затем необходимо перезагрузить маршрутизатор. Вариант для Шindoшs tftp -i 192.168.0.1 put debwrt-firmware-brcm47xx-squashfs.trx
Вариант для Linux atftp --trace --option "timeout 1" --option "mode octet" --put --local-file debwrt-firmware-brcm47xx-squashfs.trx 192.168.0.1 После перепрошивки действуют следующие установки по умолчанию:
При первой загрузке (в случае самостоятельной сборки образа) выполняются сервисы SSHD и telnetd При обычной загрузке
Действия после перепрошивкиНеобходимо:
nvram set et0macaddr=1c:af:f7:96:3b:0e nvram set il0macaddr=1c:af:f7:96:3b:10 nvram commit reboot Для запуска сервиса robocfg установите ENABLED=1 в файле /etc/default/robocfg, добавьте символическую ссылку от файла /etc/init.d/robocfg в /etc/rcS.d (сервис должен стартовать до службы "networking"), удалите файл /etc/network/interfaces (если это символическая ссылка) и создайте его заново. Перейти к оглавлениюИспользование NetConsolenc -l -p 6666 -uПерейти к оглавлению Дополнительные советы по настройке свежей системыСледует иметь в виду, что у свежеперепрошитого устройства на LAN-интерфейсе настроен IP-адрес 192.168.1.1/24. Если используются другие сети, то правим сетевые настройки (возможно, сеанс удалённого входа отвалится, если изменился IP-адрес). Для этого необходимо удалить /etc/network/interfaces (это симлинк на /etc/network/interfaces.firstboot), создать его с необходимым содержимым и перегрузить службу networking: rm /etc/network/interfaces touch /etc/network/interfaces cat << EOF > /etc/network/interfaces auto lo eth0 iface lo inet loopback iface eth0 inet dhcp iface wlan0 inet dhcp wpa-ssid <имя WiFi-сети> wpa-psk <ключ WiFi-сети> EOF service networking restart echo "<DNS-сервер>" > /etc/resolv.conf Изначально настроен только один пользователь - root с паролём debwrt. Из-за того, что при старте таймер времени равен нулю, то есть системные время и дата установлены на полночь 1 января 1970 года (Thu Jan 1 00:00:00 UTC 1970),то при входе ssh’ем (или telnet’ом) система потребует смену пароля. Необходимо выставить правильное время. Способ I. Применим даже с ненастроеной сетевой подсистемой. date --set="<дата> <месяц> <год> <часы>:<минуты>:<секунды>" date --set="<номер месяца>/<дата>/<год> <часы>:<минуты>:<секунды>" Примеры: date --set="16 January 2018 17:57:00" date --set="01/16/2018 17:57:00" Способ II. Правим время с помощью ntpdate (требуется доступ в сеть Интернет). Останавливаем сервис ntp и синхронизируем время с любым рабочим NTP-сервером. service ntp stop ntpdate time.nist.gov service ntp start Команды hwclock -w hwclock --hctosysне сработают, так как у системы нет аппаратных часов. Меняем репозиторий с ftp.debian.org на archive.debian.org и обновляем систему: echo "deb http://archive.debian.org/debian squeeze main" > /etc/apt/sources.list apt-get update apt-get upgrade Донастраиваем систему и устанавливаем нужные пакеты: passwd hostname <имя узла> echo "<имя узла>" > /etc/hostname echo -e "127.0.0.2\t<имя узла>" > /etc/hosts apt-get install mc sudo most locales bash-completion nload htop ccze telnet wpasupplicant dpkg-reconfigure locales dpkg-reconfigure tzdata adduser <пользователь> echo -e "<пользователь>\tALL=(ALL:ALL) NOPASSWD: ALL" > /etc/sudoers apt-get install apache2 php7 mysql-serverПерейти к оглавлению |
© Павел Гладилов, 2024