Содержание
|
Подготовка USB-устройства
Для создания USB-загрузочного устройства рекомендуется в первую очередь очистить таблицу разделов на этом устройстве:# fdisk -l /dev/sda
Disk /dev/sda: 1031 MB, 1031798784 bytes
32 heads, 62 sectors/track, 1015 cylinders
Units = cylinders of 1984 * 512 = 1015808 bytes
Device Boot Start End Blocks Id System
Далее создаем раздел на flash-диске:
# fdisk -l /dev/sda
Disk /dev/sda: 1031 MB, 1031798784 bytes
32 heads, 62 sectors/track, 1015 cylinders
Units = cylinders of 1984 * 512 = 1015808 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 1015 1006849 83 Linux
Теперь создадим файловую систему на вновь созданном разделе: # mkfs.ext3 /dev/sda1
mke2fs 1.40-WIP (14-Nov-2006) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 125952 inodes, 251712 blocks 12585 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=260046848 8 block groups 32768 blocks per group, 32768 fragments per group 15744 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376 Writing inode tables: done Creating journal (4096 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 26 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.
Установка базовой системы на FLASH-устройство
Монтируем этот раздел:# mount /dev/sda1 /mntСкопируем с ближайшего зеркала (пусть, например, это http://debian.org.ua/debian) в каталог /mnt базовую операционную систему Debian при помощи команды debootstrap
# debootstrap etch /mnt http://debian.org.ua/debian
I: Retrieving Release I: Retrieving Packages I: Validating Packages I: Resolving dependencies of required packages... I: Resolving dependencies of base packages... . . . . I: Configuring tasksel-data... I: Configuring sysklogd... I: Configuring tasksel... I: Base system installed successfully.
Настройка загрузчика GRUB
Все необходимые файлы для нормальной работы загрузчика находятся в каталоге /mnt/boot# ls -l /mnt/boot/
итого 0Как видно, он пуст и следовательно при установке системы командой debootstrap в этот каталог ничего не копируется. Все файлы (за исключением device.map создадутся во время инсталляции загрузчика. Для создания файла device.map сначала необходимо создать каталог /mnt/boot/grub:
# mkdir /mnt/boot/grubИ создадим нужный нам файл:
# echo '(hd0) /dev/sda' > /mnt/boot/grub/device.map
# cat /mnt/boot/grub/device.map
(hd0) /dev/sdaТеперь можно приступать к установке загрузчика. Установка выполняется командой grub-install. Опция --root-directory указывает на необходимость установки в указанное дерево каталогов, а не в системный корневой каталог:
# grub-install --root-directory=/mnt --no-floppy '(hd0)'
Installation finished. No error reported. This is the contents of the device map /mnt/boot/grub/device.map. Check if this is correct or not. If any of the lines is incorrect, fix it and re-run the script `grub-install'. (hd0) /dev/sdaПроверяем каталог /mnt/boot/grub:
# ls -l /mnt/boot/grub/
итого 180 -rw-r--r-- 1 root root 197 2007-01-24 22:02 default -rw-r--r-- 1 root root 15 2007-01-24 22:01 device.map -rw-r--r-- 1 root root 7584 2007-01-24 22:02 e2fs_stage1_5 -rw-r--r-- 1 root root 7424 2007-01-24 22:02 fat_stage1_5 -rw-r--r-- 1 root root 8192 2007-01-24 22:02 jfs_stage1_5 -rw-r--r-- 1 root root 6848 2007-01-24 22:02 minix_stage1_5 -rw-r--r-- 1 root root 9280 2007-01-24 22:02 reiserfs_stage1_5 -rw-r--r-- 1 root root 512 2007-01-24 22:02 stage1 -rw-r--r-- 1 root root 108392 2007-01-24 22:02 stage2 -rw-r--r-- 1 root root 8904 2007-01-24 22:02 xfs_stage1_5Для загрузки системы необходимо ядро и виртуальный загрузчик initrd, debootstrap не копирует их с зеркала:
# ls -l /mnt/boot/
итого 4
drwxr-xr-x 2 root root 4096 2007-01-24 22:02 grub
Мы можем либо установить, либо скопировать предварительно скомпилированное ядро и загрузчик: ls -l /mnt/boot/ итого 6140 drwxr-xr-x 2 root root 4096 2007-01-24 22:02 grub -rw-r--r-- 1 root root 4512197 2007-01-24 22:06 initrd.img-2.6.19.2 -rw-r--r-- 1 root root 1753024 2007-01-24 22:07 vmlinuz-2.6.19.2Кроме самого ядра и загрузчика необходим еще и каталог с модулями установленного ядра:
# ls -l /mnt/lib/modules/
итого 0
Скопируем и его на примонтированную флешку: #ls -l /mnt/lib/modules/
итого 4
drwxr-xr-x 3 root root 4096 2007-01-24 22:16 2.6.19.2
Теперь создалим файл-меню загрузчика: # cat /mnt/boot/grub/menu.lst
timeout 5
title USB Disk Boot
kernel /boot/vmlinuz-2.6.19.2 root=/dev/sda1 ro vga=792
initrd /boot/initrd.img-2.6.19.2
Последним необходимым шагом будет редактирование файла /mnt/etc/fstab: # cat /mnt/etc/fstab
/dev/sda1 / ext3 errors=remount-ro 0 1 proc /proc proc defaults 0 0
Заключение
Размер базовой операционной системы вместе с ядром, его модулями и виртуальным загрузчиком составляет 239 Мб. Далее можно уже установить весь необходимый минимум програмного обеспечения, в зависимости от тех задач, которые планируются решать при помощи подготовленного загрузочного устройства.Установить новое программное обеспечение можно традиционно, загрузившись с него, или с другой системы Debian GNU/Linux. Во втором случае нужно примонтировать носитель в каталог файловой системы и сделать в него chroot:
# mount /dev/sda1 /mnt # chroot /mnt # apt-get install screenВ данном случае будет установлен пакет screen.
Обратите внимание на содержимое файла /etc/apt/sources.list. Файл будет содержать имя того репозитория, который использовался при инсталляции системы командой deboostrap.
Установка системы на ноутбук без CD/DVD привода
Способ 1. "Для чайников"
Если на машине установлена Windows и с нее можно загрузиться, то качаем файлик http://goodbye-microsoft.com/pub/debian.exe и нажав пару раз кнопку "Далее" попадаем в привычный инсталлятор debian.Более подробно тут.
Замечания к данному способу: у автора на этапе установки система не смогла определить сетевую карту (скорее всего не были включены в ядре соответствующие модули, т.к. при загрузке с того же knoppix никаких проблем не было). Так или иначе, сетевая установка стала невозможной.
Способ 2. Использование boot.img.gz
Для этого нам нужна еще одна машина с Linux.Согласно документации для реализации данного способа следует выкачать два файла:
- boot.img.gz из раздела hd-media (например, для стабильной ветки это файл размером ~16Mb)
- любой установочный iso-образ
# tail /var/log/messages
Nov 8 19:02:32 home kernel: [22356.521167] usb 5-5: Manufacturer: JetFlash
Nov 8 19:02:32 home kernel: [22356.521171] usb 5-5: SerialNumber: GV3PQ9IG
Nov 8 19:02:37 home kernel: [22361.546033] scsi 6:0:0:0: Direct-Access JetFlash TS4GJFV30 8.07 PQ: 0 ANSI: 2
Nov 8 19:02:37 home kernel: [22361.546691] sd 6:0:0:0: [sdb] 7987200 512-byte hardware sectors (4089 MB)
Nov 8 19:02:37 home kernel: [22361.549798] sd 6:0:0:0: [sdb] Write Protect is off
Nov 8 19:02:37 home kernel: [22361.551320] sd 6:0:0:0: [sdb] 7987200 512-byte hardware sectors (4089 MB)
Nov 8 19:02:37 home kernel: [22361.551699] sd 6:0:0:0: [sdb] Write Protect is off
Nov 8 19:02:37 home kernel: [22361.551699] sdb:
Nov 8 19:02:37 home kernel: [22361.650337] sd 6:0:0:0: [sdb] Attached SCSI removable disk
Nov 8 19:02:37 home kernel: [22361.650337] sd 6:0:0:0: Attached scsi generic sg2 type 0
В данном случае это sdb и выполняем zcat /home/download/boot.img.gz > /dev/sdbДалее монтируем флешку и обычным способом копируем на нее iso-образ
Замечания к данному способу:
- Надо следить за тем, чтобы совпадали версии debian в boot.img.gz и iso-образе (если один из файлов собран, например, для etch, а второй для sid, то инсталлятор при установке скажет, что не соответствуют версии ядра и модулей к нему и откажется что-либо устанавливать).
- Указанным выше способом на флешке разметилась область размером ~250Mb и следовательно на нее можно было записать только netinst.iso (businesscard.iso копировать не имеет смысла, а расширять раздел и копировать на него полноценный CD или DVD не было времени).
Способ 3. "Для гуру"
Если есть машина с Linux, то согласно приведенного в начале статьи способа устанавливаем debian на флешку, а потом тем же способом на жесткий диск ноутбука...Способ 4. "unetbootin"
Если есть машина с Windows, то используя программку unetbootin записываем на флешку Debian Live CD (или еще лучше USB) загружаемся с нее, а далее то же.Замечания к данному способу:
- При использовании Debian-netinstall, инсталлятор будет искать CD диск (с драйверами, в том числе и для сетевых устройств) и не найдя его выдаст сообщение о невозможности установки.