а зачем вам chroot делать? может проще сразу грузиться с корневой..
если рутовая на винте /dev/sda1, то надо в командой строке для ядра просто сказать:
и этого достаточно, чтобы загрузиться..
если есть видеоподдержка, то дополнить строку своими параметрами..
команда для Uboot:
мне сейчас "не с руки", но в первом сообщение темы внизу приаттачен архив с рутовой - по идее там д.б. Дебьян 6.0
с Дебьян 5.0 (ленни) действительно могут быть проблемы..
# mount --bind /dev /mnt/sda1/dev
# mount --bind /proc /mnt/sda1/proc
# mount --bind /sys /mnt/sda1/sys
# chroot /mnt/sda1
Segmentation fault
> Allow old ABI binaries to run with this kernel
Увы. Результат абсолютно тот же самый, который был приведен выше.
> может проще сразу грузиться с корневой
Я в самом первом посте написал уже, пробовал, разницы никакой, эффект тот же самый: загрузиться я не могу. Никак пока что.
> но в первом сообщение темы внизу приаттачен архив с
> рутовой - по идее там д.б. Дебьян 6.0
Говорю же, пробовал все образы, которые фигурировали в данной теме. Со стабильным результатом. По-моему, дело не в образе, а в ядре. Или в toolkit'е (собирал - на поставляющейся с платой убунтной виртуалке, сам пока здесь ничего не городил).
> и неделю можно ждать - срабатывает система
> "свой-чужой" и если ядро по переменной из юбута
> не получит правильный id, то дальше работа
> останавливается..
Можно поподробнее? Вот я запустил qemu. Поставил на нем wheezy, начальный образ был взят из armel/current/images/versatile. В нем - по-идее - я могу собрать ядро типа "нативно", без тулкитов. И перетащить его на платку. Что нужно сделать, чтобы собранное в qemu ядро запустилось на платке?
я как-то исторически недолюбливаю эмуляторы, соответственно qemu не знаю.. хотя много кто хвалит..
ядро для кита разумеется можно собрать как на х86 системе, так и на самой целевой плате так и в qemu..
как я понимаю - у вас есть рабочая система на qemu+rootfs, т.е. большая машина прикидывается маленькой но шустрой платой?
тогда копируете туда исходники ядра, доставляете make, gcc и прочие пакеты, необходимые для сборки ядра..
далее make ваш-конфиг_defconfig
make menuconfig
make uImage modules
подобный фокус я делал на одном из китов - собирал ядро.. чисто из спортивного интереса прямо на ките.. собралось и запустилось..
если можно, приведите строку загрузки ядра - там где пишет Kernek command line или часть окружения юбута по команде printenv
у вас же ядро и его исходники от платы? у меня точно такие же исходники (вероятно более старые) и как-то все успешно грузится..
> большая машина прикидывается маленькой
> но шустрой платой?
Ну, я ее вообще-то собираю прямо сейчас. От безысходности: загрузиться в "человеческую" систему хочется, но не получается. По сути, если бы загрузиться с платки - виртуалка мне не нужна.
Просто в инете вычитал, что подобная ошибка на загрузке может быть вызвана тулкитом, вот и пытаюсь сделать "нативно". Тут, вроде бы как бы, грешить будет уже не на что. Может, и неправильно рою, просто не знаю, что бы еще попробовать.
> make ваш-конфиг_defconfig
Я правильно понимаю, что она при этом берет defconfig из arch/arm и просто копирует его в ./.config, то есть
мне это нужно сделать только один раз, да?
> чисто из спортивного интереса прямо на ките..
> собралось и запустилось..
Я пытался идти этим путем :-( gcc поставить не смог на платку.
> приведите строку загрузки ядра - там где
> пишет Kernek command line
Что такое ubi.mtd - я не знаю, пробовал и с ним, и без него - без разницы. Видео у меня на плате нет, работаю с консольки, так что элементы video я просто проигнорировал.
> часть окружения юбута
env - я не менял (пока еще).
да, одни раз
но если в корне исходников лежит .config, то этого делать не надо..
уберите noinitrd и ubi.mtd1 и добавьте до того, что я привел выше..
чудес не бывает - я на этой рутовой запускал с дюжину _разных_ АРМов..
выложите на pastebin.com свой конфиг - может там что видно будет..
кстати, проверьте взведенную галочку Kernel features->Use ARM EABI - мало ли сброшена
> я как-то исторически недолюбливаю эмуляторы
Вполне обоснованно. Неоправданная трата времени.
> т.е. большая машина прикидывается
> маленькой но шустрой платой?
Не-а. Машинка - большая, даже слишком. Но вот шустрости в прикидываемой плате - нету. Не засекал, сколько точно варится ядро, но по-любому больше часа. Против нескольких минут в случае кросс-компиллинга. А результат будет совершенно одинаковый.
> уберите noinitrd
В ядре выключено, хоть убирай, хоть не убирай - ни на что не влияет.
> и ubi.mtd1
В случае загрузки с sda1 этот параметр никак не проявляет себя, а вот в случае загрузки с nand'а без него root не найдется.
> я на этой рутовой запускал с дюжину _разных_ АРМов
У меня нет оснований Вам не верить, однако - факт: я перебрал кучу образов и кучу вариантов компиляции ядра с неизменно отрицательным результатом.
В-общем, в итоге - дебутсряпнул я его на большой машинке, из wheezy armel, перенес архивом и дальше вылизывал уже на платке. На данный момент пока еще не все устраивает, есть проблемки в скриптах инициализации небольшие, но оно уже грузится из нанда и работает. Места пока многовато занимает, но - тоже не проблема, почистим лишнее, оставим минимум миниморум.
Кстати, chroot на него из бизибокса - работает прекрасно. В том числе и с safe_mode, что, конечно же, весьма радует, телодвижений меньше в случае ошибок.
угу.. если захочется мультимедиа поддержки, то учитесь генерить рутовую на ubuntu - пригодится..
но с т.з. простоты и удобства debian, имхо, лучше..
для отладки я использую ядро для отладки и рядом кладу заведомо рабочее ядро, равно как и две рутовые - в случае закидонов всегда можно загрузится с рабочего комплекта..