Пробуем создать свой собственый кернел
Пробуем создать свой собственый кернел
Некоторых людей сама мысль о компиляции ядра операционной системы приводит в трепет. Спешу сообщить хорошую новость - это не трудно! Сама процедура изменения кернела технически проста, многие хакеры проводят бессонные ночи за этим увлекательным занятием, повышая надежность и производительность своей системы. Но для подобной работы нужно, безусловно, хорошо знать, что Вы делаете.
Главный шаг в этом процессе определяется процедурой "make config". Скрипт задаст Вам ряд вопросов о том, какие именно параметры кернела Вы хотите подвергнуть изменению. Эти параметры включают:
- Эмуляцию математического сопроцессора,
- Различные драйвера устройств,
- Поддержку файловой системы,
- Поддержку сети,
- Поддержку приводов компакт-дисков, мыши, звуковых плат... и так далее.
Скрипт ненавязчиво предложит свои значения этих параметров, но целью регенерации кернела является изменение этих параметров на Ваши собственные, которые лучше согласуются с конфигурацией Вашего компьютера. Если Ваш компьютер включает в себя мышь Logitech, звуковую плату GUS и соединен с сетью через модем и dial-up РРР, то Вам не нужна поддержка NFS, сетевых плат Ethernet или приводов компакт-дисков. Если Вы дадите неправильный ответ на один из вопросов о конфигурации Вашего компьютера, это не приведет к фатальной ошибке ОС, просто в систему будет включен драйвер неработающего устройства (кернел очень большой и занимает много памяти) или Вы лишитесь какой-либо функции, например, поддержки мыши.
Поэтому прежде всего нужно ознакомиться с технической документацией по ОС Linux, которая сейчас широко доступна в печатном или электронном виде в сети Интернет. Затем следует досконально изучить, из каких устройств состоит Ваш компьютер, чтобы определиться с набором необходимых драйверов и сервисов при конфигурации кернела. Рекомендую составить список всех устройств с указанием их моделей и технических характеристик.
После этого можно приступить к работе по следующему графику:
1. Получить исходные тексты ядра ОС Linux
2. Распаковать его в каталог /usr/src
3. Создать ссылку с /linux-2.0.x на /linux - ln -s /linux-2.0.x linux
4. Открыть каталог (cd/usr/src/linux)... и можно начинать
Теперь просто вводим следующие команды:
make mrproper ; make config ; make dep ; make clean ; make zImage
Это пока все. Километры строк с системными сообщениями и вопросами о конфигурации кернела заполнят Ваш экран. Отвечайте на вопросы... и новое ядро для ОС Linux готово.
Сколько времени это займет?
- pentium/133 - можно принять душ, но ненадолго.
- pentium/66 - можно спуститься вниз выпить газировки.
- 486DX2/66 - можно спуститься вниз выпить газировки и почитать журнал.
- 486SX/25 - можно спуститься вниз выпить газировки, съесть мороженое, почитать журнал, посмотреть кинофильм.
- 386DX40 - можно спуститься вниз выпить газировки, съесть мороженое, почитать журнал, посмотреть кинофильм, постирать белье.
- 386SX-16 - можно спуститься вниз выпить газировки, съесть мороженое, почитать журнал, посмотреть кинофильм, съездить домой навестить родственников.
- 286 - ... это не охотничья собака.
Когда компиляция будет закончена, Вы можете найти свой новенький, блестящий кернел в каталоге:
/usr/src/linux/arch/i386/boot
Он будет называться zImage. Получилось!
Уверен, что сразу захочется попробовать его в деле. Но прежде несколько важных советов:
Совет #1: будьте уверены, что у Вас есть рабочая загрузочная дискета, перед тем как Вы начнете следующий этап.
Совет #2: проверьте, загружается ли эта дискета!
Совет #3: сделайте резервную копию текущего ядра ОС (обычно это файл /vmlinuz).
Теперь переименуйте текущий рабочий кернел - например,
mv vmlinuz vmlinuz.bak
и скопируйте новый кернел zImage в корневой каталог:
cp zImage /vmlinuz.
Установите атрибуты для нового файла кернела:
chmod 400 vmlinuz
и перезапустите LILO - загрузчик ОС!
/sbin/lilo
Теперь можно перегрузить компьютер:
shutdown -r now
Не работает??!!! Аааааааххххх... какая досада!!! Не волнуйтесь, все поправимо. Если Ваша система не хочет загружаться с новым кернелом, можно загрузиться с дискеты и восстановить предыдущую версию, благоразумно сохраненную в надежном месте, и перезапустить LILO:
/sbin/lilo
Теперь вы восстановили предыдущую версию кернела и опять можете загрузиться с жесткого диска. Несколько советов по безопасному тестированию и отладке нового кернела в следующей статье.
Игорь Грень - титульная страница
Некоторых людей сама мысль о компиляции ядра операционной системы приводит в трепет. Спешу сообщить хорошую новость - это не трудно! Сама процедура изменения кернела технически проста, многие хакеры проводят бессонные ночи за этим увлекательным занятием, повышая надежность и производительность своей системы. Но для подобной работы нужно, безусловно, хорошо знать, что Вы делаете.
Главный шаг в этом процессе определяется процедурой "make config". Скрипт задаст Вам ряд вопросов о том, какие именно параметры кернела Вы хотите подвергнуть изменению. Эти параметры включают:
- Эмуляцию математического сопроцессора,
- Различные драйвера устройств,
- Поддержку файловой системы,
- Поддержку сети,
- Поддержку приводов компакт-дисков, мыши, звуковых плат... и так далее.
Скрипт ненавязчиво предложит свои значения этих параметров, но целью регенерации кернела является изменение этих параметров на Ваши собственные, которые лучше согласуются с конфигурацией Вашего компьютера. Если Ваш компьютер включает в себя мышь Logitech, звуковую плату GUS и соединен с сетью через модем и dial-up РРР, то Вам не нужна поддержка NFS, сетевых плат Ethernet или приводов компакт-дисков. Если Вы дадите неправильный ответ на один из вопросов о конфигурации Вашего компьютера, это не приведет к фатальной ошибке ОС, просто в систему будет включен драйвер неработающего устройства (кернел очень большой и занимает много памяти) или Вы лишитесь какой-либо функции, например, поддержки мыши.
Поэтому прежде всего нужно ознакомиться с технической документацией по ОС Linux, которая сейчас широко доступна в печатном или электронном виде в сети Интернет. Затем следует досконально изучить, из каких устройств состоит Ваш компьютер, чтобы определиться с набором необходимых драйверов и сервисов при конфигурации кернела. Рекомендую составить список всех устройств с указанием их моделей и технических характеристик.
После этого можно приступить к работе по следующему графику:
1. Получить исходные тексты ядра ОС Linux
2. Распаковать его в каталог /usr/src
3. Создать ссылку с /linux-2.0.x на /linux - ln -s /linux-2.0.x linux
4. Открыть каталог (cd/usr/src/linux)... и можно начинать
Теперь просто вводим следующие команды:
make mrproper ; make config ; make dep ; make clean ; make zImage
Это пока все. Километры строк с системными сообщениями и вопросами о конфигурации кернела заполнят Ваш экран. Отвечайте на вопросы... и новое ядро для ОС Linux готово.
Сколько времени это займет?
- pentium/133 - можно принять душ, но ненадолго.
- pentium/66 - можно спуститься вниз выпить газировки.
- 486DX2/66 - можно спуститься вниз выпить газировки и почитать журнал.
- 486SX/25 - можно спуститься вниз выпить газировки, съесть мороженое, почитать журнал, посмотреть кинофильм.
- 386DX40 - можно спуститься вниз выпить газировки, съесть мороженое, почитать журнал, посмотреть кинофильм, постирать белье.
- 386SX-16 - можно спуститься вниз выпить газировки, съесть мороженое, почитать журнал, посмотреть кинофильм, съездить домой навестить родственников.
- 286 - ... это не охотничья собака.
Когда компиляция будет закончена, Вы можете найти свой новенький, блестящий кернел в каталоге:
/usr/src/linux/arch/i386/boot
Он будет называться zImage. Получилось!
Уверен, что сразу захочется попробовать его в деле. Но прежде несколько важных советов:
Совет #1: будьте уверены, что у Вас есть рабочая загрузочная дискета, перед тем как Вы начнете следующий этап.
Совет #2: проверьте, загружается ли эта дискета!
Совет #3: сделайте резервную копию текущего ядра ОС (обычно это файл /vmlinuz).
Теперь переименуйте текущий рабочий кернел - например,
mv vmlinuz vmlinuz.bak
и скопируйте новый кернел zImage в корневой каталог:
cp zImage /vmlinuz.
Установите атрибуты для нового файла кернела:
chmod 400 vmlinuz
и перезапустите LILO - загрузчик ОС!
/sbin/lilo
Теперь можно перегрузить компьютер:
shutdown -r now
Не работает??!!! Аааааааххххх... какая досада!!! Не волнуйтесь, все поправимо. Если Ваша система не хочет загружаться с новым кернелом, можно загрузиться с дискеты и восстановить предыдущую версию, благоразумно сохраненную в надежном месте, и перезапустить LILO:
/sbin/lilo
Теперь вы восстановили предыдущую версию кернела и опять можете загрузиться с жесткого диска. Несколько советов по безопасному тестированию и отладке нового кернела в следующей статье.
Игорь Грень - титульная страница
Компьютерная газета. Статья была опубликована в номере 30 за 1998 год в рубрике soft :: linux