LINUX.ORG.RU

компиляция ядра с другой платформой.

 , ,


1

1

Суть в следующем: Заказал устройство на основе AllWinner A10. Скачал и с помощью дд записал образ Debian Wheezy. Только возникла небольшая проблема. В ядре нету video4linux. Поэтому я хочу перекомпилит ядро. Но на данном устройстве это похоже займет целую вечность. Не подскажите, как мне собрать ядро для AllWinner A10 на моем большем AMD64 компьютере?

★★★

указывай при каждой команде (конфиг/сборка) ARCH=«тут архитектура твоей железяки»
но учти, твой компилятор должен уметь эту архитектуру
как-то так

megabaks ★★★★
()
Ответ на: комментарий от megabaks

а если я например сделаю так: на AllWinner я сделаю zcat /proc/config.gz > .config А потом скопирую этот файл на большой комп отредактирую с помощью menconfig и потом откомпилю?

disee ★★★
() автор топика

Надо toolchain для сборки собирать. Подробно описано в руковостве LFS (кроссплатформенный вариант).

bff7755a
()

возьми готовый кросстулчейн с emdebian.org

AptGet ★★★
()

проще всего на мощном десктопе эмулировать arm. в /etc/make.conf:

QEMU_SOFTMMU_TARGETS="x86_64 arm"
QEMU_USER_TARGETS="x86_64 arm"
ставишь qemu-user и запускаешь сервис binfmt. после этого арм бинарники будут автоматом работать через qemu

копируешь на флешку qemu-static-arm -> /usr/bin/qemu-static-arm. заходишь в chroot и компиляешь ядро. у меня fx-8150 в 8 потоков ядро компиляет со скоростью света

punya ★★
()
Ответ на: комментарий от bff7755a

ну зачем усложнять http://buildroot.uclibc.org/

а вообще как я понимаю вас интересует не самый правильный а самый простой пусть и корявый способ?

в таком случае возьмите ваш образ разархивируйте. маунт dev, sys, proc проверьте вывод uname (если вывод не соответствует тому что на борде перепишите его на шеле это 2 минуты у вас займёт) , проще говоря вам нужен цшрут а приведённый мой вариант самый простой

и потом из под этого chroota можете билдить всё что угодно

а на счёт конфига так и нужно сделать

да и по поводу ребилда кернеля дело конечно ваше... Но если у вас в кернеле есть поддержка модулей то сбилдить один модуль легче и быстрее и в принципе даже на вашей плате реально . только depmod незабываем и для выявления проблем modinfo , modprobe , dmesg вам в помощь

ror13
()
Ответ на: комментарий от ror13

просто такая проблема... ядро у меня версии 3.0.36+ на кернел.орг такого как бы нету. Насколько я понимаю это кастомная сборка. И я не знаю какое ядро они брали за основу

disee ★★★
() автор топика
Ответ на: комментарий от disee

ну и соберётся оно с тем конфигом под твой амд

megabaks ★★★★
()
Ответ на: комментарий от disee

берёш 3.0.* (28 или 29 вроде последними были) + патчсет и билдиш (версию кернеля можно руками поменять до 36) вроде когда апют 3 цифру интерфейсы глобал функций неменяются поэтому 3 цифру можно брать любой

обычно ребята юзают 3.0.[4-8] + пару патчей

если хочеш сделать имнно такое как у дебианщиков то найди пакет с их ядром и посмотри там в конфиге makefile пакета (если они конкретно этого билда пакеты(исходники для билда) не предостовляют можеш посмотреть в пакетах от х86 версии сильных отличий быть не должно, хотя обыччно исходники нарыть можно)

ror13
()

Я запускал на нем арч, вот что я делал:

Качаете тулчейн от linaro, лучше прямо бинарный, https://launchpad.net/linaro-toolchain-binaries/ download

Качаете ядро https://github.com/amery/linux-allwinner (бранч allwinner-v3.0-android-v2, не обращайте внимание на слово android), и компиляете его этим тулчейном.

Посерфите http://www.cnx-software.com/ и http://rhombus-tech.net/allwinner_a10/ тут все есть

ValdikSS ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.