Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: buildroot & установка загрузчика
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > Linux
vad74
Требуется собрать Линукс для встраиваемой системы на i586 и установить его на CompactFLASH. Итак собрал с помощью buildroot ядро Линукса и ФС. Примонтировал образ, примонтировал CompactFLASH. Скопировал всё с расскрытого образа на флешку. Теперь осталось установить загрузчик. В настойке buildroot было указано использовать GRUB. Но в итоговой ФС файлов GRUB не оказалось. Сам GRUB был создан в рабочей папке. Исследовав маке файл обнаружил причину. Оказывается GRUB создаётся, ставиться в таргет ФС а затем СТИРАЕТСЯ. Здесь содержимое маке файла. Там есть пункты grub-clean и grub-dirclean. Это приводит в ступор. Зачем так?

Пытался запустить GRUB с рабочей папки. Вошёл в папку где он лежит и дал grub - в ответ Command not found. Дал ./grub - No such file. Короче не запускается. Делал даже chmod +x grub.

У меня Слакварь 13 в консольном режиме. Он GRUB не содержит. Есть Lilo. Пробовал его поставить, но тоже никак не смог. Давал lilo -r /mnt/flash -C /etc/lilo.conf.mnt. Где /mnt/flash - примонтированный CompactFLASH, /etc/lilo.conf.mnt - конфиг лежащий на CompactFLASH. В нём указано куда прописать MBR - boot=/dev/sdc. Выдаёт - Fatal: raid_setup: stat("/dev/sdc"). Сам CompactFLASH система видит как sdc. На нём 1 раздел sdc1 с флагом bootable. При чём тут raid не понятно.

И как всё таки поставить загрузчик на подключенный CompactFLASH? Просьба рекомендации подкреплять конкретными коммандами, подробнее.
gemuz
Цитата(vad74 @ Apr 22 2010, 11:10) *
Требуется собрать Линукс для встраиваемой системы на i586 и установить его на CompactFLASH. Итак собрал с помощью buildroot ядро Линукса и ФС. Примонтировал образ, примонтировал CompactFLASH. Скопировал всё с расскрытого образа на флешку. Теперь осталось установить загрузчик. В настойке buildroot было указано использовать GRUB. Но в итоговой ФС файлов GRUB не оказалось. Сам GRUB был создан в рабочей папке. Исследовав маке файл обнаружил причину. Оказывается GRUB создаётся, ставиться в таргет ФС а затем СТИРАЕТСЯ. Здесь содержимое маке файла. Там есть пункты grub-clean и grub-dirclean. Это приводит в ступор. Зачем так?

Пытался запустить GRUB с рабочей папки. Вошёл в папку где он лежит и дал grub - в ответ Command not found. Дал ./grub - No such file. Короче не запускается. Делал даже chmod +x grub.

У меня Слакварь 13 в консольном режиме. Он GRUB не содержит. Есть Lilo. Пробовал его поставить, но тоже никак не смог. Давал lilo -r /mnt/flash -C /etc/lilo.conf.mnt. Где /mnt/flash - примонтированный CompactFLASH, /etc/lilo.conf.mnt - конфиг лежащий на CompactFLASH. В нём указано куда прописать MBR - boot=/dev/sdc. Выдаёт - Fatal: raid_setup: stat("/dev/sdc"). Сам CompactFLASH система видит как sdc. На нём 1 раздел sdc1 с флагом bootable. При чём тут raid не понятно.

И как всё таки поставить загрузчик на подключенный CompactFLASH? Просьба рекомендации подкреплять конкретными коммандами, подробнее.


Нужно указывать версию grub.
mkdir /mnt/sdc
mount /dev/sdc /mnt/sdc
Скопировать grub в /mnt/sdc
сhroot /mnt/sdc /bin/bash
Если bash запустится, то все ок, теперь ставим grub, если нет, то беда в Вашей системе.
После установки grub, смотрим device.map, запоминаем (hd0). Теперь все просто:
# grub
# root (hd0,0) если ставим на первый раздел
# setup(hd0)
# exit

Данный метод опробован мною при создание raid 1 с независимой загрузкой, если умер один из дисков, то система грузилась с другого. Базовая система: sles9, sles10, sles11, upensise12.3, rhel 6.4
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.