Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Создаем ремонтную флэху с помощью qemu - для самых маленьких  (Прочитано 1741 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн kroxa90

  • Автор темы
  • Участник
  • *
  • Сообщений: 114
    • Просмотр профиля
Возникла тут у меня необходимость соорудить ремонтную флэшку.
Причем, не хотела готовые варианты, а именно свою.
Подумала и накалякала такую вот инструкцию.

Сразу пару моментов:
1. Создаю систему первоначально в файлике на диске, потому как на флэшу пишеться дико медленно. И легче создать образ, настроить, а уж потом его перелить на флэшу целиком.
2. Использую qemu, а не kvm, потому как kvm требует физической поддержки виртуализации, а у меня её нету.
3. Пользую debootstrap, потому как через него быстрее, чем с установочного образа и бутор всякий не лезет туда.

Копирайты: желающие могут перетащить в вики или присвоить, мне плевать. Ссылаться на меня не обязательно, даже не желательно.
Код: (bash) [Выделить]
# Создадим новый имидж
dd if=/dev/zero of=./new.img bs=10M count=100
 
# Разметим диск
fdisk ./new.img << EOF
n
p
1
 
 
a
1
w
EOF
 
# Примонтируем диск
kpartx -a ./new.img
# Взглянем куда
kpartx -l ./new.img
# loop1p1 : 0 2045952 /dev/loop1 2048
 
# форматируем
mkfs.ext3 /dev/mapper/loop1p1
 
# Монтируем
mkdir /mnt/tmp
mount /dev/mapper/loop1p1 /mnt/tmp -t ext3
 
# Устанавливаем туда систему
debootstrap oneiric /mnt/tmp/ http://mirror.yandex.ru/ubuntu
 
# Правим файлики в новоиспеченной системе
/etc/network/interfaces
/etc/hostname
/etc/apt/sources.list
/etc/fstab
# Чтоб узнать какой UUID прописывать в fstab
blkid
 
# Запускаем систему под chroot
mount /proc /mnt/tmp/proc -o bind
mount /dev /mnt/tmp/dev -o bind
mount /sys /mnt/tmp/sys -o bind
chroot /mnt/tmp
 
# Немного настраиваем под себя
passwd
apt-get update;apt-get -y upgrade
apt-get -y install aptitude mc vim ntpdate language-pack-ru language-pack-ru-base man manpages manpages-ru zip unzip unrar
dpkg-reconfigure locales; update-locale
update-alternatives --config editor
 
# Устанавливаем ядро
# Ищем последнее ядро (у меня linux-image-3.0.0-20-generic)
aptitude search linux-image
# Игнорируем ошибки груба и продолжаем несмотря на них
apt-get install linux-image-3.0.0-20-generic
 
# Выходим из chroot и отключаем образ
exit
umount /mnt/tmp/proc
umount /mnt/tmp/dev
umount /mnt/tmp/sys
umount /mnt/tmp
kpartx -d ./new.img
 
# Запускаем нашу виртуалочку (пока без груба)
qemu -hda ./new.img \
-kernel /vmlinuz -initrd /initrd.img -append root=/dev/sda1 \
-net nic,vlan=0 -net tap,vlan=0,ifname=tap1,script=/etc/qemu-ifup
# Нижняя строчка - это подъем сети (ну есть у меня бридж)
 
# После запуска ставим grub (и обновляем на всякий пожарный)
grub-install /dev/sda
update-grub2
poweroff
 
# Запускаемся нормально и наслаждаемся
qemu -hda ./new.img \
-boot c \
-net nic,vlan=0 -net tap,vlan=0,ifname=tap1,script=/etc/qemu-ifup

# После всех настроек и установок необходимого ПО
# Сливаем на флэху, заранее остановив (sdc - у меня флэха)
dd if=./new.img of=/dev/sdc
sync
« Последнее редактирование: 02 Июня 2012, 21:21:03 от ☯Tux サムライ☯ »
lubuntu 12.04
не пользую man, поиск и гугл в связи с религиозными взглядами

Оффлайн kroxa90

  • Автор темы
  • Участник
  • *
  • Сообщений: 114
    • Просмотр профиля
Предупреждение (устное):
Нарушение правил форума. На форуме запрещено:
2.3. Флудить и заниматься флеймом, а так же оставлять сообщения, не относящиеся к теме обсуждения.

--Пупизоид
« Последнее редактирование: 07 Июня 2012, 15:42:33 от Пупизоид »
lubuntu 12.04
не пользую man, поиск и гугл в связи с религиозными взглядами

Оффлайн Сперанский

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4055
  • Dictum ac factum
    • Просмотр профиля
Почистил от оффтопа.

 

Страница сгенерирована за 0.03 секунд. Запросов: 25.