вторник, 9 февраля 2010 г.

Начало

Уважаемые Посетители.
Посты содержащиеся в данном блоге были актуальны на момент их создания. С тех пор вышло несколько приложений(в том числе и стандартный usb-creator), позволяющий автоматизировать описанные действия.
Возможно они могут представлять для вас чисто спортивный интерес, в плане организации данного процесса. Но прошу без фанатизма, пользуйтесь("уважайте") трудом других людей и цените свое время.
Желаю удачи.

среда, 28 января 2009 г.

Запись ubuntu на флэшку

Судя по статистике многие попадают сюда с поисковиков, ища там как записать ubuntu на флэшку. Попадают и, что вполне логично, не имея никого желания читать длинные посты целиком в поисках ответа, уходят восвояси.
Между тем есть очень простой способ записать iso образ убунту на флэшку. С нее систему можно будет поюзать в liveCD и установить(в том числе и wubi). В общем все то, что можно делать с диском.

Для этих целей используется программа UNetbootin (есть, как под линукс так и под Windows).
Запускаете, выбираете ISO и образ убунты. Внизу, если необходимо, — нужную флэшку(вообще определяется автоматически).


Жмем OK и ждем пока закончиться копирование. Всё.


Незначительные грабли: UNetbootin флэшку не форматирует, поэтому если на ней были данные они останутся. Как следствие проверку хэшей флэшка не пройдет. Это в случае если вы выберите пункт "Проверить диск на наличие ошибок" при загрузке или будете устанавливать из-под windows с помощью wubi(в этом случае wubi будет скачивать ubuntu из интернета).

Ну а вообще UNetbootin запишет Вам на flash'ку один из многочисленных дистрибутивов linux скачав его из интернета, в том случае если вы выберите его из списка.

понедельник, 25 февраля 2008 г.

Настройка LiveCD на свой вкус

В предыдущем посте я рассказал о том как создать систему на основе лайв сиди на флэшке. В этом речь пойдет о создании .iso образа системы, уже содержащей новые версии необходимых пакетов и исключающей не нужные, который для этой флэшки можно будет использовать. Например OpenOffice мне на ней не нужен, а вот апач сервер позарез, ну и так далее(его конечно можно будет установить и потом, но куда удобнее когда он уже установленный содержится в исходном .iso). Полученный образ можно будет закатать на флэшку или DVD болванку, т.к. весить он будет под 800 Мб(на CD увеличенного объема тоже влезет). Ну и естественно система, установленная с этого образа будет содержать все обновления и настройки, пакеты, которые вы сейчас установите и не будет в ней тех, что вы удалите.

Здесь мы получим образ buntu, который будет содержать:

  • Все обновления пакетов
  • Дополнительные репозитории
  • Поддержку проигрывания mp3, divx, DVD
  • Флэш плагин

  • если Вам еще чего то не достает(Amarok, Skype и т.д.) вы без труда добавите это

1. Подготовка

В начале получим права супер пользователя sudo su

Нам понадобится .iso образ, на основе которого мы будем создавать свой.
Еще нам нужны будут дополнительные пакеты для создания образа, установим их:

apt-get install squashfs-tools chroot

Теперь создадим папку и монтируем туда имеющийся .iso образ:

mkdir /media/ubuntu_iso
mount -o loop ubuntu-7.10-desktop-i386.iso /media/ubuntu_iso

Создадим директорию содержащую наш будущий образ и скопируем в нее все содержимое iso'шника, окромя casper/filesystem.squashfs :

mkdir ~/livecd
mkdir ~/livecd/cd
rsync --exclude=/casper/filesystem.squashfs -a /media/ubuntu_iso/ ~/livecd/cd

Файл filesystem.squashfs содержит файловую систему лайв сиди в сжатом виде. Мотриуем его, в папку ~/livecd/squashfs и скопируем ее содержимое в папку ~/livecd/custom :

