Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Линкус на кристалле, что дальше?
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы
AiSee
Поставил я наконец-то на отладочную плату at91sam9260-ek собственно скомпиленное ядро линуха, используя при этом ту файловую систему, что шла в атмеловском примере линуха. Всё работает, даже сеть поднялась, но вот что делать дальше я не понимаю, в линуксах я нуб. Необходимо чтобы с линухом запускался драйвер девайса, сидящего на SPI, ну или хоть какая-то собственная программка. Как её скомпилить с помощью arm-elf-* ещё как-то смутно представляю, но как запихнуть её в файловую систему и заставить её запускаться вместе с линухом? 07.gif
v_shamaev
Цитата(AiSee @ Aug 8 2007, 09:52) *
Поставил я наконец-то на отладочную плату at91sam9260-ek собственно скомпиленное ядро линуха, используя при этом ту файловую систему, что шла в атмеловском примере линуха. Всё работает, даже сеть поднялась, но вот что делать дальше я не понимаю, в линуксах я нуб. Необходимо чтобы с линухом запускался драйвер девайса, сидящего на SPI, ну или хоть какая-то собственная программка. Как её скомпилить с помощью arm-elf-* ещё как-то смутно представляю, но как запихнуть её в файловую систему и заставить её запускаться вместе с линухом? 07.gif


1. Поднять на хосте tftp-сервер (хороший виндовый мне не попался, использую linux)
2. cd /tmp
3. tftp -r <file> -g <IP-хоста>
4. chmod +x <file>
5. ./<file>
AiSee
Цитата(v_shamaev @ Aug 9 2007, 13:51) *
1. Поднять на хосте tftp-сервер (хороший виндовый мне не попался, использую linux)
2. cd /tmp
3. tftp -r <file> -g <IP-хоста>
4. chmod +x <file>
5. ./<file>


Таким способом можно просто залить файл, а как записать его именно в образ файловой системы? Я пытался собрать билдрут под линухом, не удалось, но образ ФС я получил, правда ядро, скомпиленное уже другим способом, монтировать этот образ отказывается. Да, и не подскажете как заставить запускаться бинарник или скрипт при загрузке линуха? blush.gif
v_shamaev
Цитата(AiSee @ Aug 9 2007, 11:17) *
Таким способом можно просто залить файл, а как записать его именно в образ файловой системы? Я пытался собрать билдрут под линухом, не удалось, но образ ФС я получил, правда ядро, скомпиленное уже другим способом, монтировать этот образ отказывается. Да, и не подскажете как заставить запускаться бинарник или скрипт при загрузке линуха? blush.gif


1. Смотря какой образ - если ext2, то смонтировать через loop -

Чтобы подмонтировать файл как диск:

Распаковать его: gunzip myfs.ext2.gz
Подмонтировать (надо, чтобы в ядре был включен loop block device): mount -o loop myfs.ext2 /mnt
После изменений - не забываем отмонтировать !

Это из документа Сброка toolchain для ARM и запуск Linux на AT91RM9200

Что касеться билдрута - нужно собирать вот отсюда: buildroot-atmel
Сначало попробовать с конфигом по умолчанию для своеей платформы - на форуме по ссылке все написано (у меня для at91sam9261-ek - собирается и работает), собрать тулчейн, а уже потом настраивать под себя.
У меня где-то лежит описание на русском - найду - выложу.
man with no name
Цитата(AiSee @ Aug 9 2007, 07:50) *
...но как запихнуть её в файловую систему и заставить её запускаться вместе с линухом? 07.gif


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

http://free-electrons.com/doc/linux_on_new_pda.odp
может быть поможет smile.gif
там на 19-й стр. про создание initrd
AiSee
Спасибки! Я и по-английски хорошо понимаю, но я пытался именно с этого сайта билдрут и собрать, вышло, да не до конца, при попытке сделать образ линуха выдавалась какая-то ошибка, обойти которую не удалось =( А образ файловой системы .jffs2, с ним не всё так просто, правда я и не знаю, чем эта ФС лучше, по дефолту такая сделалась.

Хотя я не скриптом собирал, а вручную, наверное здесь и кроется корень моих неудач =) Спасибо за полезную ссылку, сейчас поставлю собираться это всё, надеюсь, к завтрашнему дню готово будет wink.gif
v_shamaev
Интересно, а мои ответы куда делись?
makc
Цитата(v_shamaev @ Aug 9 2007, 16:03) *
Интересно, а мои ответы куда делись?


Просто AiSee создал две темы с одинаковыми названиями. Теперь я их объединил.

2AiSee: Это называется кросспостом и запрещено правилами форума. Карается модераторами.
AiSee
А интересно, если я залью ФС на флешку, запущу линух, скину по тфтп нужные файлы, настрою софт и автозапуск, а потом прочитаю из оперативки эту ФС обратно в образ, то при последующей заливке этой ФС всё должно сохраняться?

А интересно, если я залью ФС на флешку, запущу линух, скину по тфтп нужные файлы, настрою софт и автозапуск, а потом прочитаю из оперативки эту ФС обратно в образ, то при последующей заливке этой ФС всё должно сохраняться?
v_shamaev
Цитата(AiSee @ Aug 13 2007, 08:01) *
А интересно, если я залью ФС на флешку, запущу линух, скину по тфтп нужные файлы, настрою софт и автозапуск, а потом прочитаю из оперативки эту ФС обратно в образ, то при последующей заливке этой ФС всё должно сохраняться?


