Установка Debian на Netgear Stora

Процесс установки взят c форума OpenStora с небольшими дополнениями.
Обновления установочных файлов, если таковые будут, также см. в форуме:

В данном варианте установке вся система включая kernel будет расположена на HDD.
По сравнению с вариантом размещения всего на nand flash, в данном случае отпадают проблемы
с размером скачиваемых пакетов.
Образы в nand flash не перезаписываются, таким образом можно вернуть обратно исходную
систему изменением параметров в загрузчике.

Ну и на всякий случай:

Отказ от ответственности:
Используйте данную инструкцию на свой страх и риск. Автор не несет никакой ответственности за причиненный прямой 
или косвенный ущерб в результате применения инструкций из этой статьи.

Я обычный пользователь в Linux, поэтому прошу больно не пинать в случае чего :)
Дополнения и замечания крайне приветствуются.

К сожалению на данный момент Stora у меня отсутствует, так как чёрт меня дернул обновить загрузчик.
Не повторяйте моих ошибок :) В итоге вместо Stora был собран NAS на ubuntu.
Поэтому не на все вопросы смогу ответить.

Подготовка к установке системы

Получение доступа к консоли

Итак, первое что потребуется, это Serial кабель для доступа к консоли.
Можно купить готовый переходник USB-Serial (например http://www.masterkit.ru/main/set.php?code_id=221247
или переделать какой-нибудь старый Data кабель для телефона, такой как Nokia DKU-5. 
Необходимо чтобы уровни сигнала были не больше 3.3В, иначе плата выйдет из строя!

Далее надо разобрать Stora. Никаких пломб там нет, при аккуратной разборке гарантия не пропадёт.
Процесс разборки примерно такой:
1. Необходимо снять переднюю крышку.
2. Открутить винты, снять переднюю металлическую стенку и отсоединить кабель.
3. Сдвинуть и убрать правую пластмассовую стенку.
4. На задней крышке под пластиковыми рычагами находятся винты, открутите их.
5. Снизу подденьте отвёрткой 2 пластиковые защёлки (это единственное что можно сломать) 
    и с некоторым усилием отсоедините заднюю крышку.

В этой статье есть фотографии разобранного устройства:

Рядом с батарейкой находится 4-х пиновый разъём, туда как раз надо подключать serial кабель.
Назначение выводов, начиная от ближайшего к батарейке: GND, TX, RX.

Вот хорошие иллюстрации по изготовлению кабеля:

После того как подсоединили кабель и установили драйверы порта, надо запустить программу терминала.
Под windows можно использовать Putty: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Настройки порта: скорость 115200, число бит 8, стоповых бит 1, без контроля четности.

Подготовка установочных файлов

Есть два варианта установки системы: с помощью usb flash и tftp сервер.
Далее при описании установки будут приведены команды для обоих вариантов.

Для варианта установки с загрузкой по tftp, необходимо поднять tftp сервер.
Под Linux можно сделать например так:
На мой взгляд установка с tftp более надёжная.

Для варианта установки с usb flash, размер первого раздела флешки должен быть меньше 2 Gb.
Соответственно либо ищите старую флешку такого размера, либо можно под Linux
разбить флешку на разделы и первый сделать например 128 Мб.
Файловую систему лучше сделать FAT, но можно загружать и с ext2.

Теперь необходимо скопировать все 4 ниже перечисленных файла на флешку или в каталог tftp:

Образы для установки системы:
kernel image: http://dl.dropbox.com/u/1397036/stora_di/uImage.di
initrd image: http://dl.dropbox.com/u/1397036/stora_di/uInitrd.di

Образы для первоначальной загрузки после установки:
kernel image: http://dl.dropbox.com/u/1397036/stora_di/uImage
initrd image: http://dl.dropbox.com/u/1397036/stora_di/uInitrd

Описание процесса установки

Так как установка будет на HDD, не забудьте установить жесткий диск в первый слот Stora.
Вся информация на жестком диске в процессе установки будет уничтожена (в стандартом варианте установки)!
Если установка будет с помощью флешки, то перед включением вставьте флешку в USB разъём.

При установке пакеты скачиваются из интернета, соответственно необходимо подключение Stora к сети.

Теперь включаем Stora и наблюдаем в терминале процесс загрузки.
Когда увидите надпись Press any key... нажимайте любую клавишу для входа в загрузчик u-boot.
Появится приглашение Marvell>> Теперь можно начинать установку.

Для выполнения команды в загрузчике после набора текста надо нажать Enter.
Команды вводятся последовательно по строчкам.

При изменении параметров среды старайтесь не допускать ошибок! В некоторых случаях некорректное изменение параметров
может привести к переполнению Environment области данных и невозможности дальнейшего изменения параметров!
Никогда не используйте команду resetenv, это приведёт к полной неработоспособности загрузчика!

Посмотреть текущие параметры среды можно командой printenv
Список всех команд загрузчика можно получить выполнив команду help

Если устанавливаете с флешки, выполните:
usb reset

Должен появиться список устройств USB и список носителей (storage).
Проверьте что флешка нормально читается, для этого выведем список файлов:
fatls usb 0

Установим переменные среды для загрузки Custom OS:
setenv mainlineLinux yes
setenv arcNumber 2743

Далее выполняем настройку параметров сети. 
Адреса сервера и Stora замените на свои.

Назначаем ip адрес Stora:
setenv ipaddr 192.168.1.2

Устанавливаем адрес tftp сервера:
setenv serverip 192.168.1.1

Записываем параметры в nand:
saveenv

Перезагружаем:
reset

После перезагрузки надо снова войти в загрузчик (Press any key...).
Загружаем в память образы для установки системы. 

Для варианта установки по tftp выполните:
tftpboot 0x200000 uImage.di
tftpboot 0x800000 uInitrd.di

Для варианта установки с флешки (FAT) выполните:
fatload usb 0 0x200000 uImage.di
fatload usb 0 0x800000 uInitrd.di

Если появляются сообщения Bad magic number (здесь или далее), повторите команды загрузки.
Если флешка в ext2, замените fatload на ext2load.

Теперь загружаемся в программу установки.
Выполняем:
setenv bootargs console=ttyS0,115200n8 base-installer/initramfs-tools/driver-policy=most
bootm 0x200000 0x800000

Начинается интерактивная текстовая установка Debian. В процессе установки будут стандартные вопросы о выборе языка, 
местоположения, устанавливаемых пакетов, разбивке файловой системы. 
При установке добавьте пакет ssh. Установка занимает порядка 30 мин. Необходимые пакеты скачиваются из интернета.

Сообщения об ошибках kernel и LVM надо игнорировать, т.е. выбирать продолжение установки.

После окончания установки будет выполнена перезагрузка.

Надо снова войти в загрузчик при старте (Press any key...).

Выполняем первоначальную загрузку системы.
Загрузим в память образ ядра и ram диск уже для полной системы:

Для варианта установки по tftp выполните:
tftpboot 0x200000 uImage
tftpboot 0x800000 uInitrd

Для варианта установки с флешки (FAT) выполните:
usb reset
fatload usb 0 0x200000 uImage
fatload usb 0 0x800000 uInitrd

Если флешка в ext2, замените fatload на ext2load.

Установим параметры среды так чтобы файловая система загружалась уже с жесткого диска:
setenv bootargs $(console) root=/dev/sda1
bootm 0x200000 0x800000

Загружаемся уже в Debian и заходим как root.

Выполняем следующие команды:
apt-get update
apt-get install uboot-mkimage initramfs-tools ntpdate
ntpdate-debian

Скачиваем ядро и скрипт:
wget http://dl.dropbox.com/u/1397036/stora_di/linux-image-2.6.33-2-kirkwood_kirkwood.1.1_armel.deb
wget http://dl.dropbox.com/u/1397036/stora_di/stora-flash

Устанавливаем ядро на жесткий диск:
dpkg -i linux-image-2.6.33-2-kirkwood_kirkwood.1.1_armel.deb
chmod 744 ./stora-flash
cd /boot
/root/stora-flash -i vmlinuz-2.6.33-2-kirkwood -r initrd.img-2.6.33-2-kirkwood

Перезагрузка:
reboot

После перезагрузки опять входим в загрузчик (Press any key...) (последний раз).

Установим переменные среды так, чтобы образ ядра и файловая система автоматически загружались с жесткого диска при запуске:
setenv bootcmd_ide 'ide reset; ext2load ide 0 0x200000 /boot/uImage; ext2load ide 0 0x800000 /boot/uInitrd'
setenv bootcmd 'setenv bootargs $(console) root=/dev/sda1; run bootcmd_ide; bootm 0x200000 0x800000'

Сохранение переменных и перезагрузка:
saveenv
reset

После перезагрузки заходим в Debian как пользователь.
Попробуйте зайти с другого компьютера по ssh (через Putty например) чтобы убедиться что сервер ssh работает.
Теперь можно отсоединять serial кабель, убрать установочную usb флешку. tftp сервер тоже больше не нужен.

Вот и всё! 
Comments