— Встроим tcplay, сопутствующие утилиты и необходимые модули в основной файл Puppy Slacko, чтоб tcplay был доступен «из коробки».
Плюсы:
— tcplay и недостающие криптографические модули будут работать из коробки, даже если файл сохранения с соответствующими изменениями испортился/потерялся.
Минусы:
— способ требует больше движений, но все-таки меньше, чем, если полностью пересобирать ядро.
— немного увеличится размер главного файла.
1. Предварительно собранные модули для PAE или Non-PAE версии Slacko. См. соответствующую здесь
2. «Большой» Linux или Puppy с комплектом разработчика.
3. Комплект для работы со SquashFS, чтоб разобрать основной файл Puppy Linux Slacko, добавить туда, что нам надо, собрать обратно и оттестировать. Я на «большом» Линуксе просто скачал
squashfs-tools-4.2
через sbopkg
, но кому мало ли надо, вот оф. сайт4. Необходимые пакеты LVM2, tcplay и Multipath tools. Ссылки здесь
5. Скрипт, загружающий модули.
Примечание: ниже описанным образом можно встроить и другие программы, которые недоступны из коробки, только не переусердствуйте, чтоб сильно не раздуть главный файл sfs.
Внимание! Операции по подготовке ОС, разборке главного файла, его сборке и внедрению новых программ лучше выполнять из под root, чтоб не слетели права на некоторые системные файлы.
Примечание: придется много чего распаковывать, копировать, пользуйтесь mc для удобства
1. Помещаем главный файл
puppy_slacko_5.5.sfs
в отдельный каталог и распаковываем командой unsquashfs puppy_slacko_5.5.sfs
. По окончании процесса, в каталоге образуется подкаталог squashfs-root
с содержимым sfs-файла.2. Если вы скачали готовые модули, то просто распакуйте в каталог
squashfs-root
каталоги bin
и lib
из архивов, при необходимости заменяя файлы. Если вы сами собирали модули, руководствуясь предыдущими заметками, скопируйте их в подкаталог lib/modules/XXX.XXX.XXX/kernel/crypto
подкаталога squashfs-root
где XXX.XXX.XXX
— версия ядра, а также создайте в подкаталоге bin
скрипт tcplay-mod:
#!/bin/bash
echo "Loading modules..."
modprobe lrw
modprobe xts
modprobe cbc
modprobe rmd160
modprobe sha256
modprobe wp512
modprobe aes
modprobe serpent
modprobe twofish
modprobe dm-crypt
echo "Complete!"
И назначьте ему права на исполнение3. Модифицируйте файл
squashfs-root/etc/rs.d/rs.local
дополнив его командой /bin/tcplay-mod >/logmod
, если вы не используете файерволл Puppy, закомментируйте предыдущую строчку. Вывод процесса загрузки модулей будет происходить в файл /logmod
, при необходимости это можно будет использовать для отслеживания ошибок при запуске модулей.4. Назначьте файлу
squashfs-root/etc/rs.d/rs.local
права на исполнение.5. Распакуйте в отдельный каталог пакет поддержки LVM2
6. Скопируйте из этого каталога все подкаталоги, кроме подкаталога
install
в каталог squashfs-root
7. Скопируйте из подкаталога
install
в каталог squashfs-root
скрипт doinst.sh
8. Установите ему права на выполнение, запустите, после чего удалите его.
9. Повторите пункты 5-9 для остальных пакетов (tcplay и Multipath tools)
Теперь обратно нужно собрать главный файл, выходим из директории
squashfs-root
на уровень выше и выполняем команду:mksquashfs squashfs-root puppy_slacko_5.5.sfs
Размер полученного нового главного файла увеличился примерно на 9 мегабайт, и приблизительно мегабайт на 15 увеличится, если добавить туда отсутствующий из коробки mc и обновить некоторые плагины к Firefox.Puppy_slacko_5.5.sfs (PAE)
Puppy_slacko_5.5.sfs (non-PAE, 4G)
Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/327863.html
Прокомментировать заметку можно по ссылке выше.