В руки попал «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 пакеты, те которые были отмечены «М».
[download id=»111″ format=»1″]
Как я могу связаться с автором темы, кто-нибудь подскажет?
например так
https://xaxatyxa.ru/obratnaya-svyaz.html
😉
*THUMBS UP*
Благодарю, помогло 😉
В начале написано «Описывать перепрошивку dir-320 со стандартной на OpenWRT буду на ходу»
Так а сам процесс прошивки полученным файлом Dir-320 где?
В стандартном процессе писано как использовать файл bin.