ЗАО «ЗЭО»

Пожалуйста, войдите или зарегистрируйтесь.

Расширенный поиск  

Новости:

Автор Тема: Сборка ядра  (Прочитано 17772 раз)

0 Пользователей и 1 Гость просматривают эту тему.

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Сборка ядра
« Ответ #15 : 30 Августа, 2009, 15:00:21 »

> распечаталось содержимое рамдиска, а вовсе не моей флешки.

Посмотрите внимательно лог ядра, скорее всего все-равно используется ramdisk, так как ядро смогло его найти.

В U-Boot (в переменной bootcmd) выполняется копирование ramdisk из в Flash в RAM, по адресу ожидаемому ядром.
Нужно убрать это копирование, тогда у ядра не будет возможности найти ramdisk.
Записан

Prilad

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 17
Re: Сборка ядра
« Ответ #16 : 30 Августа, 2009, 18:28:39 »

> распечаталось содержимое рамдиска, а вовсе не моей флешки.

Посмотрите внимательно лог ядра, скорее всего все-равно используется ramdisk, так как ядро смогло его найти.

В U-Boot (в переменной bootcmd) выполняется копирование ramdisk из в Flash в RAM, по адресу ожидаемому ядром.
Нужно убрать это копирование, тогда у ядра не будет возможности найти ramdisk.


Убрать не получается. Да и не сказано в документации ничего про это. Вилы, короче. Но больше всего напрягло, что при этом система что-то у пишет на флешку в каталоги /sys и /proc
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Сборка ядра
« Ответ #17 : 31 Августа, 2009, 13:34:48 »

1. Должно получиться. Смотрите описание U-Boot.

2. Что же пишется в /proc /sys ?


Записан

Prilad

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 17
Re: Сборка ядра
« Ответ #18 : 03 Сентября, 2009, 08:56:54 »

Получилось!!! Опишу подробно (мне так этой подробности не хватало поначалу  :-\)

- Поставил CF  карточку на IDE-переходнике. (дополнительно на переходнике бросил проводок с 20й ножки разъема на питание карточки. На моем переходнике питание от IDE не было разведено).

- Подключил нульмодемным кабелем к компу, на компе врубил gktterm из ubuntu. Настроит компорт на скорость 57600

- Включил тион, дождался полной загрузки.

- Из терминала (не монтируя CF) создал на ней ext2 раздел  (указав размер блока = 1024) командой
         # mke.2fs /dev/hda1 -b1024

- Примонтировал CF
         # mkdir /mnt/hda1
         # mount /dev/hda1 /mnt/hda1

- Скопировал ФС (каждый каталог отдельно) . Не копировал каталоги /proc, /mnt, /sys
         # cp -a /Applications /mnt/hda1/Applications
         ...

- Создал пустые каталоги, которые не копировал
         # mkdir /mnt/hda1/proc
         ...

- Перезапустил Тион-про2 (кн. RESET на плате)

- Остановил загрузку на этапе u-boot (нажав в окне терминала любую клавишу в начале загрузки)

- Изменил ДВЕ переменные окружения u-boot. Веделленым шрифтом указаны фрагменты, которые изменились. Остальную часть строки я просто повторил без изменений
        $ setenv bootargs root=/dev/hda1 console=ttyAM0,57600 video=ep93xxfb:vout=1,vmode=16
(эта запись устанавливает в качестве КФС устройство hda1, т.е CF-карточку)
        $ setenv bootcmd bootm ${kern_fladdr} ${rd_addr}
(ранее переменная bootcmd выглядела так:   bootcmd=Echo Copy RAM-disk; cp.b ${rd_fladdr} ${rd_addr}; bootm ${kern_fladdr} ${rd_addr}. Т.е я исключил команду копирования рам-диска в память)

- Сохранил переменные окружения во флеш тиона
       $ saveenv

- Перезапустил тион.

Все. Теперь у меня файловая система на CF карте, и я имею возможность изменить скрипт /sbin/start-opie, прописав туда управление системой с помощью тачскрина.

Всем спасибо :)
Записан

ZVV1986

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 16
Re: Сборка ядра
« Ответ #19 : 30 Мая, 2014, 15:03:39 »

Цитировать
Инструментарий тоже arm-gcc-4.1.1-920t (не сам, помогли знатоки).

Достаточно просто распаковать в директорию /usr/local/arm? (так сделал) Сам использую debian.
Потом при make выдает

make: arm-linux-gnu-gcc: команда не найдена.
То есть я не доустановил компилятор(что тогда надо сделать)?
или я неправильно задал CROSS_COMPILE - "CROSS_COMPILE=arm-linux-gnu-"?
Пробовал и другие варианты для CROSS_COMPILE. результат от же.
« Последнее редактирование: 30 Мая, 2014, 15:17:32 от ZVV1986 »
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: Сборка ядра
« Ответ #20 : 30 Мая, 2014, 15:47:15 »

Цитировать
Достаточно просто распаковать в директорию /usr/local/arm? (так сделал) Сам использую debian.

Распаковать надо именно туда, где этот компилятор был первоначально
установлен при сборке.  Может быть сейчас с этим стало проще, но раньше было
такое требование. Угадали или нет, будет видно в дальнейшем при сборке.

В Debian можно подключить репозиторий emdebian и поставить arm компилятор из
него.

Цитировать
make: arm-linux-gnu-gcc: команда не найдена.
То есть я не доустановил компилятор(что тогда надо сделать)?
или я неправильно задал CROSS_COMPILE - "CROSS_COMPILE=arm-linux-gnu-"?
Пробовал и другие варианты для CROSS_COMPILE. результат от же.

Если вы не добавили каталог, в который распаковали компилятор, в переменную
окружения PATH, то надо указывать в CROSS_COMPILE полный путь, например,
CROSS_COMPILE=/usr/local/arm/4.1.1-920t/bin/arm-linux-
Записан

ZVV1986

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 16
Re: Сборка ядра
« Ответ #21 : 30 Мая, 2014, 16:13:34 »

Сделал как посоветовали.

Компиляция идет. :-) Спасибо!
Записан