From: Андрей Афанасенко <http://libc6.blogspot.com>
Date: Mon, 26 Jan 2008 18:21:07 +0000 (UTC)
Subject: Установка Ubuntu с жесткого диска, на машине без CDROM
Довольно давно я пользуюсь archlinux. Несколько месяцев
назад, перед летом, передо мною встала задача установки Ubuntu
Feisty 7.04 с винта, без использования CD-RW, так как оного
не было. А образ спокойно себе лежал на винте. И сел я читать
документацию на предмет "Как установить Ubuntu с винта, без
использования CD-ROM, имея на борту другой работающий линукс".
Повторяю - имея на борту линукс, а не виндовс. Так вот, оказалось,
что это возможно и крайне просто.
Только вот статью я начал писать давно, и скриншоты тоже делал
давненько, а теперь, когда вышла Ubuntu 7.10 Gutsy Gibbon -
все это переписывать, перерисовывать, перекачивать и тем
более перепроверять, что все работает, мне, честно говоря, лень.
Поэтому у вас будет просто интересный полуакадемический пример,
дальше включаем мозги, если надо.
Перед началом предупреждаю: абсолютным новичкам будет не
интересно. И еще - статья основана на разделе "D.4. Installing
Ubuntu from a Unix/Linux System" документации по установке,
входящей в состав серверного диска Ubuntu 7.04, файл
apds04.html. Всё, предупредил...
Реализация
В общем, опуская далее изложенные подробности, процесс будет такой:
1. Естественно, для всего этого нам понадобится уже скачанный iso
образ нужной версии Ubuntu. Но не всякий образ, как показывает практика,
для такой задачи подходит. Работает либо alternate, либо server сборка.
А desktop не подходит. Почему точно, не знаю, но подозреваю, что из-за
отсутствия пакетов debian-installer-а на десктоп варианте диска. В
общем, сначала качаем образ.
2. Дальше подготавливаем раздел для инсталляции будущей
Убунты. Не забываем, что своп ей тоже нужен (если его нет),
что её корневому разделу нужно около 2GB пространства, думаем, какую
файловую систему создать в будущем корне, придумываем и создаем;
3. Инсталлим в свою рабочую линукс-систему дебиановский инсталлер
debootstrap, с помощью которого пройдет установка базовой бубунты на
созданный для неё раздел;
4. Чрутимся внутрь нового раздела в базовую среду, настраиваем fstab,
networking, юзера, судо, ставим ядро и что нибудь еще, если очень
надо, например ядерные модули;
5. В свой бутлоадер добавляем строку загрузки в убунту на созданный
раздел, в частично настроенный корень.
6. Перегружаемся в убунту, чтобы попасть в полноценную консоль,
загруженную родным ядром, ставим ubuntu-desktop, который сносит нафиг
тщательно продуманный fstab :) , загружаем gdm и имеем перед собой
красивый гномовский логин;
7. Логинимся, смотрим на красоту, ощущаем счастье от собственной
значимости и шаманской смекалки;
Подробное описание:
Подготовка раздела.
Ищем или создаем раздел, на который хотим ставить Ubuntu. У меня для
этой цели уже отведен hda4 - 10 Gb. На нем будет жить будущая Убунта.
Так же нам понадобится swap, для него выделен hda2 - 500 Mb, своп я
буду использовать тот же, что и для текущей рабочей системы, мне его
не придется пересоздавать (вы можете создать отдельный раздел для
убунтовского свопа, если вам нужно).
После того, как нашли или выделили раздел под корень (который у меня
hda4), на нем нужно создать файловую систему и смонтировать в некую
рабочую директорию, например /newubuntu.
По моим предпочтениям предлагаю создавать reiserfs для корневой
системы.
На этом же этапе в документации предлагают смонтировать все части,
которые будут нужны в будущей файловой системе, у меня таких
отдельных частей, крайне необходимых для базовой работы, только /home
раздел, который я опять буду использовать свой, рабочий, существующий
/home на hda3 разделе. Итак:
## под рутом или sudo в терминале:
mkfs.reiserfs /dev/hda4
mkdir /newubuntu
mount -t reiserfs /dev/hda4 /newubuntu
mkdir /newubuntu/home
mount -t ext3 /dev/hda3 /newubuntu/home/
Установка debootstrap.
Для начала, нужно найти и выкачать его для вашей архитектуры (i386,
amd64, powerpc или sparc) из пула убунтовских дебутстрапов.
Выкачать нужно в еще одну некую директорию (у меня
/home/archafon/dbstr), в которой распаковать и из которой установить.
На текущий момент я подобрал данную версию пакета:
debootstrap_1.0.1~feisty1_all.deb.
Кроме того, для распаковки deb-архива понадобится утилита ar, которая
в моем дистрибутиве была найдена в пакете binutils, так что полагаю,
она есть и у вас. Приступим:
mkdir /home/archafon/dbstr
cd /home/archafon/dbstr
wget http://archive.ubuntu.com/ubuntu/pool/main/d/debootstrap/debootstrap_1.0.1~feisty1_all.deb
## распаковка содержимого deb-архива
ar -x debootstrap_1.0.1~feisty1_all.deb
cd /
## и далее под рутом или под sudo
## для установки содержимого пакета в свою текущую систему
zcat /home/archafon/dbstr/data.tar.gz | tar xv
Теперь инсталлятор убунты debootstrap успешно установлен в нашу
систему. Можно приступать к следующему шагу.
Установка базовой среды для будущей системы Ubuntu.
Для начала нам нужно подмонтировать куда-нибудь скачанный iso образ
Ubuntu, чтобы debootstrap из него установил базовую систему. У меня
он лежит в ~/data/iso/ubuntu-7.04-server-i386.iso, а смонтирую я его
в /mnt/cd
## под рутом или sudo в терминале
mount -o loop /home/archafon/data/iso/ubuntu-7.04-server-i386.iso /mnt/cd
Далее запускаем debootstrap, рассказывая ему о своих параметрах:
- архитектура (в моем случае i386).
- имя устанавливаемого дистрибутива.
- путь, куда это все устанавливать.
- путь, откуда брать установочные пакеты.
## под рутом или sudo в терминале
/usr/sbin/debootstrap --arch i386 feisty /newubuntu file:/mnt/cd/ubuntu
Во время удачной установки вы должны видеть довольно обширный список
устанавливающихся пакетов.
Этот процесс занимает около минуты-двух, и в завершение вы должны
увидеть важную фразу: Base system installed successfully - на
скриншоте выделено зеленым цветом.
Еще на этом же скрине видно одну неудачную попытку установки server
сборки. Это из-за того, что первая неудачная попытка установки сборки
desktop диска оставила после себя несколько директорий в /newubuntu,
которые я просто не подумал сразу почистить. Естественно, оставляю в
живых свой примонтированный /newubuntu/home, и уже после этого
пытаюсь запускать debootstrap на server сборке начисто. Не повторяйте
моих ошибок :)
Настройка базовой среды.
Настал момент первой истины. Чрутимся внутрь будущей убунты. Теперь
нашы задачи:
* создать fstab и прописать в нем все
нужные маунты.
* Настроить console-setup для клавиатуры.
* Настроить сеть: /etc/network/interfaces,
/etc/resolv.conf, /etc/hostname, /etc/hosts и
* Установить ядро.
## Обязательные виртуальные файловые системы
proc /proc proc defaults 0 0
sys /sys sysfs defaults 0 0
## Наши винты и своп
/dev/hda2 swap swap defaults 0 0
/dev/hda4 / reiserfs defaults 0 1
/dev/hda3 /home ext3 defaults 0 2
## Это CD-Rom и флешка
/dev/cdrom /mnt/cd iso9660 ro,users,noauto,unhide,utf8 0 0
/dev/sda1 /mnt/flash vfat iocharset=utf8,codepage=866,users,noauto 0 0
##остальное, если надо, добавлю потом
Теперь вручную подключим sys и proc для дальнейших действий.
mkdir /mnt/cd /mnt/flash
mount -t proc proc /proc
mount -t sysfs sysfs /sys
Следующий шаг, настройка консоли - клавиатура, раскладки, кодировка и
шрифт в консоли:
dpkg-reconfigure console-setup
Настраиваю сеть. Для этого, грубо говоря, создаю файлы
/etc/network/interfaces, /etc/resolv.conf, /etc/hostname, /etc/hosts,
в которые копирую содержимое соответствующих файлов из текущего
рабочего линукса. Единственное, в моем арче нет первого файла :) но
это не страшно. Примеры настройки для убунту можно посмотреть через
zcat /usr/share/doc/ifupdown/examples/network-interfaces.gz. Для
моего случая я имею:
/etc/network/interfaces
#обязательные настройки
auto lo
iface lo inet loopback
#DHCP кабельный модем, смотрящий в интернет
auto eth1
iface eth1 inet dhcp
#Обычная сетевая карточка, связанная сетевым шнурком с ноутбуком
auto eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
broadcast 192.168.0.255
/etc/resolv.conf
## Это мои DNS-ы, на удивление, файл создался ссодержимым! Да еще и правильным.
search voliacable.com
nameserver 82.144.192.130
nameserver 82.144.192.131
nameserver 82.144.192.32
nameserver 82.144.192.30
/etc/hostname - Напишите внутрь всего одно слово, имя вашего убунту.
Мой будут звать Juggernaut, почему бы и нет... /etc/hosts - имена
известных адресов:
127.0.0.1 localhost localhost Juggernaut
С сеткой покончено. Теперь нужно настроить /etc/apt/sources.list.
Если после (успешной) установки вы собрались все ставить через
интернет, оставьте файл как есть, а лучше допишите дополнительные
репозитории. На данный момент его содержимое довольно убого:
deb http://archive.ubuntu.com/ubuntu feisty main
Если же планируете использовать образ диска и дальше, давайте слегка
подкрутим настройки. Но прежде позаботьтесь, чтобы образ был виден из
убунты, например, был в подключенном /home, как у меня. Сделать нужно
следующее. Просто пишем в убунтовской консоли, то есть там, куда мы
зачрутились:
mkdir /cdrom;
apt-cdrom add
На предложение "Please insert a Disc in the drive and press enter"
открываем еще одну консоль и чрутимся в убунту опять. Там пишем:
mount -t iso9660 -o loop /home/archafon/data/iso/ubuntu-7.04-server-i386.iso /cdrom
Ну и дальше редактируем sources.list и оставляем только нужное, либо
интернет, либо диск, который придется маунтить всякий раз в /cdrom.
Теперь нужно сделать apt-get update для обновления списка пакетов.
И - основной шаг - ставим ядро. Это вообще просто.
apt-cache search linux-image
Из полученного списка выбираем нужный пакет и ставим. Я ставлю
linux-image-2.6.20-15-generic
apt-get install linux-image-2.6.20-15-generic
В один момент инсталлятор спросит, хотим ли мы прервать установку
ядра (Do you want to abort чего-то там?) Жмем "НЕТ", не хотим abort,
и тогда ядро нормально установится.
Последние шаги :) Добавляем юзера, создаем группу admin, пропихиваем
юзера туда и разрешаем ему администрировать комп через sudo:
В свой бутлоадер, в текущем работающем линуксе, из которого вы это
все делали, добавляем строку для загруки в убунту. В grub я это делаю
так:
vim /boot/grun/menu.lst
##И добавляю в конец файла строки, в соответтвии с именем того ядра, которое установил:
# Ubuntufeisty
title Ubuntu Feisty
root (hd0,3)
kernel /vmlinuz root=/dev/hda4 ro vga=773
initrd /initrd.img
Теперь настал момент последней истины.
ПЕРЕГРУЖАЕМСЯ в Ubuntu! Логинимся созданным юзером и устанавливаем
ubuntu-standard
sudo apt-get install ubuntu-standard
Это был последний шаг. Собственно, теперь все зависит от вас. Если вы
делали установку с alternate диска или прописали в sources.list выход
в интернет, а не на образ, можно ставить ubuntu-desktop или
kubuntu-desktop, или xserver с fluxbox-ом... Все зависит от желания и
умения.
Ну а я после перезагрузки в убунту выловил первый же косяк - с
русскими буковками в консоли совсем не сложилось. Наверное, не
правильно настроил console-setup. Tак что мне косяки, а вам удач в
искусстве настройки linux.
1071 Прочтений • [Установка Ubuntu с жесткого диска, на машине без CDROM (ubuntu linux install boot)] [08.05.2012] [Комментариев: 0]