Разумеется - правда, я плохо себе представляю процесс слива образа - хотя через dd можно попробовать. Но проще по-моему настроить на root-fs на nfs, там все отконфигурировать, отладить, все что надо установить, а потом сделать из этого образ для NAND-flash
KirillS
Цитата(AiSee @ Aug 13 2007, 06:01) *
А интересно, если я залью ФС на флешку, запущу линух, скину по тфтп нужные файлы, настрою софт и автозапуск, а потом прочитаю из оперативки эту ФС обратно в образ, то при последующей заливке этой ФС всё должно сохраняться?

А интересно, если я залью ФС на флешку, запущу линух, скину по тфтп нужные файлы, настрою софт и автозапуск, а потом прочитаю из оперативки эту ФС обратно в образ, то при последующей заливке этой ФС всё должно сохраняться?


Возможно, если образ ФС на флешке не compressed.
Кстати, как загрузчик осуществляет заливку ФС в память? Просто копирует флешку в RAM ?
AVR
У меня не получается собрать ядро для at91sam9260... Удаётся сконфигурировать ядро, указать ему чтоб компилил с помощью arm-linux-gcc, но после начала сборки доходит до этих строк и на этом зацикливается, т.е. бесконечно выводит следующее:
Код
  SHIPPED scripts/kconfig/zconf.tab.c
  SHIPPED scripts/kconfig/lex.zconf.c
  SHIPPED scripts/kconfig/zconf.hash.c
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/conf
scripts/kconfig/conf -s arch/arm/Kconfig
make[2]: предупреждение: Неправильный ход часов.  Сборка может быть неполной.
make[1]: предупреждение: Неправильный ход часов.  Сборка может быть неполной.
make: Warning: File `/linux-2.6.22.atmel.3/arch/arm/Makefile' has modification time 3,1e+04 s in the future
make[1]: Warning: File `/linux-2.6.22.atmel.3/arch/arm/Makefile' has modification time 3,1e+04 s in the future
make[2]: Warning: File `scripts/Makefile.host' has modification time 3,1e+04 s in the future
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/basic/docproc
make[2]: предупреждение: Неправильный ход часов.  Сборка может быть неполной.
make[2]: Warning: File `scripts/Makefile.host' has modification time 3,1e+04 s in the future
  HOSTCC  scripts/kconfig/conf.o
  HOSTCC  scripts/kconfig/kxgettext.o
  SHIPPED scripts/kconfig/zconf.tab.c
  SHIPPED scripts/kconfig/lex.zconf.c
  SHIPPED scripts/kconfig/zconf.hash.c
  HOSTCC  scripts/kconfig/zconf.tab.o

Подскажите, пожалуйста, бедному несчастному ламеру в чём может быть причина...
ЗЫ Имеется опыт сборки uClinux, но там таких эффектов не наблюдалось... Видимо что-то тут напутал, но не хватает опыта разобраться самостоятельно...
ЗЗЫ Уже разобрался... Дата была неправильно настроена...
alexander55
У меня вопрос. В какие затраты по памяти, по используемым аппаратным ресурсам обходится установка Linux. Если можно поподробнее.
vshemm
РАМ - от 2мб, лучше от 8мб. Флеш - от 4мб. И где-то 10-15 мипсов нужно отдать на оверхед системе. Можно меньше, но придется извратиться. Примерно так.
alexander55
Цитата(vshemm @ Nov 6 2007, 20:44) *
РАМ - от 2мб, лучше от 8мб. Флеш - от 4мб. И где-то 10-15 мипсов нужно отдать на оверхед системе. Можно меньше, но придется извратиться. Примерно так.

Это не по-детски для контроллеров. biggrin.gif
Для КПК - это самое то.
Master
Цитата(alexander55 @ Nov 7 2007, 10:53) *
Это не по-детски для контроллеров. biggrin.gif
Для КПК - это самое то.

Не согласен. ARM9 потянет и не такое. Учим матчасть!
vshemm
ARM7 тоже потянет smile.gif
Master
Цитата(vshemm @ Nov 16 2007, 18:02) *
ARM7 тоже потянет smile.gif
Но полноценного Linux' а с ARM7 не будет.
ryhor
Цитата(Master @ Nov 16 2007, 18:19) *
Но полноценного Linux' а с ARM7 не будет.


Ну и почему же его не будет?
вот пример
- цитрус arm7 50(с чем то)МГц - всего то да?
- MMU есть
- 8MB RAM 4MB NOR FLASH
- Linux 2.4.x
- WEB server
- SNMP
- Microwindows GUI - LCD 320х240
- еще того сего в фоне
- все было живо в обращении и еще могло поддать гари так сказать - это про запас.

чем это не полноценный Linux? Или у вас какое то особое представление о полноценности?
Каждой задаче свое решение. Эта вот уж лет 5 как решена. А 10-12 лет назад и 386-486 компы были вполне полноценные. Так что надо с определениями решить для начала.
Master
Цитата(ryhor @ Nov 19 2007, 09:00) *
- MMU есть
Упущение с моей стороны smile.gif Не знал, что есть ARM'ы 7ые с аппаратным MMU.
А горячиться вовсе не обязательно.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.