SliTaz GNU/Linux official and community documentation wiki.
.png
Translations of this page:

Введение

В данном руководстве мы проследим создание первого публичного релиза SliTaz и проведем вас в самое сердце системы Linux. Вы научитесь как модифицировать существующую систему, так и создавать полностью новые дистрибутивы; они будут работать в оперативной памяти (RAM) и их можно будет установить на жесткий диск или флешку. Уже в самом начале работы можно извлечь диск из привода и продолжать работать в SliTaz. Также SliTaz может служить chroot-окружением или использовать CD-ROM с целью многозадачности. Всё, что потребуется для начала — основная система, в которой вы будете хранить библиотеки, запускать компилятор и утилиты разработки и т.д. Основной системой может служить окружение chroot, тот или иной мини-дистрибутив Linux, сам SliTaz, установленный на жесткий диск, или дистрибутив общего назначения (Debian, Slackware, Fedora, Gentoo, Mandriva, Arch и др.). В течение всего процесса работы никакие пакеты не будут установлены в основную систему, так что она останется нетронутой.

В качестве базы для системы и для ядра Linux SliTaz использует BusyBox (получивший прозвище «Швейцарский нож» за многофункциональность). Это встроенное приложение, занимающее совсем немного места в памяти и содержащее множество программ. Для нас BusyBox — основной источник информации и утилита из проекта Debian, которую мы используем и ценим.

Также SliTaz использует загрузчик Syslinux и архив файловой системы (initramfs), сжатой при помощи cpio. Ядро Linux распаковывает этот образ в память при загрузке, при этом размер системы не фиксирован и сохраняется контроль над процессом загрузки. При компиляции программ и их добавлении в репозитории мы используем утилиту strip для очистки репозиториев. Системные команды genisoimage или mkisofs используются для создания ISO-образов. По окончании работы образ можно протестировать в Qemu или записать на CD/DVD-RW.

Создание рабочей папки

Чтобы начать процесс создания SliTaz, нам понадобится папка с несколькими вложенными папками для работы. Независимо от того, работаете вы в chroot-окружении или в основной системе, советуем создать папку distro/ в качестве рабочей. Эта папка может быть как простой папкой, так и разделом, в целом, вы вольны расположить ее где пожелаете.

distro/

Содержимое рабочей папки:

  • rootfs/ — корневая файловая система, созданная для работы в RAM, она используется для создания образа initramfs.
  • rootfs.gz — образ initramfs нашей системы — cpio-архив, сжатый в gzip.
  • rootcd/ — корневая папка файлов, которые будут помещены в образ CD.
  • src/ — все исходники (ядра, Syslinux, Busybox, Dropbear и т.д.), также может быть символической ссылкой.

И еще — образы initramfs и загрузочный ISO (slitaz-cooking.iso) мы создадим в папке SliTaz/ в нашей рабочей папке.

По выбору: rootfs.ext2 — использование виртуального жесткого диска

rootfs.ext2 (корневая файловая система в ext2) — это виртуальный жесткий диск, форматированный в ext2 и монтируемый в петлю rootfs. Монтирование такого устройства позволит использовать файл как стандартное устройство (жесткий диск, floppy-дисковод и т.д.) и создать внутри него файловую систему. Этот файл может быть любого размера, мы же советуем выбрать размер 20 480 байт, что соответствует 20 мегабайтам:

# dd if=/dev/zero of=rootfs.ext2 bs=1k count=20480

Теперь создадим файловую систему ext2 в этом файле опцией -F команды mkfs. Важно отметить, что опция -m 0 не выделяет пространства для корневой папки пользователя (по умолчанию он занимает приблизительно 5%), а опцией -t мы задаем тип файловой системы, например, ext2 или ext3:

# mkfs -t ext2 -F -m0 rootfs.ext2

Далее подключим rootfs.ext2 в петлю в папке rootfs/ опцией -o loop команды mount. Проверить успешность операции можно командой df -h:

# mkdir rootfs
# mount -o loop rootfs.ext2 rootfs
# df -h

В конце работы отмонтируем том командой umount:

# umount rootfs

А сейчас перейдем к созданию базового варианта SliTaz.


Статью перевел Cyril

 
ru/scratchbook/intro.txt · Last modified: 2010/10/01 01:19 by lexeii