Andy home page
Главное меню
Главная
Категории
Статьи
Файлы
Ссылки
Архив
Поиск
Галлерея
Гостевая
Опросы
Сетевой калькулятор
NES Emulator
Музей
Обратная связь

Кто на сайте
Добро пожаловать,
Гость

ВойтиВойти
РегистрацияРегистрация
Забыли Пароль?Забыли Пароль?

Посетителей онлайн
ПользователейПользователей: 0
ГостейГостей: 17
_BOTБотов: 0
ВсегоВсего: 17

Server Time
Время: 10:04:56
Дата: 23/11/24
Календарь
Ссылки

Создание Live CD на основе системы Debian
Напечатать текущую страницу
Linux

Создание Live CD на основе системы Debian



Создание корневой файловой системы для будущего live cd.

Все операции должны происходить под пользователем root:

su root

или

sudo su

Создание директории:

mkdir ~/squashfs-root

Запуск debootstrap

«Debootstrap эта программа позволяет установить минимальную рабочую Debian-систему в указанный каталог, уже установленной системы. Она не требует установки CD, просто доступ к репозиторию Debian. Она также может быть установлена и запущена с другой операционной системы, так, например, вы можете использовать Debootstrap для установки Debian на неиспользуемый раздел с запущенной системы Linux. Она также может быть использована для создания корневой файловой системы для машин различной архитектуры»

Для установки наберите в консоли:

apt-get install debootstrap

Запуск:

debootstrap --arch=i386 squeeze ~/squashfs-root http://ftp.ua.debian.org/debian

--arch=i386архитектура системы amd64, armel, powerpc,armhf, i386, ia64, mips, mipsel

squeeze – название релиза Debian

~/squashfs-root – путь, куда устанавливается система

http://ftp.ua.debian.org/debian - адрес репозитория

Execute debootstrap
I: Retrieving Release
I: Retrieving Packages
I: Validating Packages
I: Resolving dependencies of required packages...
I: Resolving dependencies of base packages...
I: Found additional required dependencies: insserv libbz2-1.0 libdb5.1 libsemanage-common libsemanage1 libslang2 libustr-1.0-1
I: Found additional base dependencies: libept1.4.12 libgcrypt11 libgnutls26 libgpg-error0 libidn11 libnfnetlink0 libp11-kit0 libsqlite3-0 libtasn1-3 libxapian22
I: Checking component main on http://ftp.ua.debian.org/debian...
I: Retrieving libacl1
I: Validating libacl1
I: Retrieving adduser
I: Validating adduser
I: Retrieving apt
I: Validating apt
I: Retrieving apt-utils
I: Validating apt-utils
I: Retrieving libapt-inst1.5
I: Validating libapt-inst1.5
I: Retrieving libapt-pkg4.12
I: Validating libapt-pkg4.12
I: Retrieving aptitude
I: Validating aptitude
I: Retrieving aptitude-common
I: Validating aptitude-common
I: Retrieving libattr1
I: Validating libattr1
I: Retrieving base-files
I: Validating base-files
I: Retrieving base-passwd
I: Validating base-passwd
......
I: Configuring whiptail...
I: Configuring ifupdown...
I: Configuring kmod...
I: Configuring libapt-pkg4.12:i386...
I: Configuring libept1.4.12...
I: Configuring libapt-inst1.5:i386...
I: Configuring libreadline6:i386...
I: Configuring logrotate...
I: Configuring libboost-iostreams1.49.0...
I: Configuring groff-base...
I: Configuring gnupg...
I: Configuring libsigc++-2.0-0c2a:i386...
I: Configuring libgnutls26:i386...
I: Configuring apt-utils...
I: Configuring udev...
I: Configuring iptables...
I: Configuring man-db...
I: Configuring apt...
I: Configuring wget...
I: Configuring libcwidget3...
I: Configuring aptitude...
I: Configuring tasksel...
I: Configuring tasksel-data...
I: Base system installed successfully.

Монтирование виртуальных файловых систем

После завершения установки для правильного функционирования основных программ необходимо примонтировать следующие файловые системы:

mount -t proc none ~/squashfs-root/proc

procfs — виртуальная файловая система, используемая в UNIX-подобных операционных системах, позволяет получить доступ к информации о системных процессах из ядра, она необходима для выполнения таких команд как ps, w, top.

