Сейчас мы займемся созданием операционной системы *buntu на USB flash памяти, которая будет запускаться на машине удовлетворяющей системным требованиям операционки и не зависит от железа. Кроме того все параметры и изменения системы будут сохраняться и загружаться автоматически, в отличае от простого livecd. Скорость загрузки и работы с флэшки будет много быстрее нежели с сидюка. Как еще один плюс мы можем использовать сидюк/дивидюк т.к. он свободен от диска как в случае с лайв сиди, но это конечно если привод у вас только один.
В итоге мы получим родную и любимую операционку на флэшке со всеми параметрами пакетами и паролями, которую можно будет использовать на любом имеющимся компьютере. Поработал, вынул и доволен.
Компьютер должен поддерживать загрузку с USB диска(обратное встречается очень и очень редко) и иметь не менее 512 мегабайт оперативной памяти.
Для загрузки операционки с флэшки мы будем использовать Super Grub Disk(http://supergrub.forjamari.linex.org/)(с помощью которого кстати можно будет загрузить или восстановить загрузочную запись любой установленной операционки если понадобиться. Для восстановления граба после установки видны например)
Итак нам понадобится:
1. Компьютер с установленным дистрибутивом, но в принципе и без этого можно будет обойтись, работая с LiveCD. 2. USB flash драйв размером 2 Гига вполне подойдет, больше — лучше. (на функциональности это никак не скажется, просто в последствии сможете больше установить всяких пакетов и хранить данных) 3. Копия Super Grub Disk для USB. В по ходу выполнения мы ее заполучим. 4. Ну и конечно нам понадобиться .iso файл желаемого *buntu дистрибутива, оригинальный или настроенный на свой вкус . Либо LiveCD.
Для начала получим права суперпользователя: открываем терминал и набираем sudo su, вводим пароль.
1. Форматирование USB диска.
Сделать это можно либо с помощью fdisk'a и командной строки, либо GParted'oм. Необходимо получить два раздела один с файловой системой ext2 размером 750 Mb (для оригинального образа или размер .iso файла плюс 50 мегов для кастомизированного) и лэйблом ubuntulive, другой системы ext3, лэйблом casper-rw и занимающий все оставшееся свободное место
С созданием разделов первым способом проблем не должно возникнуть, покажу второй:
* Набираем fdisk -l. Получаем список наших жестких дисков:
Диск /dev/sdc: 2029 МБ, 2029518848 байт 129 heads, 32 sectors/track, 960 cylinders Units = цилиндры of 4128 * 512 = 2113536 bytes Disk identifier: 0xc3072e18
Находим среди них тот который соответствует нашей флэшке по размеру. В моем случае это /dev/sdc. В вашем случае вместо "c" может стоять любая другая буква. Далее я буду писать sdX, Х вы заменяете своей буквой, например если флэшка у вас /dev/sdb, то везде вместо sdX вы пишите sdb.
* umount /dev/sdX1. Для дальнейшей работы с флэшкой от-монтируем ее. * fdisk /dev/sdX * далее нажимаем p чтобы посмотреть раздел, затем d что бы удалить его, повторяем эти шаги пока не останется ни одного раздела. * нажимаем n, для создания нового раздела * нажимаем p, чтобы создать основной раздел * нажимаем 1, чтобы сделать раздела первым * нажимаем Enter, чтобы использовать первый цилиндр по умолчанию * набираем +750M, установив тем самым размер раздела. ВНИМАНИЕ: если вы создавали образ самостоятельно вместо 750, у вас будет число, равное размеру .iso файла плюс 50 мегов * нажимаем a, чтобы сделать раздел активным * затем 1, для выбора нашего раздела * далее n, для создания второго раздела * жмем p * нажимаем 2, что бы сделать новый раздел вторым. * Enter, для использования цилиндра по умолчанию. * снова Enter * теперь записываем новую таблицу разделов, нажав w * вводим umount /dev/sdX1 * вводим umount /dev/sdX2
* Форматируем первый раздел mkfs.ext2 -L ubuntulive /dev/sdX1
* Форматируем второй раздел mkfs.ext3 -L casper-rw /dev/sdX2
* теперь вынем и вставим обратно нашу флэшку
2. Создание лайв системы на флэшке.
Если Вы используете .iso образ:
* mkdir /media/ubuntu_iso — создаем директорию для монтирования .iso образа * mount ubuntu-7.10-desktop-i386.iso -o loop /media/ubuntu_iso — монтируем * cp -rf /media/ubuntu_iso/* /media/ubuntu_iso/.disk /media/ubuntulive — копируем файлы с образа на флэшку
Если у вас нет .iso образа и вы работаете с лайв сиди
* Скаичваем Super Grub Disk wget http://forjamari.linex.org/frs/download.php/778/super_grub_disk_english_usb_0.9673.tar.bz2
* И расспаковываем его tar jxvf super_grub_disk_english_usb_0.9673.tar.bz2
* Копируем распакованный /boot на флэшку cp -r boot /media/ubuntulive/
4. Прописываем загрузчик в MBR нашей флэшки
* grub —входим в grub shell * Посмотрим какие разделы и каких дисков содержат GRUB файлы вводим find /boot/grub/menu.lst
grub> find /boot/grub/menu.lst (hd0,1) (hd1,0)
Теоретически наша флэшка hd1(у вас вместо 1 может быть другая цифра, далее заменяйте Y на свою) , убедимся в этом:geometry (hdY) получаем:
grub> geometry (hdY) drive 0x81: C/H/S = 250/255/63, The number of sectors = 4030464, /dev/sdХ Partition num: 0, Filesystem type is ext2fs, partition type 0x83 Partition num: 1, Filesystem type is ext2fs, partition type 0x83
Два раздела, буква в sdX наша — они и есть.
* Работаем с первым разделом root (hdY,0) * Устанавливаем на него флаг загрузки makeactive * Устанавливаем GRUB в первый раздел setup (hdY,0) * Прописываем GRUB в MBR setup (hdY) * Покидаем grub shell quit * Редактируем список загрузки на нашей флэхе sudo gedit /media/ubuntulive/boot/grub/menu.lst * И заменяем его содержимое на(для ubuntu)
# You can edit this file to add your own distribution # You can choose default to 0 to select first entry # which it is usually the entry for the default distro # #Thank you adrian15! # # You can also set timeout to something as 10 # # This is the shortcut to call Super Grub Disk (commented) #title Super Grub Disk ## The two commands: setgrubdevice and usbshift are needed ## so that SGD works well. usbshift
#configfile $(grub_device)/boot/sgd/menu.lst # # Just after default and timeout statements you have to put # setgrubdevice so that grub device is correctly set.
default 0 #timeout 2 setgrubdevice # This is compulsory # The two commands: setgrubdevice and usbshift are needed # so that SGD works well. usbshift #gfxmenu /boot/grub/message foreground ffffff background 0c00ff color white/brown yellow/cyan
title Ubuntu Gutsy Gibbon in Persistent Mode kernel $(grub_device)/casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper persistent quiet splash -- initrd $(grub_device)/casper/initrd.gz
title Super Grub Disk configfile $(grub_device)/boot/sgd/menu.lst
title Ubuntu Gutsy Gibbon in Live CD Mode kernel $(grub_device)/casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash -- initrd $(grub_device)/casper/initrd.gz
title Start Ubuntu in Safe Graphics Mode kernel $(grub_device)/casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper xforcevesa quiet splash -- initrd $(grub_device)/casper/initrd.gz
title Install with Driver Update CD kernel $(grub_device)/casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper debian-installer/driver-update=true quiet splash -- initrd $(grub_device)/casper/initrd.gz
title Check CD for Defects kernel $(grub_device)/casper/vmlinuz boot=casper integrity-check quiet splash -- initrd $(grub_device)/casper/initrd.gz
title Memory Test kernel $(grub_device)/install/mt86plus -
title Boot the First Hard Disk root (hd0) chainloader +1
title Boot the Second Hard Disk root (hd1) chainloader +1
Не забываем сохранить файл
Далее выполните sed 's/ubuntu\.seed/kubuntu\.seed/g' /media/ubuntulive/boot/grub/menu.lst -i если вы создаете систему на основе kubuntu sed 's/ubuntu\.seed/xubuntu\.seed/g' /media/ubuntulive/boot/grub/menu.lst -i если вы создаете систему на основе xubuntu
Иными словами в вышеупомянутом файле вместо ubuntu.seed должно содержаться kubuntu.seed или xubuntu.seed в соответствии с создаваемой системой. Для этой цели здесь использовался потоковый текстовый редактор sed.
Дополнение для Ubuntu 8.04: Для этой версии убунту необходимо заменить initrd.gz файл в папке casper взятым отсюда http://launchpadlibrarian.net/13998650/initrd.gz Для этого делаем:
* cd /media/ubuntulive/casper * rm initrd.gz * wget http://launchpadlibrarian.net/13998650/initrd.gz для ubuntu * wget http://launchpadlibrarian.net/14658087/initrd.gz для xubuntu
Все, готово дело! Теперь перезагружаем компьютер и, когда появится меню GRUB'a жмем Enter.
Если меню не появилось, нужно установить в BIOS загрузку с USB:
При включении компьютера нажимаем Del. ВНИМАНИЕ: флэшка должна быть воткнута во время настройки BIOS. Появится синий экран настройки BIOS. Далее в зависимости от вашего компьютера: Либо будет пункт Advanced BIOS, тогда входим в него нажав Enter и, если есть, пункт Boot Disks Priority ставим флэшку на первое место, если такого пункта нет — просто устанавливаем First Boot Device в положение USB-HDD. Жмем F10, Y, Enter. Либо вкладка BOOT, тогда выбираем HDD Drives и устанавливаем первым пунктом нашу флэшку. F10, Y, Enter.
У рассмотренного способа есть один минус: пакеты поставляемые с образом, OpenOffice например, удалить будет нельзя. Как модифицировать используемый образ, удалив не нужное и установив дополнительное можно прочитать в посте Настройка LiveCD на свой вкус