Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
playground:playground [11/09/2015 10:12] – pasha | playground:playground [Дата неизвестна] (текущий) – внешнее изменение (Дата неизвестна) 127.0.0.1 | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ^ | + | ======Playground====== |
- | + | ||
- | <note tip> | + | |
- | *в статье описан один из способов создания livecd со своими настройками | + | |
- | *aufs собиралась модулем ядра | + | |
- | *все действия производились на [[https:// | + | |
- | </ | + | |
- | **Написано по:**\\ | + | |
- | *[[http:// | + | |
- | *[[http:// | + | |
- | + | ||
- | ======Общая картина состоит из двух этапов: | + | |
- | ====1-ый этап: | + | |
- | - Создаем виртуальную машину, | + | |
- | - Собираем модуль ядра и утилиты к нему. | + | |
- | - Перегружаемся с новым ядром, пробуем загрузить собранный молуль. | + | |
- | - Если модуль загрузился, | + | |
- | ====2-ой этап: | + | |
- | - Создаем виртуальную машину и устанавливаем на нее минимальную установку Salix. Можно и не минимальную, | + | |
- | - Устанавливаем созданные нами пакеты и грузимся с новым ядром. | + | |
- | - Пробуем загрузить установленный нами модуль. | + | |
- | - Если модуль загрузился, | + | |
- | - Создаем livecd с настроенной виртуалки. | + | |
- | + | ||
- | <note tip> | + | |
- | Можно обойтись и без второй виртуалки и создать livecd с виртуалки, | + | |
- | Но, как мне кажется, | + | |
- | </ | + | |
- | + | ||
- | =======Подробное описание каждого этапа======= | + | |
- | ====1-ый этап: | + | |
- | На виртуалку ставим Salix 14.1 с набором пакетов CORE\\ | + | |
- | заходим на нее и обновляем список пакетов | + | |
- | < | + | |
- | # cd ~ | + | |
- | # slapt-get --update | + | |
- | </ | + | |
- | ставим исходники ядра | + | |
- | < | + | |
- | # slapt-get -i kernel-source | + | |
- | </ | + | |
- | ставим пакет bc (нужен для сборки ядра (не уверен), | + | |
- | < | + | |
- | # slapt-get -i bc | + | |
- | </ | + | |
- | качаем исходники модуля aufs | + | |
- | < | + | |
- | # git clone git:// | + | |
- | # cd ./ | + | |
- | </ | + | |
- | переключаемся на нужную нам ветку | + | |
- | <note tip> | + | |
- | В README по выбору нужной ветки сказано, | + | |
- | Казалось бы, нам нужна ветка origin/ | + | |
- | </ | + | |
- | < | + | |
- | # git checkout origin/ | + | |
- | </ | + | |
- | копируем патчи для ядра | + | |
- | < | + | |
- | # cp ./ | + | |
- | # cp ./ | + | |
- | # cp ./ | + | |
- | </ | + | |
- | переходим в каталог с исходниками ядра и накатываем патчи | + | |
- | < | + | |
- | # cd / | + | |
- | # patch -p1 < ./ | + | |
- | # patch -p1 < ./ | + | |
- | # patch -p1 < ./ | + | |
- | </ | + | |
- | копируем конфиг ядра (патчи, | + | |
- | < | + | |
- | # cat / | + | |
- | </ | + | |
- | собираем ядро | + | |
- | < | + | |
- | # make | + | |
- | </ | + | |
- | копируем новое ядро, System.map и .config в /boot | + | |
- | < | + | |
- | # cp ./ | + | |
- | # cp ./ | + | |
- | # cp ./.config / | + | |
- | </ | + | |
- | удаляем старые ссылки и создаем новые | + | |
- | < | + | |
- | # rm / | + | |
- | # rm / | + | |
- | # rm / | + | |
- | # ln -s / | + | |
- | # ln -s / | + | |
- | # ln -s / | + | |
- | </ | + | |
- | перезаписываем загрузчик | + | |
- | < | + | |
- | # lilo | + | |
- | </ | + | |
- | ставим заголовки ядра и перегружаемся с новым ядром | + | |
- | < | + | |
- | # make headers_install | + | |
- | # reboot | + | |
- | </ | + | |
- | собираем модуль ядра aufs.ko | + | |
- | < | + | |
- | # cd ~/ | + | |
- | # make | + | |
- | # make install | + | |
- | </ | + | |
- | <note tip> | + | |
- | По умолчанию модуль aufs.ko ставится в / | + | |
- | < | + | |
- | # mkdir -p / | + | |
- | # cp ./aufs.ko / | + | |
- | # rm / | + | |
- | # depmod -a | + | |
- | </ | + | |
- | </ | + | |
- | проверяем загружается ли модуль | + | |
- | < | + | |
- | # modprobe aufs | + | |
- | # lsmod | grep aufs | + | |
- | aufs 241031 | + | |
- | </ | + | |
- | модуль загружен и теперь собираем утилиты для aufs\\ | + | |
- | качаем исходники утилит | + | |
- | < | + | |
- | # cd ~ | + | |
- | # git clone git:// | + | |
- | # cd ./ | + | |
- | </ | + | |
- | переключаемся на нужную нам ветку | + | |
- | < | + | |
- | # git checkout origin/ | + | |
- | </ | + | |
- | собираем утилиты | + | |
- | < | + | |
- | # make CPPFLAGS=" | + | |
- | # make install | + | |
- | </ | + | |
- | <note tip> | + | |
- | На этом, подготовка к созданию livecd закончена и если вы планируете делать livecd с этого дистрибутива, | + | |
- | </ | + | |
- | ==Собирем готовые пакеты с новым ядром, модулем, | + |