Тема: Официальная инструкция по внесению собственных изменений в TC
Это руководство предполагает, что вы знакомы с командной строкой.
В ядре есть сжатый архив CPIO. Это может быть в комплекте вместе с ядром для метод загрузки вам нравится, например, образ ISO.
Процесс переиздания Tiny Core можно сделать из самого TC (если advcomp.tcz загружен, Mkisofs-tools.tcz (если вы хотите создать образ ISO), или из любого другого дистрибутива, от которого требуются следующие инструменты (CPIO, Tar, Gzip, advdef, Mkisofs если другие решения для ISO)
Примечание: наличие advcomp является не обязательным, если не установлен, пропустите все команды advdef.
Распаковка
Во-первых, получить ядро и tinycore.gz из ISO образа:
sudo mkdir /mnt/tmp
sudo mount tinycore.iso /mnt/tmp -o loop,ro
cp /mnt/tmp/boot/bzImage /mnt/tmp/boot/tinycore.gz /tmp
sudo umount /mnt/tmp
Если вы собираетесь создать образ ISO, вместо копирования только двух файлов копируйте все:
sudo mkdir /mnt/tmp
sudo mount tinycore.iso /mnt/tmp -o loop,ro
cp -a /mnt/tmp/boot /tmp
mv /tmp/boot/tinycore.gz /tmp
sudo umount /mnt/tmp
Затем извлеките содержимое tinycore.gz для добавления/удаления компонентов:
mkdir /tmp/extract
cd /tmp/extract
zcat /tmp/tinycore.gz | sudo cpio -i -H newc -d
Теперь полная файловая система в /tmp/extract. Не стесняйтесь добавлять, удалять или редактировать все что угодно.
Альтернативный способ добавления расширений в ядро Tiny Core.
Вы должны знать, что этот способ приводит к немного медленной загрузке, и, вероятно, большего размера initramfs.
Например:
cat microcore.gz Xlibs.gz Xprogs.gz Xvesa.gz > my_xcore.gz
Расширения, .tcz файлы могут быть распакованы при помощи инструмента unsquashfs и заново упакована с помощью инструмента GZIP, чтобы сделать процесс добавления готовых встроенных расширений пользователя в файловую систему initramfs.
Упаковка
Если вы изменяете версии TC 2.x, где х ? 1 и вы добавили модули ядра, тогда выполните команду:
sudo chroot /tmp/extract depmod -a 2.6.29.1-tinycore
Вы должны использовать chroot, потому что команда “depmod -b /tmp/extract” не создаст символическую ссылку kernel.tclocal на найденные модули в /usr/local
Для версий 2.x, где х> = 2 и выше (заменить ядро Uname на свое):
sudo depmod -a -b /tmp/extract 2.6.29.1-tinycore
Если вы добавили разделяемые библиотеки, то затем выполните:
sudo ldconfig -r /tmp/extract
После этого упакуйте это:
cd /tmp/extract
sudo find | sudo cpio -o -H newc | gzip -2 > ../tinycore.gz
cd /tmp
advdef -z4 tinycore.gz
Будет упаковано на уровне 2, чтобы сэкономить время. Advdef-z4 эквивалентно примерно на -11 GZIP.
Теперь у вас есть измененный tinycore.gz. Если загрузка осуществляться с другого носителя, не CD, то скопируйте tinycore.gz и ядро на ваше загрузочное устройство.
Создание ISO образа
Если вы хотите создать ISO образ:
cd /tmp
mv tinycore.gz boot
mkdir newiso
mv boot newiso
mkisofs -l -J -R -V TC-custom -no-emul-boot -boot-load-size 4 \
-boot-info-table -b boot/isolinux/isolinux.bin \
-c boot/isolinux/boot.cat -o TC-remastered.iso newiso
rm -rf newiso
Примечание 1: коммандная строка Mkisofs выше, примере охватывает три линии, но на самом деле вводится как одна строка
Примечание 2: -р опция должна быть добавлена, чтобы избежать ошибки, если разрешение нового ISO возводится за пределами окружения TinyCore
TC-remastered.iso теперь может быть записан или запущен в виртуальной машине.