Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:0
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:4
Форум » starterkit.ru » Embedded Linux
Ставим Debian в качестве корневой системы.
Jury093
Добавлено 19.12.2013 14:37 Редактировалось 19.12.2013 14:40 Сообщение: 121
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Подцепляю раздел с развернутой файловой структурой
на SATA-диске. Гружусь с родным ядром.
# chroot /mnt/sda1
Segmentation fault

а зачем вам chroot делать? может проще сразу грузиться с корневой..
если рутовая на винте /dev/sda1, то надо в командой строке для ядра просто сказать:
Код
console=ttymxc0,115200 rw rootwait root=/dev/sda1

и этого достаточно, чтобы загрузиться..
если есть видеоподдержка, то дополнить строку своими параметрами..

команда для Uboot:
Код
setenv bootargs 'console=ttymxc0,115200 rw rootwait root=/dev/sda1'


мне сейчас "не с руки", но в первом сообщение темы внизу приаттачен архив с рутовой - по идее там д.б. Дебьян 6.0

с Дебьян 5.0 (ленни) действительно могут быть проблемы..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
unclesal
Добавлено 19.12.2013 16:41 Сообщение: 122
unclesal
0

Пункты: 590
Регистрация: 13.11.2013
Пол: Мужчина
Из: Екатеринбург
> Просто chroot делать нельзя, попробуйте так

Пробую:

# 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 ядро запустилось на платке?
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 19.12.2013 17:57 Сообщение: 123
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Что нужно сделать, чтобы собранное в qemu ядро запустилось на платке?

я как-то исторически недолюбливаю эмуляторы, соответственно qemu не знаю.. хотя много кто хвалит..
ядро для кита разумеется можно собрать как на х86 системе, так и на самой целевой плате так и в qemu..
как я понимаю - у вас есть рабочая система на qemu+rootfs, т.е. большая машина прикидывается маленькой но шустрой платой?
тогда копируете туда исходники ядра, доставляете make, gcc и прочие пакеты, необходимые для сборки ядра..
далее
make ваш-конфиг_defconfig
make menuconfig
make uImage modules

подобный фокус я делал на одном из китов - собирал ядро.. чисто из спортивного интереса прямо на ките.. собралось и запустилось..

Цитата
Говорю же, пробовал все образы, которые фигурировали в данной теме. Со стабильным результатом. По-моему, дело не в образе

если можно, приведите строку загрузки ядра - там где пишет Kernek command line или часть окружения юбута по команде printenv
у вас же ядро и его исходники от платы? у меня точно такие же исходники (вероятно более старые) и как-то все успешно грузится..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
unclesal
Добавлено 19.12.2013 18:28 Сообщение: 124
unclesal
0

Пункты: 590
Регистрация: 13.11.2013
Пол: Мужчина
Из: Екатеринбург
> большая машина прикидывается маленькой
> но шустрой платой?

Ну, я ее вообще-то собираю прямо сейчас. От безысходности: загрузиться в "человеческую" систему хочется, но не получается. По сути, если бы загрузиться с платки - виртуалка мне не нужна.
Просто в инете вычитал, что подобная ошибка на загрузке может быть вызвана тулкитом, вот и пытаюсь сделать "нативно". Тут, вроде бы как бы, грешить будет уже не на что. Может, и неправильно рою, просто не знаю, что бы еще попробовать.

> make ваш-конфиг_defconfig

Я правильно понимаю, что она при этом берет defconfig из arch/arm и просто копирует его в ./.config, то есть
мне это нужно сделать только один раз, да?

> чисто из спортивного интереса прямо на ките..
> собралось и запустилось..