mount -o bind /dev ~/squashfs-root/dev

dev - директория в системах типа UNIX, содержащая специальные файлы — интерфейсы работы с драйверами ядра.

mount -t devpts devpts ~/squashfs-root/dev/pts

devtps - виртуальная файловая система обеспечивает доступ к псевдо терминалам (pty).

mount -t sysfs none ~/squashfs-root/sys

sysfs — виртуальная файловая система в операционной системе Linux. Экспортирует в пространство пользователя информацию ядра Linux о присутствующих в системе устройствах и драйверах.

Настройка базовой системы

Для последующей настройки и инсталляции пакетов необходимо войти в среду chroot.

LANG=C HOME=/root chroot ~/squashfs-root

Изменить имя хоста в файле /etc/hostname, так как сейчас оно совпадает с именем основной системы:

echo "debian" > /etc/hostname

Настройка часового пояса

По умолчанию UTC:

dpkg-reconfigure tzdata

Настройка Apt

Содержимое файла /etc/apt/sources.list:

deb http://ftp.us.debian.org/debian squeeze main
deb-src http://ftp.us.debian.org/debian squeeze main
deb http://security.debian.org squeeze/updates main
deb-src http://security.debian.org squeeze/updates main

apt-get update

Настройка раскладки клавиатуры и локалей

Чтобы использовать язык, отличный от английского, нужно настроить локаль. Для этого установите пакет поддержки locales.

apt-get install locales

dpkg-reconfigure locales

Выберете нужные вам локали из списка, рекомендуется использовать UTF-8 локали: например en_US.UTF8 и ru_RU.UTF8.

Проверить какие локали стоят можно командой localea - на экране увидите список локалей доступных для использования.

Поддержка кириллицы в консоли:

apt-get install console-cyrillic

dpkg-reconfigure console-cyrillic

Настройка раскладки клавиатуры:

apt-get install console-data

dpkg-reconfigure console-data

Установка ядра

Определите доступные пакеты с ядрами с помощью:

apt-cache search linux-image

из списка выбираем то что нам нужно

linux-image-486 – Linux for old PCs (meta-package)

linux-image-686 – Linux for modern PCs (meta-package)

……..

Установите пакет с ядром, указав подходящий вариант например:

apt-get install linux-image-486

Установка скриптов для запуска с диска

live-boot содержит сценарии для настройки системы Debian Live во время её загрузки (на раннем этапе).

apt-get install live-boot

live-config содержит сценарии для настройки системы Debian Live во время загрузки (на позднем этапе настройки окружения пользователя).

apt-get install live-config

Установка X-сервера

Программы xinit и startx выполняют запуск X-сервера и загрузку базового X-сеанса.

apt-get install xinit

Русские фонты:

apt-get install xfonts-cyrillic

Установка оконного менеджера.

IceWm -- это менеджер окон для X Window System. Он быстр, использует мало памяти и может выглядеть как Windows'95, OS/2 Warp 3,4 и Motif. В него включены все лучшие возможности перечисленных выше систем. Также он поддерживает несколько рабочих областей, отображение окон при перетаскивании/изменении, панель задач, список окон, состояние почтового ящика, цифровой вид часов.

apt-get install icewm

если не нравится этот WM можно поставить любой другой.

AfterStep, Awesome, Blackbox, dwm, Enlightenment, Fluxbox, FVWM, JWM, KWin, MWM, Openbox, twm, xmonad … и др.

Остальной набор пакетов зависит от задач, для которых собирается такой Live-CD

Например, можно использовать для построения роутера, сервер видео наблюдения, DHCP сервер, восстановление других систем Linux и Windows и т.д.

Выход из chroot окружения

После установки программ необходимо очистить кэш пакетов

apt-get clean

Также очистить директории временных файлов