mkdir ~/livecd/squashfs
mkdir ~/livecd/custom
modprobe squashfs
mount -t squashfs -o loop /media/ubuntu_iso/casper/filesystem.squashfs ~/livecd/squashfs/
cp -a ~/livecd/squashfs/* ~/livecd/custom

И наконец скопируем /etc/resolv.conf и /etc/hosts в ~/livecd/custom/etc, чтобы иметь доступ к сети в создаваемой системе:

cp /etc/resolv.conf /etc/hosts ~/livecd/custom/etc/

2. Доступ к настраиваемой системе

Теперь сменим рут системы на ~/livecd/custom и примонтируем необходимые нам proc и sysfs, еще зададим переменную окружения HOME значением /root

chroot ~/livecd/custom
mount -t proc none /proc/
mount -t sysfs none /sys/
export HOME=/root

Таким образом все выполняемые отныне команды будут выполняться для подопытной настраиваемой системы.

3. Удаление ненужных пакетов

Что бы удалить ненужный пакеты наберите:

apt-get remove --purge имя_удаляемого_пакета

Что бы просмотреть установленные пакеты выполните

dpkg-query -W --showformat='${Package}\n' | less

4. Обновление системы

Сначала добавим новые репозитории в /etc/apt/sources.list

выполните
nano /etc/apt/sources.list
откроется консольный текстовый редактор
замените содержимое открытого файла на следующее:

deb http://archive.ubuntu.com/ubuntu gutsy main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu gutsy main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu gutsy-updates main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu gutsy-updates main restricted universe multiverse

deb http://security.ubuntu.com/ubuntu gutsy-security main restricted universe multiverse
deb-src http://security.ubuntu.com/ubuntu gutsy-security main restricted universe multiverse

deb http://archive.canonical.com/ubuntu gutsy partner
deb-src http://archive.canonical.com/ubuntu gutsy partner

Ctrl+O для сохранения изменений
Ctrl+X выходим из редактора

теперь можно систему обновить:

apt-get update
apt-get dist-upgrade

5. Установка новых пакетов

новые пакеты устанавливаются командой

apt-get install имя_устанавливаемого_пакета

Установим поддержку проигрывания mp3, divx, DVD

apt-get install gstreamer0.10-ffmpeg gstreamer0.10-plugins-ugly gstreamer0.10-plugins-ugly-multiverse gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-multiverse vlc mplayer mplayer-fonts
/usr/share/doc/libdvdread3/install-css.sh

Теперь установим поддержку rar архивов

apt-get install rar unrar

Далее по списку — установка флэш плагина и плагина проигрывания мультимедии для Firefox'a

apt-get install flashplugin-nonfree mozilla-plugin-vlc

6. Очистка от ненужных файлов

В процессе установки накопилось немного мусора. Удалим его:

apt-get clean — очистка кэша установленных пакетов

rm -rf /tmp/* — очистка временной папки

rm -f /etc/hosts /etc/resolv.conf — удаляем скопированные ранее файлы для работы с сетью

Отмонтируем /proc /sys и выйдем из рута настраиваемой системы:

umount /proc/
umount /sys/
exit

7. Создание нового ISO образа

Пересоздадим список установленных в системе пакетов

chmod +w ~/livecd/cd/casper/filesystem.manifest
chroot ~/livecd/custom dpkg-query -W --showformat='${Package} ${Version}\n' > ~/livecd/cd/casper/filesystem.manifest
cp ~/livecd/cd/casper/filesystem.manifest ~/livecd/cd/casper/filesystem.manifest-desktop

И перегенерируем файловую систему squashfs

mksquashfs ~/livecd/custom ~/livecd/cd/casper/filesystem.squashfs

пересоздадим файл содержащий хэши для проверки целостности данных md5sum.txt


sudo -s
rm ~/livecd/cd/md5sum.txt

(cd ~/livecd/cd && find . -type f -print0 | xargs -0 md5sum > md5sum.txt)

И наконец сделаем iso образ, созданной операционки

cd ~/livecd/cd
mkisofs -r -V "Ubuntu-Live-Custom" -b isolinux/isolinux.bin -c isolinux/boot.cat -cache-inodes -J -l -no-emul-boot -boot-load-size 4 -boot-info-table -o ~/Desktop/Ubuntu-Live-7.10-custom.iso ./

Полученный образ можно записать на болванку либо на флэшку.

Рассмотренный способ открывает широкие возможности для модифицирования системы перед использованием/установкой. Но можно воспользоваться более простым, но менее гибким способом инструментом Ubuntu Customization Kit

вторник, 19 февраля 2008 г.

Создание Ubuntu, Kubuntu, Xubuntu LiveUSB

Сейчас мы займемся созданием операционной системы *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 образа и вы работаете с лайв сиди


  • cp -rf /media/cdrom/* /media/cdrom/.disk /media/ubuntulive


3. Установка Super Grub Disk.

  • Скаичваем 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 OEM Ubuntu Gutsy Gibbon Install (for manufacturers)
kernel $(grub_device)/casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper oem-config/enable=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 на свой вкус



Первоисточники:
1. http://www.debuntu.org/how-to-install-ubuntu-linux-on-usb-bar
2. http://ubuntuforums.org/showthread.php?t=575406