скомпилировать ядро ​​2.6.21 для MIPS32

Может ли кто-нибудь помочь мне скомпилировать ядро ​​2.6.21 для mips32 acrh? Пожалуйста, дайте мне знать, какую опцию / опции мне следует выбрать в make menuconfig. У меня установлен набор инструментов, а целевая плата - это система с прямым порядком байтов.

Заранее спасибо, Сувик


person Souvik    schedule 30.12.2010    source источник
comment
Это во многом зависит от деталей вашей целевой платы ... у вас есть предыдущая конфигурация ядра Linux для нее? Если вы полностью в недоумении, я считаю, что пакеты маршрутизатора DDWRT / OpenWRT представляют собой встроенный Linux MIPS, конфигурацию которого вы можете позаимствовать в качестве удаленной отправной точки, но вам, вероятно, придется проделать большую работу, чтобы разработать конфигурацию, которая работает для оборудования вашей платы. Обычно первоначальной целью было бы получить стабильную (если не обязательно полную скорость) среду обработки с обновлением и отображением DRAM, а также заставить работать драйвер последовательного порта, чтобы вы могли видеть сообщения о ранней загрузке.   -  person Chris Stratton    schedule 30.12.2010
comment
Также может понадобиться подумать о загрузке и перепрошивке - у вас есть uboot? Что-то специфичное для чипа в способе начальной загрузки? Есть так много над чем подумать, если вы делаете это с нуля, вам лучше найти рабочую конфигурацию для вашей платы или аналогичную, даже если для более старого ядра Linux.   -  person Chris Stratton    schedule 30.12.2010
comment
Спасибо за ответ. Разрешите уточнить свои требования. Мне нужно скомпилировать модуль ядра для моей целевой платформы с ядром 2.6.21. Если я запускаю команду file в каком-либо другом модуле, который успешно работает в целевой системе, он показывает, что 32-разрядный LSB ELF перемещаемый, MIPS, MIPS32 версии 1 (SYSV), не удаляется.   -  person Souvik    schedule 30.12.2010
comment
Я загрузил ядро ​​2.6.21, обновил $ ARCH и $ CROSS_COMPILE и скомпилировал ядро. Теперь, когда я указываю этот исходный путь ядра в моем make-файле модуля, он создает модуль, предназначенный для MIPSIII и MSB. В linux-2.6.21 / .config не заданы параметры CONFIG_MIPS32 и CONFIG_LITTLE_ENDIAN. Поэтому я подумал, что мне нужно настроить ядро ​​(по крайней мере, изменить эти два параметра), прежде чем строить свой модуль для этого ядра. Я правильно думаю? Если нет, то каким должен быть мой подход?   -  person Souvik    schedule 30.12.2010
comment
Кроме того, дайте мне знать, можно ли указать эти две опции (mips32 и 'little endian') в моем файле Makefile модуля. Какая тогда была бы линия сборки?   -  person Souvik    schedule 30.12.2010
comment
Ядро linux настраивается файлом с именем .config в каталоге верхнего уровня и редактируется с помощью различных инструментов, таких как make menuconfig. Если у вас уже есть ядро, работающее на вашей плате, вы можете попытаться найти его файл конфигурации, например, стало обычной (но не универсальной) практикой иметь сжатую копию файла .config как /proc/config.gz в работающая система   -  person Chris Stratton    schedule 31.12.2010


Ответы (1)


Наконец я решил проблему. В моей конфигурации ядра выбор машины был неправильным, поэтому флаг MIPS32, LITTLE_ENDIAN не был установлен в конфигурации. После нескольких попыток мне удалось выбрать правильный вариант, и теперь я могу собрать свой модуль с этими конфигурациями. Большое спасибо за помощь.

Спасибо, Сувик

person Souvik    schedule 02.01.2011