The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Установка Linux на флешку. Создание загрузочной флешки. (livecd flash install grub)


<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>
Ключевые слова: livecd, flash, install, grub,  (найти похожие документы)
From: Минаев Сергей aka Brainsburn <i@zenux.ru.> Date: Mon, 6 Nov 2010 17:02:14 +0000 (UTC) Subject: Установка Linux на флешку. Создание загрузочной флешки. Оригинал: http://zenux.ru/articles/41/ На флешку можно записать загрузочный образ дистрибутива Linux. Это можно сделать руками, а можно с помощью вспомогательных утилит, таких как unetbootin. Но сейчас разговор немного о другом - о том, как установить линукс на флеш накопитель для дальнейшего использования в роли полноценной системы на переносном hdd. Такой вариант лучше live-системы хотя бы потому, что такую систему можно, как обычно, настраивать и изменять, ставить новые пакеты и т.д. Live-систему тоже можно изменять, но там сложнее. Первый вопрос - как установить GRUB на флешку? Ведь чтобы загрузиться с флешки, надо, чтобы она была загрузочной. Ответ прост: так же, как и на обычный жесткий диск! Правда, у меня на этом моменте возникла одна проблема. Сейчас расскажу подробнее. В моем домашнем компьютере два жестких диска (/dev/sda, /dev/sdb). Флешка, соответственно, - /dev/sdc. Однако, GRUB не захотел устанавливаться на нее: # grub --version grub (GNU GRUB 0.97) grub> root (hd0,0) Filesystem type is ext2fs, partition type 0x83 grub> root (hd1,0) Filesystem type is ext2fs, partition type 0x83 grub> root (hd2,0) Error 21: Selected disk does not exist Т.к. граб видит диски не как sda1 или sdb3, а как (hd0,0) и (hd1,2), то флешка в данном случае должна быть (hd2,0). Однако, GRUB ее не увидел, хотя если при включении компьютера, при появлении GRUB-а перейти в консоль по "С", то он нормально видит флешку как (hd2,0). Чем это обусловлено, не знаю. Решение я нашел такое: Создаем файловую систему (лучше reiserfs. подробнее - ниже) на флешке, монтируем ее куда-нибудь, например в /mnt/flash и создаем файл /mnt/flash/boot/grub/device.map с таким содержимым: (hd0) /dev/sdc Вместо /dev/sdc впишите устройство флешки, как оно видится в вашей системе. Почему именно reiserfs? Потому-что если у вас флешка не большого размера и вы отформатируете ее в ext2, то вам может не хватить инодов и увеличить их кол-во не получится. В reiserfs такой проблемы не будет. После этого устанавливаем загрузчик на флешку: # grub install --root-directory=/mnt/flash --no-floppy '(hd0)' Чтобы убедиться, что граб действительно установился, посмотрите в каталог /mnt/flash/boot/grub. Все! Самый важный этап пройден - ваша флешка УЖЕ загрузочная, т.е. если вы перезагрузите компьютер, выберите загрузку с USB-HDD, то увидите консоль граба. Осталась сплошная банальщина (за небольшим исключением) - установить Linux на флешку. Что теперь нужно: установить на флешку сам линукс (я буду объяснять на примере Gentoo Linux), не забыть установить ядро, пароль для рута, чутка подправить /etc/fstab и создать конфиг для GRUB. Процесс установки очень прост и понятен. Напомню, что флешка у нас примонтирована в /mnt/flash/. Скачаем туда stage3 и portage. Найти их можно на http://distfiles.gentoo.org . # ls /mnt/flash portage-latest.tar.lzma stage3-i686-20100622.tar.bz2 Распаковка архивов: # tar xafv stage3-i686-20100622.tar.bz2 # tar xafv portage-latest.tar.lzma -C /mnt/flash/usr Chroot: # chroot /mnt/flash /bin/bash Все, вы в новой Gentoo. Можете ее настраивать и устанавливать пакеты. Хотя, лучше конечно, сперва задать пасс руту командой passwd и установить ядро: # emerge -av gentoo-sources Ах да, не забудьте перед этим прописать DNS сервер, чтобы не было проблем с разрешением имен. Я использую паблик 8.8.8.8, т.к. днс моего полосатого провайдера постоянно дохнет: # echo "nameserver 8.8.8.8" > /etc/resolv.conf После установки ядра, его исходные коды будут лежать где-то в /usr/src/linux*. Осталось его сконфигурировать и собрать: # make menuconfig # make && make modules_install Как конфигурить ядро, я рассказывать не буду, т.к. это тема совершенно другой статьи и к флешкам не относится. Скажу лишь, что никаких особых моментов нет, я даже initram не использую, конфиг у меня практически стандартный, разве что файловую систему reiserfs (ведь флешка отформатирована в ней) надо вкомпилить в ядро ("<*>", но не "". Это надо, если вы тоже не используете initram). Однако, если вы планируете подключать флешку к различным компьютерам, позаботьтесь о поддержке большого кол-ва оборудования в ядре. После сборки копируем свежее ядро в /boot # cp arch/x86/boot/bzImage /boot/kernel Теперь создадим menu.lst для GRUB. У меня он выглядит так: # cat /boot/grub/menu.lst title USB-Linux root (hd0,0) kernel /boot/kernel rootdelay=10 root=/dev/sdc1 rw Одна важная деталь - rootdelay. Без rootdelay=10 вы можете получить при загрузке кернел паник с ошибкой про root device и будете думать, что ядро просто не видит вашу флешку, попытаетесь найти для нее дрова, но все будет тщетно. Параметр root=/dev/sdc1 тоже желательно не опускать, /dev/sdc1 - корневой раздел, не "/boot", а "/". Хотя, на флешке создавать отдельный раздел под /boot или что-либо еще, просто смешно :) Такс... Ядро установили, DNS-сервер прописали, пароль руту задали, что еще? Ах да, не забудьте про /etc/fstab. Если вы тоже устанавливаете Gentoo, закомментируйте там строки, начинающиеся на /dev/BOOT, /dev/SWAP и т.д. А в строке, начинающейся на /dev/ROOT, измените это значение на /dev/sdc1.и укажите файловую систему - reiserfs. Теперь, вроде, ничего не забыл. Хотя, я и не ставил целью подробное описание процесса установки линукс в chroot-е. В любом случае, теперь вы установили Linux на флешку и можете перезагрузить компьютер и загрузиться с флешки =) Если у вас Gentoo, после приведения системы к нужному виду, не забудьте удалить каталог /usr/src/linux (он занимает около 600МБ) и /usr/portage (портежи весят примерно столько же) для экономии места. Если я упустил какой-то момент или у вас возникли проблемы, сообщите об этом в комментариях. Спасибо!

