Собираем OpenWRT для D-link dir-320 (A2)

В руки попал «d-link dir -320» и сразу его судьба была предрешена. В ближайшем магазине по этому случаю была куплена флешка на 16 Гб, на которой мы будем хранить систему и что-нибудь ещё. Описывать перепрошивку dir-320 со стандартной на OpenWRT буду на ходу, .  Cобирать будем на ubuntu 12.04 , поэтому ядро должно быть 3.2.0. Теперь обо всем по порядку. Куплена была следующая флешка — USB2.0 Flash Kingston 16 Gb DataTraveler Micro Mini/16GB.

Собираем прошивку OpenWRT

Устанавливаем Subversion

sudo apt-get install subversion

Скачиваем последние исходники

svn co svn://svn.openwrt.org/openwrt/trunk/ openwrt

Переходим в папку со скачанными исходниками

cd openwrt

Обновляемся:

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

Cобираем tools и toolchain:

make prereq && make tools/install && make toolchain/install

Build dependency: Please install the GNU C++ Compiler (g++). Build dependency: Please install ncurses. (Missing libncurses.so or ncurses.h) Build dependency: Please install zlib. (Missing libz.so or zlib.h) Build dependency: Please install GNU awk. Build dependency: Please install flex. Build dependency: Please install git (git-core) v1.6.5 or later. Prerequisite check failed. Use FORCE=1 to override. make: *** [tmp/.prereq-build] Ошибка 1

Исправляем ошибки:

sudo apt-get install git-core g++ flex gawk libncurses5-dev zlib1g-dev

Cобираем tools и toolchain:

make prereq && make tools/install && make toolchain/install

Конфигурируем прошивку:

make menuconfig

Должны увидеть:

Для интегрирования пакетов устанавливаем <*>, если хотим включить пакет для последующей установки, но вам не нужно его интегрировать, то напротив нужного пакета установите <M>. Устанавливаем следующие пункты:

Target System (Broadcom BCM947xx/953xx)  --->  Broadcom BCM947xx/953xx

Если есть необходимость, то можете заранее произвести сетевые настройки

Image configuration  ---> Preinit configuration options  --->

Включаем модуль файловой системы ext4, при необходимости можно включить и другие

Kernel modules  ---> Filesystems  --->  kmod-fs-ext4

Устанавливаем Модуль USB, поддержку USB 2.0 и USB накопителей:

Kernel modules ---> USB Support ---> kmod-usb-brcm47xx Kernel modules ---> USB Support ---> kmod-usb-core Kernel modules ---> USB Support ---> kmod-usb-ohci Kernel modules ---> USB Support ---> kmod-usb-storage Kernel modules ---> USB Support ---> kmod-usb2

Так как мы будем систему размещать на USB, устанавливаем потдержку монтирования:

Base System ---> block-mount

Устанавливаем поддержку "utf8"

Kernel modules  --->  Native Language Support  ---> kmod-nls-utf8

Добавляем веб-админку. Необходима для первоначальных настроек (установить пароль для входа по ssh)

Administration  ---> webif ---> webif Administration  ---> webif ---> webif-applications

Устанавливаем набор утилит для поддержания файловых систем ext2, ext3 и ext4:

Utilities  ---> Filesystem  ---> e2fsprogs

Для удобства я ещё ставлю Midnight Commander (вы можете это и пропустить):

Utilities  ---> filemanager  ---> mc

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

  Конфигурируем ядро:

make kernel_menuconfig

Device Drivers ---> Memory Technology Device (MTD) support ---> RAM/ROM/Flash chip drivers ---> Flash chip driver advanced configuration options --> Specific CFI Flash geometry selection --> Support 8-bit buswidth Device Drivers  ---> Memory Technology Device (MTD) support  ---> RAM/ROM/Flash chip drivers  ---> Flash chip driver advanced configuration options --> Specific CFI Flash geometry selection --> Support  16-bit buswidth

Выходим и сохраняем конфиг

Собираем:

make V=99

Если компиляция прошла успешно (рисунок выше) прошивки будут находится в каталоге bin/brcm47xx.  Для dir-320 нужно выбрать openwrt-brcm47xx-squashfs.tx. В каталоге  bin/brcm47xx/packages находятся все собранные .ipk пакеты, те которые были отмечены "М".

Скачать: openwrt-brcm47xx-squashfs.trx (размер: 3.5 MB)
Остались или есть ещё вопросы? Задавайте!
(не забудьте указать ссылку на этот пост)




6 комментариев

  1. Black_Roland Russian Federation Mozilla Firefox Linux :

    Отличная статья, только где она раньше была :)

    Тулчейн собирается долго и его можно просто скачать. Вот, например для ar71xx: downloads.openwrt.org/sna...0.9.33.2.tar.bz2

    Попутно вопрос: compcache никто не использует? Стабильно падает?

    Ну и до кучи мой /etc/banner: fpaste.org/hpYC/ (с полезной информацией о системе). Скрин: rghost.ru/39454849.view

    Для установки chmod +x /etc/banner и заменить строку в /etc/profile на запуск этого файла.

    Thumb up 0 Thumb down 0

  2. Как я могу связаться с автором темы, кто-нибудь подскажет?

    Thumb up 0 Thumb down 0

  3. salt Russian Federation Mozilla Firefox Ubuntu Linux :

    Благодарю, помогло ;)

    Thumb up 0 Thumb down 0

  4. Roman Russian Federation Mozilla Firefox Windows :

    В начале написано «Описывать перепрошивку dir-320 со стандартной на OpenWRT буду на ходу»

    Так а сам процесс прошивки полученным файлом Dir-320 где?

    В стандартном процессе писано как использовать файл bin.

    Thumb up 0 Thumb down 0

Оставить комментарий

Установка, настройка, мониторинг и администрирование linux, unix, windows систем