rm -rf /tmp/*

rm -rf /var/tmp/*

Выйти из chroot

exit

Теперь отмонтируйте виртуальные файловые системы

umount ~/squashfs-root/dev/pts -l

umount ~/squashfs-root/dev -l

umount ~/squashfs-root/proc -l

umount ~/squashfs-root/sys -l

Создание образа squashfs

Squashfs (.sfs) — сжимающая файловая система для GNU/Linux, предоставляющая доступ к данным в режиме «только для чтения».

Squashfs используется Live CD дистрибутивами Debian, Gentoo, Ubuntu, Fedora, а также во встраиваемых дистрибутивах, таких как прошивки маршрутизаторов OpenWRT и DD-WRT.

Для установки наберите в консоли:

apt-get install squashfs-tools

Запуск mksquashfs

mksquashfs ~/squashfs-root ~/filesystem.squashfs -noappend

~/squashfs-root – директория с файловой системой

~/filesystem.squashfs – путь и имя файла сжатой файловой системы

-noappend – не добавлять к существующей системе

Создание образа ISO и загрузчика

SYSLINUX Project — набор загрузчиков ядра Linux (автор H. Peter Anvin), состоит из нескольких отдельных загрузчиков.

Список загрузчиков в SYSLINUX Project

syslinux, использующийся для загрузки с FAT, FAT32, NTFS

isolinux, для загрузки с iso9660

pxelinux, для загрузки по PXE

extlinux, для загрузки с ext2/ext3/ext4 или btrfs

Скачиваем нужную версию syslinux:

cd ~/

wget https://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-4.05.tar.gz --no-check-certificate

tar -xvf syslinux-4.05.tar.gz

mkdir iso

mkdir iso/isolinux

mkdir iso/live

cp syslinux-4.05/core/isolinux.bin iso/isolinux/isolinux.bin

cp syslinux-4.05/com32/menu/vesamenu.c32 iso/isolinux/vesamenu.c32

touch iso/isolinux/isolinux.cfg

nano iso/isolinux/isolinux.cfg

Содержимое файла iso/isolinux/isolinux.cfg

default /isolinux/vesamenu.c32 #Это путь к файла модуля меню при его указании появляются широкие возможности для оформления меню.
menu title Linux live boot # указание заголовка меню
#описание цветов элемнтов
menu background #1F45A5
menu color title 1 #ffffff #000000 std
menu color sel 0 #ffffff #000000 std
menu color unsel 0 #aaaaaa
prompt 0 # Индекс выбранного по умолчанию пункта меню начинается с 0.
timeout 30 #Таймаут по истечении которого автоматически начинается загрузка пункта по умолчанию.
label live
menu label Debian Live Ru
kernel /live/vmlinuz
append initrd=/live/initrd.img boot=live config quiet locales=ru_RU.UTF-8 username=andy keyb=us,ru klayout=us koptions=grp:alt_shift_toggle

Копируем  ранее созданный образ filesystem.squashfs

cp filesystem.squashfs iso/live/filesystem.squashfs

Далее копируем initrd.img

Initrd (сокращение от англ. Initial RAM Disk, диск в оперативной памяти для начальной инициализации) — временная файловая система, используемая ядром Linux при начальной загрузке. Initrd обычно используется для начальной инициализации перед монтированием «настоящих» файловых систем.

cp squashfs-root/boot/initrd.img-2.6.32-5-486 iso/live/initrd.img

и ядро

cp squashfs-root/boot/vmlinuz-2.6.32-5-486 iso/live/vmlinuz

Создание образа iso

GenIsoImage - программа, предназначення для создания образов файловых систем ISO-9660 CD-ROM (или просто: iso-образ). Созданный образ впоследствии может быть записан на CD или DVD с помощью соответствующим программ (например, wodim или k3b). http://debianworld.ru/articles/genisoimage-sozdanie-obrazov-fajlovyh-sistem-cdrom-iso-9660/

Установка:

apt-get install genisoimage

Использование:

mkisofs -r -V “Linux_live” -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o debian-live.iso iso/

или

genisoimage -r -V “Linux_live” -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o debian-live.iso iso/

-r - Устанавливают биты чтения на всех файлах, так что все каталоги и файлы читаемы для всех. Если хотя бы для одного файла был установлен бит исполнения, то они ставятся на все файлы. Если хотя бы на одном каталоге был определен бит поиска, то они ставятся на все каталоги, так что везде можно будет осуществлять поиск. Все биты записи сбрасываются, так как в любом случае CD-Rom будет подключен в режиме только-для-чтения.

-V - Определяет идентификатор тома ID (имя, метка) для записи в главный блок.

-cache-inodes - Кэшировать номера записей inode и устройств для указания жестких ссылок на файлы. Если mkisofs обнаружит жесткую ссылку (файл с несколькими именами), то такой файл на диске присутствовать будет только в одном экземпляре. Это позволит экономить место. Опция -cache-inodes активна по умолчанию на всех UNIX-подобных операционных системах. Будьте осторожны при использовании этой опции на файловой системе без уникальных номеров записей inode, так как это приведет к записи файлов на диске, содержащих некорректную информацию.

-J - Создает записи каталогов Joliet в дополнение к обычным именам файлов iso9660. Очень полезно для дисков, используемых на машинах Windows-NT или Windows-95. Имена файлов Joliet указаны в уникоде и каждый компонент имени пути может быть длиной до 64 символа уникода. Заметим, что Joliet не является стандартом - компакт диски, использующие только расширения Joliet, а не стандартные методы Rock Ridge обычно используются только на системе Win32 от Microsoft. Более того - то, что имена файлов ограничены до 64 символов и то, что Joliet использует кодировку UTF-16 для символов уникода, вносит серьезные проблемы при взаимодействии с разными системами.

-l - Разрешает полные имена файлов длиной 31 символ. Обычно это имена ISO9660 в формате 8.3, совместимые с MS-DOS, с учетом того, что стандарт ISO9660 вообще допускает имена файлов до 31 символа. Если вы используете эту опцию, то диск будет сложно использовать в системе MS-DOS, но на других системах все будет в порядке (например, на Amiga).

-b isolinux/isolinux.bin - Определяет путь и имя файлы образа загрузки для создания загрузочного диска "El Torito". Путь должен быть относителен исходного пути, указанного в mkisofs. Эта опция требуется для создания загрузочных компакт дисков "El Torito". Образ загрузки должен иметь точный размер 1.2, 1.44 или 2.88 Мб флоппи дисков, а mkisofs будет использовать этот размер при создании файловой системы iso9660. Предполагается, что первые 512 байтов сектора должны считываться с загрузочного образа (обычно эмулируется простая флоппи дискета).

-c isolinux/boot.cat - Определяет путь и имя файла каталога загрузки, испольуземого при создании загрузочного диска "El Torito". Путь должен быть указан относительно исходного пути запуска mkisofs. Эта опция требуется для создания загрузочного диска. Этот файл будет вставлен в получаемое дерево, а не будет создан в исходной файловой системе, поэтому убедитесь, чтобы его имя не конфликтовало с уже существующим файлом, который в таком случае будет удален. Обычно выбирают имя "boot.catalog".

-no-emul-boot - Определяет, что используемый образ загрузки для создания загрузочного диска "El Torito" является образом без эмуляции ('no emulation'). Система будет загружать и исполнять этот образ, не выполняя никаких операций по эмуляции диска.

-boot-load-size 4 - Определяет номер "виртуальных" (по 512 байт) секторов для загрузки в режиме без эмуляции. По умолчанию загружается весь файл загрузки целиком. Некоторые BIOS могут воспринимать их с ошибкой, если их количество не будет кратно 4.

-boot-info-table - Определяет, что таблица размером в 56 байт с информацией о разметке компакт диска будет исправлена по сдвигу шаблона 8 в файле загрузки. Если задана эта опция, то файл загрузки изменяется прямо в исходной файловой системе, так что убедитесь, что у вас есть копия этого файла.

-o debian-live.iso - Имя файла, куда будет записываться образ файловой системы iso9660.

iso/ - корневой каталог компакт диска.       

Запись образа на диск    

Теперь можно записать диск да CD-RW или DVD-RW

cdrecord –scanbus
     1,0,0  100) ‘NEC’ ‘NEC IDE CDR10’ ‘1.00’
     1,1,0  101) *

cdrecord -v -eject speed=4 dev=1,0,0 debian-live.iso

При копировании материалов ссылка на сайт обязательна


Добавлена: 27/11/2013 · Автор: admin

Просмотров: 9584

Оценить:
Social net
Сатьи

Все статьи
Друзья
Сайт skeletora
ОНАПТ
OLD-HARD.RU


Webmaster Andy
Copyright©1998-2014 Odessa


Открытие страницы: 2.77 секунды и 8 запросов к БД
Хостинг
Регистрация домена
free counters