Ставим Linux на USB Flash Drive
🕛 12.09.2006, 12:04
Есть задача: поставить Linux на флэшку. Зачем? Да просто так. Чтобы он там был. А если серьезно, то это очень полезная вещь. Всегда под рукой полноценная ОС с очень неплохим набором софта, с максимальными привилегиями (это если вас ущемляют в правах амины). А это значит где угодно можно посмотреть кино, послушать музыку, выйти в интернет.Средства
Для того, чтобы поставить Linux на флэшку вам понадобится :
Собственно комп с возможностью запуска с USB носителя (будь то USB-HDD, USB-ZIP, USB-и т.д). Так же желательно узнать, умеет ли ваш BIOS грузиться с флэшки, если там не установлена файловая система FAT.
Подключение к интернету.
Флэшка, размерностью не менее 64 метра (такие сейчас даже трудно купить).
Linux (мой выбор пал на DSL - Damn Small Linux, кстати на сайте можно купить и flash'ку с предустановленным на нее линуксом).
Эмулятор qemu (лучше все тестировать на нем).
Для начала с официального сайта скачаем Damn Small Linux. Качать лучше самый последний стабильный релиз (ISO образ, запускаемый с CDROM).
Затем скачаем эмулятор (мною использовалась версия 0.8.0 - тут есть поддержка usb устройств).
Устанавливаем его. Данный эмулятор очень хорош тем, что не транслирует команды процессору, а эмулирует архитектуру целевой машины. Также он снабжен исчерпывающей документацией по установке и настройке.
Вставляем флэшку в usb порт. Теперь нам надо узнать как она подключилась, чтобы в последствие сказать qemu о том, где искать usb-устройство.
ls /proc/bus/usb
должны получить что то типа :
001/ 002/ devices
Для того, чтобы получить полный доступ к usb-устройствам, необходимо быть root'ом. Нам понадобиться запустить qemu в режиме монитора для определения списка подключенных usb-устройств. Делается это так:
qemu -m 256 -cdrom /home/lamo/installs/system/distr/dsl-1.0.1.iso -boot d -monitor stdio
Мы указали stdio в качестве монитора (по сути консоли общения) - используем стандартный ввод/вывод.
/home/lamo/installs/system/distr/dsl-1.0.1.iso - путь к iso-образу устанавливаемого линукса.
-m 256 говорим, что на виртуальной машине будет 256 МБ ОЗУ (все зависит от вашей системы).
-boot -d опция говорит о том, что надо грузиться с cdrom.
(qemu) info usbhost
Вы должны получить что - то вроде этого:
Device 2.1, speed 480 Mb/s
Hub: USB device 0000:0000, EHCI Host Controller
Device 2.3, speed 480 Mb/s
Class 00: USB device 0ea0:2168, Flash Disk
Device 1.1, speed 12 Mb/s
Hub: USB device 0000:0000, OHCI Host Controller
Затем мы добавляем эмулятору наше устройство. В гостевой системе должно появиться сообщение о том, что добавлено новое устройство. В главной же оно может отключиться. Запускаем эмулятор:
qemu -m 256 -cdrom /home/lamo/installs/system/distr/dsl-1.0.1.iso -boot d -usb -usbdevice host:0ea0:2168 -monitor stdio
Опции:
-usb говорит эмулятору о том, что нужно включить поддержку usb.
-usbdevice host:0ea0:2168 говорит эмулятору, где находится флэшка.
Первый этап выполнен. Вы получили запущенный с LiveCD damn small linux.
Теперь о том, как устанавливать. Мой компьютер не поддерживает загрузку непосредственно с флэшки (в BIOS-е нет девайса для загрузки называемого usb-flash), поэтому нам необходимо изменить геометрию флэшки (если хотите, то можно с помощь циркуля и линейки:)) для того, чтобы наше устройство для компьютера было как usb-Zip или usb-Hdd.
Есть два пути.
В google.com можно найти много всякого софта.
Средствами, которые предоставляет DSL.
Затем нам необходимо скачать утилиту для установки:
http://distro.ibiblio.org/pub/linux/distributions/damnsmall/archive/frugal_usb.tar.gz
Распаковываем архив, и запускаем скрипт для установки:
tar -C / -zxf frugal_usb.tar.gz
sudo ./frugal_usb.sh
Отвечаем на некоторые вопросы, и форматируется флэшка, перезагружаем комп - готово.