Originally Posted by
ryzhov_al
Перед пунктом 4.2
How-To выполнить:
Code:
$ cd ./broadcom/src/linux/linux-2.6
$ make menuconfig
и включить нужные модули. После окончания сборки модули будут в составе готового архива модулей.
СПАСИБО, ryzhov_al
только что увидел ответ, и уже успел написать mini-howto для ребят типа меня, кто столкнулся с подобной проблемой. Вот оно
Компилирование модулей ядра
а конкретно md.ko md-mod.ko linear.ko
keywords: как скомпилировать модуль ядра компиляция модуля module compile raid md.ko md-mod.ko linear.ko
Введение.
Поменял роутер с dir-32 на rt-n16. Еще на dir-320, я поразился неродной прошивке на основе linux. Хоть и пользуюсь linux уже 10 лет, все равно остаюсь чайником - прогресс несется. Могу про себя сказать, что я уверенный пользователь linux.
От dir-320 остался usb-hub, а у меня как раз есть 2 флешки на 8гб, надо признаться медленные на запись - тестил в windows xp/victoria. Возникла потребность в одном пространстве больше, чем 8гб, для того, чтобы положить на них torrent. Мой torrent client на роутере transmission. Погуглив немного, оказалось, что мне поможет утилита mdadm и режим linear. ipkg сказал, что mdadm есть в пакетах для роутера, я улыбнулся и установил. Переразбил флешку на 2 раздела - sda1(ext3), sda2(пространство для массива). Попросил mdadm собрать массив коммандой:
Code:
mdadm --create /dev/md0 --level=linear --force --raid-devices=1 /dev/sda2
mdadm сказал, что нет такого устройства. Погуглив оказалось, что мне нужен драйвер md.ko для ядра.
Полез в пакет драйверов от моей прошивки - драйвера нет.
Искал просто сам бинарный драйвер - никто не выложил.
Гуглил интернет, обыскал весь wl500g.info на предмет компиляция модуля ядра.
Нашел чудный линк
http://code.google.com/p/wl500g/wiki...CustomFirmware
Еле-еле собрал прошивку, пару мест в этом howto. Скрипт, на выходе дает дополнительные модули + готовую прошивку(!) Очень это меня поразило. Все пакеты заняли 800МБ, а я в свое время пожадничал место для юбунты, поэтому пришлось вспоминать, как монтировать луп-девайсы, которые лежат в windows разделе. У моего старенького ноутбука заняло 25 минут, скомпилировать прошивку и модули. Но, в папке модулей md.ko не оказалось.
Опять гуглил интернет, обыскал весь wl500g.info на предмет компиляция модуля ядра.
По итогам, не нашел ничего конкретного. Самое конкретное, что попалось это вот это высказывание:
Code:
Поскольку никакой конфигурялки при сборке нет, а мне нужен дополнительный модуль (cdc_ether), то я поступил так: собрал прошивку, потом пошел в директорию с ядром, и через make menuconfig включил нужное мне. После чего пересобрал прошивку вновь.
Вот это чистая удача. Решил написать свое mini-howto для тех ребят, кому понадобится собрать модули ядра для mips, входящие в основное ядро.
У меня стоит asus rt-n16 прошивка 1.9.2.7-rtn-r2775, простенький usb hub Defender Quadro и две флешки от adata(a-data rb3 8gb и a-data pd16 8gb, обе после ремонта). Была еще A-Data C702 8gb, жалко потерял - самая быстрая на запись, что когда либо держал в руках. Ноутбук acer 5315 и ubuntu 10.10
КАК СОБРАТЬ МОДУЛЬ
Будем собирать md модули для ядра 2.6.22.19
Основная инструкция вот тут
http://code.google.com/p/wl500g/wiki...CustomFirmware
1.Берем компьютер с ubuntu10.10 на борту и загружаемся
2.Устанавливаем пакеты через Система->Администрирование->Менеджер Пакетов Synaptic
Code:
build-essential
libncurses5-dev (у меня их два разных почему-то, с одним не работало, пришлось установить и второй)
gawk
g++ (их было много разных установил просто с таким именем)
flex
bison
zlib1g-dev
subversion
3. Открывает окно консоли Приложения->Стандартные->Терминал
4. Проверяем что хвает места в домашней директори (800мб). Пишем команды в консоль без знака $(доллара) и жмем enter.
Code:
$ df -h
/dev/sda7 962M 389M 525M 43% /home
У меня осталось 525Мб - не хватит места для компиляции, я монтирую луп девайс, а Вы читайте дальше.
5. Создаем директорию в домашней папке compile и переходим в нее
Code:
$ mkdir ~/compile && cd ~/compile
6. Проходим по ссылке
http://code.google.com/p/wl500g/wiki...CustomFirmware
и скачиваем из интернета прям в эту директорию
hndtools-mipsel-uclibc-4.3.5-3.tar.bz2 (там еще лежат разные версии, мне помогла эта)
и ядро linux-2.6.22.19.tar.bz2
7. Выполняем команды:
создаем цепочку директорий
Code:
$ mkdir -p broadcom/src/linux
распаковываем код ядра
Code:
$ tar -C broadcom/src/linux -jxvf linux-2.6.22.19.tar.bz2
делаем ссылочку
Code:
$ ln -sf ~/compile/broadcom/src/linux/linux-2.6.22.19 broadcom/src/linux/linux-2.6
распаковываем Toolchain
Code:
$ tar -vxjf hndtools-mipsel-uclibc-4.3.5-3.tar.bz2
добавляем путь к Toolchain (если закроете окно консоли, путь сотрется, нужно будет повторить команду)
Code:
$ export PATH=$PATH:~/compile/hndtools-mipsel-uclibc-4.3.5/bin
получаем исходники прошивки
Code:
$ svn checkout http://wl500g.googlecode.com/svn/branches/rt-n/ ~/compile/broadcom/src/1.9.2.7-rtn
8. Сборка и компиляция
переход в папку 1.9.2.7-rtn
Code:
$ cd ~/compile/broadcom/src/1.9.2.7-rtn
сборка
Code:
$ make kernel ; make
у меня появилось:
Code:
Sources prepared for compilation
переходим в подготовленную папку с исходниками
Code:
$ cd ../linux/linux-2.6
выбираем что компилировать
Дальше по меню, мне нужно было
Device Drivers -> Multi-device support (RAID and LVM)->пробел->RAID support_пробел(чтобы буква М появилась рядом)->Linear (append) mode(M)
Жмем пробел у тех пунктов, что нужны, чтобы у них появились буквы М, это значит, что скомпилируется отдельным модулем
Когда все выбрали, что надо, жмем на пункт exit до вопроса
Do you wish to save your new kernel configuration?
жмем yes
переход в gateway
просим скомпилировать только модули
Code:
$ make kernel-modules
Дальше модули компилируются под общую гребенку. На моем стареньком ноутбуке процесс занял 8мин.
После окончания компиляции переходим обратно
Code:
$ cd ../linux/linux-2.6
и ВУАЛЯ
забираем нужные модули
На этом все. Рад, если помогло.