<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>

Обсуждение [ RSS ]
  • 1.1, light (??), 12:53, 01/04/2011 [ответить]  
  • +/
    таких боянистых ненужных мануалов - вагон, для этого давно есть unetbootin, которое работает под всеми осями, в линухах есть usb-creator-gtk

    давно пора заняться "виртуалкой на флешке", чтобы в несколько определенных каталогов тупо закинуть кучу исошников, и в меню сами пункты загрузки добавились - от солярки до вин 98 (образно, но все же)

     
  • 1.2, CyprosCreek (?), 10:57, 25/08/2011 [ответить]  
  • +1 +/
    Очень полезная статья! Мне как раз нужно поставить систему на Compact Flash, которая будет винтом одноплатного промышленного компа. Причем даже без монитора с видеокартой - система в процессе инсталляции на флешку на другом компе должна быть сконфигурирована на доступ к консоли по сети или RS232.
     
  • 1.3, myr4ik07 (ok), 22:52, 23/09/2011 [ответить]  
  • +/
    К тому же, не секрет, что на "флешку" сейчас можно не только один дистрибутив и не только с "линукс" залить в виде LiveUSB.
     
  • 1.4, Maraton (?), 23:54, 28/11/2011 [ответить]  
  • +/
    Есть самый простой способ создать автозагрузочную флешку Windows XP - это скачать и розпаковать эту программу http://depositfiles.com/files/mzccjntvv после розпаковки запускаем и делаем всего четыри нажатия мышки которые програма сама подскажет. PS: Используйте только стандартные дистрибютивы Windows, так-как сборки такие как например "Zver" установяться не коректно.
     

    игнорирование участников | лог модерирования

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру