======Введение====== В данном руководстве мы проследим создание первого публичного релиза 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 А сейчас перейдем к созданию [[ru:scratchbook:base-system|базового варианта SliTaz]]. ---- Статью перевел [[http://forum.slitaz.org/index.php/profile/1273/Cyril|Cyril]]