Я пытался идти этим путем :-( gcc поставить не смог на платку.

> приведите строку загрузки ядра - там где
> пишет Kernek command line

Kernel command line: noinitrd console=ttymxc0,115200 ubi.mtd=1 root=/dev/sda1

Что такое ubi.mtd - я не знаю, пробовал и с ним, и без него - без разницы. Видео у меня на плате нет, работаю с консольки, так что элементы video я просто проигнорировал.

> часть окружения юбута
env - я не менял (пока еще).
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 20.12.2013 00:01 Сообщение: 125
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Я правильно понимаю, что она при этом берет defconfig из arch/arm и просто копирует его в ./.config, то есть
мне это нужно сделать только один раз, да?

да, одни раз
но если в корне исходников лежит .config, то этого делать не надо..

Цитата
> пишет Kernek command line
Kernel command line: noinitrd console=ttymxc0,115200 ubi.mtd=1 root=/dev/sda1

уберите noinitrd и ubi.mtd1 и добавьте до того, что я привел выше..

чудес не бывает - я на этой рутовой запускал с дюжину _разных_ АРМов..
выложите на pastebin.com свой конфиг - может там что видно будет..
кстати, проверьте взведенную галочку Kernel features->Use ARM EABI - мало ли сброшена

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
mdmitry
Добавлено 20.12.2013 15:52 Сообщение: 126
mdmitry
0

Пункты: 445
Регистрация: 10.10.2009
Пол: Мужчина
Цитата

make ваш-конфиг_defconfig
make menuconfig
make uImage modules



Для страховки лучше указывать целевую архитектуру явно при сборке на компьютере:
Код

make ARCH=arm


и далее, как указал Jury093
Спуститься к концу Подняться к началу
Персональная информация
unclesal
Добавлено 20.12.2013 17:21 Редактировалось 20.12.2013 17:23 Сообщение: 127
unclesal
0

Пункты: 590
Регистрация: 13.11.2013
Пол: Мужчина
Из: Екатеринбург
> я как-то исторически недолюбливаю эмуляторы
Вполне обоснованно. Неоправданная трата времени.
> т.е. большая машина прикидывается
> маленькой но шустрой платой?
Не-а. Машинка - большая, даже слишком. Но вот шустрости в прикидываемой плате - нету. Не засекал, сколько точно варится ядро, но по-любому больше часа. Против нескольких минут в случае кросс-компиллинга. А результат будет совершенно одинаковый.
> уберите noinitrd
В ядре выключено, хоть убирай, хоть не убирай - ни на что не влияет.
> и ubi.mtd1
В случае загрузки с sda1 этот параметр никак не проявляет себя, а вот в случае загрузки с nand'а без него root не найдется.
> я на этой рутовой запускал с дюжину _разных_ АРМов
У меня нет оснований Вам не верить, однако - факт: я перебрал кучу образов и кучу вариантов компиляции ядра с неизменно отрицательным результатом.
В-общем, в итоге - дебутсряпнул я его на большой машинке, из wheezy armel, перенес архивом и дальше вылизывал уже на платке. На данный момент пока еще не все устраивает, есть проблемки в скриптах инициализации небольшие, но оно уже грузится из нанда и работает. Места пока многовато занимает, но - тоже не проблема, почистим лишнее, оставим минимум миниморум.
Кстати, chroot на него из бизибокса - работает прекрасно. В том числе и с safe_mode, что, конечно же, весьма радует, телодвижений меньше в случае ошибок.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 21.12.2013 13:21 Сообщение: 128
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
В-общем, в итоге - дебутсряпнул я его на большой машинке, из wheezy armel, перенес архивом и дальше вылизывал уже на платке.

угу.. если захочется мультимедиа поддержки, то учитесь генерить рутовую на ubuntu - пригодится..
но с т.з. простоты и удобства debian, имхо, лучше..

Цитата
Кстати, chroot на него из бизибокса - работает прекрасно. В том числе и с safe_mode, что, конечно же, весьма радует, телодвижений меньше в случае ошибок.

для отладки я использую ядро для отладки и рядом кладу заведомо рабочее ядро, равно как и две рутовые - в случае закидонов всегда можно загрузится с рабочего комплекта..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 09.01.2014 10:47 Редактировалось 09.01.2014 10:47 Сообщение: 129
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Для страховки лучше указывать целевую архитектуру явно при сборке на компьютере:

make ARCH=arm

и далее, как указал Jury093

да - поправка разумная..

просто я вбил в свой профайл:
Код
export ARCH=arm

и сразу отвык писать лишнее после make..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 06.05.2014 01:56 Сообщение: 130
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
это архив с дистрибутивом Debian 7.0
сгенерен стандартным debootstrap

http://webfile.ru/8e93ef108322425b2838e72bb4877429

l/p - root/password

проверяйте/корректируйте под свою конфигурацию файлы:
/etc/inittab
/etc/fstab
/etc/network/interfaces

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux