Tw-city.info

IT Новости
4 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Создание ос на ядре linux

MNorin.com

Блог про Linux, Bash и другие информационные технологии

Как собрать свой дистрибутив Linux

Собрать свой дистрибутив операционной системы на базе ядра Linux и свободного программного обеспечения можно несколькими способами. Среди них есть как сложные, так и очень простые. Давайте рассмотрим несколько способов разной степени сложности и, может быть, вы для себя какой-то из этих способов выберите, чтобы собирать образы операционных систем для дома или работы. Некоторые способы даже не требуют каких-то более или менее глубоких знаний о Linux.

Linux From Scratch (LFS)

Самый суровый способ. LFS представляет из себя сочетание книги и загрузочного диска для сборки собственной операционной системы на базе ядра Linux полностью с нуля из исходных кодов. Отлично подходит для изучения операционных систем GNU/Linux, но абсолютно не подходит для начинающих. Очень не рекомендую тем, кто еще не умеет пользоваться Linux’ом. И очень рекомендую тем, кто хочет более плотно изучить что и как работает в операционных системах на базе ядра Linux и готов на это потратить какое-то время. Официальный сайт — http://www.linuxfromscratch.org/.

Для тех, кто освоил первую часть,- сборку основной части операционной системы,- есть вторая часть, которая называется Beyond Linux From Scratch (BLFS). Из недостатков этого способа можно отметить, пожалуй, только количество времени, которое потребуется.

simple-cdd

Гораздо менее суровое средство сборки своего дистрибутива на базе Debian. Позволяет достаточно быстро собрать свое установочный образ, включающий необходимый набор пакетов. Есть официальная страничка в вики Debian, но она, похоже, достаточно стара и давно не обновлялась. Это один из самых простых и быстрых способов собрать свой дистрибутивный образ, но придется предварительно прочитать официальный How-To и посмотреть страницу руководств.

SUSE Studio

Один из наиболее простых способов собрать собственную операционную систему на базе ядра Linux и свободного программного обеспечения. Если быть более точным, то это возможность собрать свой потомок OpenSUSE или SUSE Linux Enterprise. Для сборки своего дистрибутива надо просто зарегистрироваться на сайте http://susestudio.com. Для хранения образов дается 15 гигабайт. Вкратце сборка своего дистрибутива выглядит так:

  • Регистрируетесь на сайте http://susestudio.com
  • Выбираете начальную конфигурацию операционной системы
  • Модифицируете ее
  • При необходимости загружаете необходимые пакеты со своими приложениями
  • Создаете образ

Более подробно расписывать не буду, на сайте всё очень просто и понятно. SUSE Studio позволяет создать следующие типы образов:

  • Образ для USB-флэшки
  • Live CD
  • Установочный образ ISO
  • Образ диска виртуальной машины в формате .vmdk
  • Образ виртуальной машины в формате OVF, который импортируется в гипервизор
  • Образ гостевой системы для Xen (.img)
  • Образ диска для Hyper-V (.vhd)
  • Образ для SUSE Cloud / OpenStack / KVM (.qcow2)

Кроме того, на сайте есть галерея уже готовых операционных систем, в которой можно выбрать готовую конфигурацию и изменять уже ее.

Ubuntu Builder

Программа для сборки дистрибутива на базе Ubuntu. Собственно, получится обычная Ubuntu нужной конфигурации. Проект закрылся 10 марта 2014 года, поэтому сложно его рекомендовать к использованию. Если есть желание с ним ознакомиться, это можно сделать здесь. Там же указана команда для подключения репозитория, из которого можно установить пакет ubuntu-builder. Если не заметили, то вот она:

Вообще это был достаточно известный проект в свое время. Жаль, что закрылся.

Novo Builder

Еще одна программа для сборки дистрибутива, которую надо устанавливать. Устанавливается она при помощи скрипта, который можно взять здесь. Скрипт сам добавит репозиторий и поставит пакеты. Это, пожалуй, лучшая на данный момент программа для сборки дистрибутива на базе Ubuntu по простоте использования. И рассказать-то больше особо нечего, достаточно поставить и посмотреть. Всё интуитивно понятно.

В общем, если хотите собрать свой специальный дистрибутив, средств существует достаточно, нужно пробовать, смотреть, что вам больше подойдет и что интереснее. Если знаете еще какой-то способ сборки своей операционной системы — делитесь в комментариях

Собираем собственную ОС на базе Linux

Архив номеров / 2006 / Выпуск №3 (40) / Собираем собственную ОС на базе Linux

Илья Александров

Создаём собственную ОС на базе Linux

Дистрибутивов Linux существует сотни, и неизвестно, сколько появится еще. Десятки компаний и тысячи программистов соревнуются в создании лучшего Linux-проекта, а между тем любой опытный пользователь может стать автором системы для домашнего ПК, не уступающей продуктам гигантов IT-индустрии.

За долгие годы работы с Linux мною было использовано огромное количество различных дистрибутивов: Mandriva, Fedora, SlackWare, Debian, Ubuntu и многие другие. Какой-то проект нравился больше, какой-то – меньше. Но во всех дистрибутивах неминуемо приходилось сталкиваться с серьезными недостатками, которые сильно затрудняли работу. Один слишком требователен к ресурсам, в другом нет поддержки всего нужного оборудования, в третьем не хватает различного ПО. Вот тогда я вспомнил известную восточную мудрость: если нужно что-то сделать хорошо, сделай это сам.

Linux from Scratch

Я не единственный, кто решил заняться построением собственной версии Linux – ОС, в которой за основу будет взята базовая часть системы и ядро, но где не будет ни единого лишнего килобайта от разработчика, то есть от вас. Большое количество Linux-дистрибутивов, не соответствующих требованиям пользователей, подтолкнуло Герарда Бикменса (Gerard Beekmans) к созданию дистрибутива, который даст возможность каждому собрать систему, где будут только необходимые ему компоненты и функции.

Стремление талантливого программиста вылилось в проект Linux from Scratch (www.linuxfromscratch.org), сокращенно – LFS. Этот проект, позволяет сконструировать «с нуля», из исходных кодов, свою операционною систему на базе Linux. Компиляция LFS проходит на компьютере с уже установленной Linux-системой, впрочем, подойдет и «продвинутый» Live-CD, например, Knoppix [6].

При этом Linux-система, используемая для сборки, может быть любой – обязательно лишь наличие компилятора и системных библиотек. Linux From Scratch трудно назвать дистрибутивом в привычном смысле этого слова – это что-то вроде вспомогательного ПО, которое вкупе с базовой частью операционной системы позволит вам создать свою, уникальную версию ОС.

Как известно, Линус Торвальдс разрабатывал свою операционную систему под девизом «Just for fun!» – то есть только ради удовольствия. Нужно признать, что LFS действительно не часто можно встретить на серверах, используют эту систему, как правило, компьютерные энтузиасты. Установка и работа с Linux from Scratch поможет вам разобраться во взаимосвязи компонентов ОС, что пригодится при собственных разработках Linux-дистрибутива, причем не только на базе LFS. Поэтому LFS во многом рассчитан на тех людей, для которых процесс сборки собственного дистрибутива увлекателен и интересен – а таких людей, поверьте, немало.

Итак, если вы готовы потратить на конструирование системы целый день (а то и больше), то рекомендую скачать с сайта (2) LFS-packages-6.0, LFS-book, и продолжить читать эту статью.

Разбиение диска и создание дерева каталогов

Для лучшего понимания материала опишем весь ход процесса в общих чертах (см. рис. 1).

Рисунок 1. Схема сборки LFS

На первом этапе, с помощью уже инсталлированного дистрибутива или LiveCD, разбивается диск. На жестком диске выделяется раздел для новой системы. После чего на этом разделе нужно будет статически скомпилировать все необходимые программы и ядро системы. Далее происходит смена корневого каталога на раздел жесткого диска, отведенный под нашу новою ОС. Потребуется повторить компиляцию, но на этот раз ПО должно быть собрано динамически (отличие динамической компиляции от статической будет описано ниже). Последний этап включает в себя сборку важнейшей библиотеки glibc и конфигурацию установленной ОС. Как видите, ничего особенно сложного делать не придется.

На протяжении всего процесса ваш главный помощник – документация из пакета LFS-book, русский перевод которой можно взять тут: http://multilinux.sakh.com/download/lfsbook.tar.bz2. В книге подробно описан каждый шаг создания ОС, поэтому обязательно обращайтесь к этому руководству в случае возникновения проблем (данная статья не призвана заменить такую обширную документацию).

Создаем новый раздел – в моем случае это /dev/hda5, так как раздел /dev/hda1 уже занят установленным на жесткий диск Linux Slackware. Рекомендуется предварительно сделать бэкап системы, дабы можно было ее восстановить в случае повреждения, хотя вероятность подобного близка к нулю. И тут, думаю, все понятно: выделяем нужное количество (достаточно 23 Гб) под корневой каталог, пространство, равное удвоенному объему ОЗУ – под swap-раздел, по желанию можно создать отдельные разделы для домашнего каталога (/home) и для /boot. Впрочем, излюбленный многими вариант разбиения – отвести под корневой каталог все доступное пространство минус swap, и последующее создание собственно swap – также вполне допустимо при сборке LFS. На компьютере автора и Linux Slackware, являющийся родительской ОС, и LFS, используют один жесткий диск, впрочем, установить LFS на другой винчестер тоже труда не составит.

Читать еще:  Ошибка 43 видеокарта amd radeon

Файловую систему выбирайте на ваше усмотрение: и с Ext3, и с ReiserFS никаких проблем под LFS не было. А вот поклонников XFS придется огорчить – попытки заставить Linux From Scratch работать с этой ФС не увенчались успехом.

Теперь монтируем раздел, отведенный под новую ОС :

$ mount /dev/hda5 /mnt/mylin

Для удобства определим переменную MYLIN:

Отлично, для дальнейшей работы лучше создать отдельного пользователя mylin, которого и назначим владельцем смонтированного раздела.

$ chown –R mylin $MYLIN

Нужно создать дерево каталогов в корне нового раздела:

$ mkdir –p bin boot dev etc home lib mnt opt root sbin usr/ var

В каталогах usr, usr/X11R6, usr/local создаем необходимую структуру : подкаталоги bin, etc, include, lib, sbin, share, src.

Затем то же самое проделаем для каталогов /var и /opt будущей системы:

Не будем забывать, что существуют более глубокие иерархии, например, /usr/share/man/man1. Но объем статьи не позволяет привести здесь всю информацию о структуре файлового дерева, поэтому нужно либо воспользоваться документом Filesystem Hierarhy Standart (можно найти по адресу: http://linux-ve.net/MyLDP/file-sys/fhs-2.2-rus), либо внимательно изучить структуру уже установленной у вас ОС семейства Linux. После подготовки жесткого диска приступаем к статической сборке.

Зачем мы используем статическую сборку? При статической компиляции исходный код библиотеки присоединяется к коду приложения, что влечет за собой увеличение его размера, но при этом сохраняется целостность. При динамической же компиляции библиотека находится в отдельном файле, к которому по мере необходимости обращаются приложения. В итоге все программы работают с одной версией библиотеки

Но когда мы посредством команды chroot установим корневой каталог для вновь собираемой системы, библиотеки «родительской», установленной системы, находящиеся в /lib, /usr/lib, и прочих, станут уже недоступны, поэтому динамически скомпилированные программы работать откажутся, вдобавок совместимость версий никем не гарантирована.

Чтобы избежать этого, все необходимое программное обеспечение для нашей будущей системы мы для начала соберем статически. Начнем, пожалуй, с командного интерпретатора bash. (Поклонники ZSH или TCSH могут установить любимые интерпретаторы после установки системы, но на этапе сборки их использование не предусмотрено автором LFS). Следует проверить, есть ли у вас файл /usr/lib/libcurses.a и если его нет – установите пакет nсursesdev. Все пакеты надо собирать с флагами статической сборки: «—enable-static-link», «—disable-shared» или «—static». Какой именно подходит в каждом конкретном случае, можно узнать из документации к конкретному пакету или из вывода конфигурационного сценария, запущенного с параметром «—help».

Чтобы не спутать позже статически скомпилированные программы с «динамическими», создадим для них специальный каталог:

При сборке и установке пакетов не забываем добавлять параметр «—prefix=$MYLIN/stat» для перемещения файлов именно в этот каталог. И , наконец , ставим bash:

$ ./configure –-enable-static-link —prefix=$MYLIN/stat

По такой же схеме собираем остальные необходимые пакеты : binutils, bzip2, textutils, texinfo, tar, sh-utils, gcc, grep, gzip, gawk, diffutils, fileutils, make, patch, sed, и , собственно , linux-kernel.

Да, при компиляции ядра не забываем, что для старых версий ядер (2.2.x-2.4.x) нужно использовать gcc 2.95, а для текущей версии 2.6.x рекомендуется применить gcc 3.x, дабы не возникло проблем.

Не забываем заглядывать в соответствующие разделы LFS-book, там сказано об этом и многих других нюансах. В целом же компиляция ядра в LFS не отличается от подобной процедуры, проводимой при использовании установленного на HDD дистрибутива. Разархивируем исходники ядра в $MYLIN/usr/src/linux-2.6.xx, после чего конфигурируем, запуская:

Процесс настройки параметров ядра многократно описан в Интернете (6), вряд ли есть необходимость останавливаться на этом подробнее. Далее даем следующие команды в папке с исходными текстами Linux-kernel:

Все, по адресу $MYLIN/usr/src/linux-2.6.xx/arch/i386/boot/bzImage находится новое ядро.

Далее создаем файлы $MYLIN/etc/passwd и $MYLIN/etc/group. В первом прописываем пока единственного пользователя – root с любым паролем, а во втором группы пользователей (для начала одной группы root тоже будет достаточно).

На этом наши приготовления к следующему шагу закончились, и мы переходим уже к более тонкой динамической сборке.

Теперь нам нужно сменить корневой каталог на /mnt/mylin, где мы будем пользоваться только статически собранными утилитами – к помощи инструментов из «родительской» ОС мы уже прибегать не сможем. Даем команду в консоли:

$ chroot $MYLIN/usr/bin/env –i

>HOME=/root TERM=$TERM PS1=’u:w$’

>PATH=/bin: /usr/bin: /sbin: /usr/sbin: /stat/sbin

Этой командой мы указали пути к исполняемым файлам, тип терминала, интерпретатор и вид приглашения командной строки.

Для обеспечения работы некоторых программ, надо установить файловую систему proc в новой системе.

$ mount proc /proc -t proc

Наступил самый ответственный момент. Сборка библиотеки glibc. Самый ответственный он потому, что работать без нее большинство необходимых программ не будет, а в использовании Linux без основной библиотеки смысла нет. Сборка glibc же зачастую доставляет массу проблем.

При сборке мы указывали параметр «—prefix=$MYLIN/stat», поэтому при смене корня все статически собранные пакеты окажутся в каталоге /stat раздела новой ОС.

Итак, распаковываем архив glibc-2.x.x.tar.gz (например, в директорию /usr/src/) и переходим в каталог glibclinuxthreads. Придется немного подправить исходный код ввиду того, что на данном этапе в системе невозможна идентификация пользователя по имени (как раз из-за отсутствия glibc и других библиотек), и того, что для установки glibc нужен интерпретатор Perl, которого у нас нет.

Заменяем имя пользователя root в файле login/Makefile на его uid, то есть 0, а переменную $PERL в файле malloc/Makefile следует заменить на путь к интерпретатору – /usr/bin/perl – и при конфигурировании он просто будет проигнорирован.

$ /usr/src/glibc-2.x.x/configure —prefix=/usr —enable-add-ons —libexecdir=/usr/bin &&

Если вы все сделали правильно, glibc скомпилируется, в строке приглашения наконец-то появится «root», и можно будет динамически перекомпилировать все программы.

Завершим установку ядра :

Чтобы переместить новое ядро в каталог /boot, выполняем еще одну команду:

Собираем все установленные и некоторые новые программы, теперь уже без флагов статической компиляции. Нам потребуются (на данном этапе очень важно не забыть скомпилировать все нижеперечисленное) (см. таблицу 1).

Таблица 1. Необходимый набор пакетов для сборки

Создание ос на ядре linux

By signing up, you agree to our Terms of Service and Privacy Policy.

Новичкам в сфере администрирования достаточно сложно определиться с выбором дистрибутива LINUX, так как их разработано очень большое количество и каждый из них имеет свои особенности и предназначение. Популярные мифы о Linux рассмотрены тут .

В данной статье рассмотрим популярные дистрибутивы, которые в основе используют ядро LINUX. Дистрибутив – это само ядро и набор самого разного программного обеспечения, тоесть это операционная система на основе LINUX. Уязвимости Linux и их виды по ссылке .

В данно статье рассмотрим дистрибутивы:

  • Debian
  • Red Hat
  • Arch Linux
  • Gentoo
  • Linux From Scratch
  • ChromeOS
  • Android
  • Slackware
  • OpenWrt 10. Tizen
  • ОС для суперкомпьютеров

Debian и основанные на нем системы – набор дистрибутивов, которые используют систему управления пакетами Deb. Она была создана для Debian и сейчас довольно часто используется популярных дистрибутивах, к примеру, Debian, Ubuntu, LinuxMint, AstraLinux, Elementary и другие. В их основе лежит оригинальное ядро Linux с несколькими исправлениями, которые только убирают ошибки. Преимущества Debian рассмотрены в этой статье.

Вторая по популярности система, которая основана на ядре Linux, это Red Hat . Компания Red Hat создала собственный менеджер пакетов — Rpm. Поэтому все традиционные дистрибутивы Linux разделились на две стороны — те, которые используют deb и поклонники rpm. Не можно сказать, что какая-то система лучше или хуже, ведь каждая из них имеет преимущества и недостатки. Систему управления пакетами RPM используют дистрибутивы CentOS, Fedora, Red Hat, OpenSUSE и другие менее популярные, но все же востребованные ОС.

Следующая в обзоре система, которая не использует пакеты Deb и Rpm. Это дистрибутив ArchLinux . В основе его работы собственный пакетный менеджер pacman, который имеет аналогичные функции что и deb, но в дополнение реализована простая система скользящих релизов. Это обеспечивает всегда новое ПО. Arch достаточно популярный и на его основе разработаны другие дистрибутивы — Manjaro, Antergos, Cinnarch.

Система Gentoo разработана для пользователей, которым необходима возможность компилировать свою систему самостоятельно. Это позволяет выбрать программное обеспечение, а также получить оптимизацию под свое оборудование. Дистрибутив Gentoo разработан на основе ядра Linux, с использованием пакетного менеджера emerge. Пользователь системой получает скользящие релизы, а также возможность легко скомпилировать операционную систему на своем ПК. Пакетный менеджер emerge уже содержит готовые сборочные скрипты, поэтому не нужно ничего дописывать.

LINUX FROM SCRATCH – специальный это набор инструментов, которые позволяют вам собрать собственный дистрибутив на основе ядра Linux. Вам предоставляется ядро и необходимы исходники нужных программ. Вы создаете свой дистрибутив начиная от системы инициализации и командной оболочки и заканчивая окружением рабочего стола.

Читать еще:  Оперативная система linux

Компания Google выпустила свою специализированную ОС для нетбуков на ядре Linux. ChromeOS основана на Gentoo, правда эти операционные системы в корне разные, поэтому объединять их в один пункт не стоит. Google реализовала идею облачной операционной системы Linux. При этом Ваше рабочее пространство — это браузер, где предоставляется возможность редактировать документы, работать с видео и терминал Linux в браузере. Все файлы хранятся в облаке.

ANDROID наиболее популярная ОС для мобильных телефонов также использует ядро Linux. Правда, от Linux здесь осталось исключительно ядро. Все остальное Google заменила различными фреймворками. Возможности Linux ограничены, но в терминале можно работать с командами Linux, а в chroot окружении можно запустить Linux дистрибутив. Поэтому ANDROID также считается дистрибутивом Линукс.

SLACKWARE – очень старый дистрибутив Линукс. Когда-то на нем было основано несколько дистрибутивов – Blacktrack, Slax, VectorLinux и др. Но со временем он стал не популярным. Система использует собственный менеджер пакетов, который по сравнению с deb и rpm более слабый. Среди недостатков системы пользователи выделяют и то, что не поддерживается разрешение зависимостей. Команды для удаления и установки пакетов находятся в разных утилитах, что достаточно неудобно.

OpenWrt — специализированная ОС, которая предназначена для роутеров и маршрутизаторов на базе Linux. Система поставляется с урезанной версией библиотеки Си, стандартными утилитами Linux и BusyBox. Она разработана специально под маршрутизаторы, поэтому занимает мало места. Настройки выполняются с помощью коммандной строки.

Система TIZEN разработана для различных телевизоров, умных часов и других гаджетов. В основе ядро Linux. ОС разработала компаня Samsung. Ее устанавливают на много популярных гаджетов.

ОС для суперкомпьютеров . По исследованиям 2017 года операционные системы на базе Linux чаще всего используются на суперкомпьютерах.Так как каждая компания создает свое решение на базе ядра, и это решение идеально оптимизировано под ее цели и задачи. Так из 500 мощных суперкомпьютеров 498 работают на Linux и еще два на UNIX подобной системе IBM AIX. Как видим Линукс очень популярная ОС для решения разного рода задач.

На наших ВПС-серверах Вы можете протестировать работу большинства популярных дистрибутивов Линукс. Вам обязательно пригодятся полезные команды Linux , которые необходимо знать каждому пользователю. Обращайтесь и мы будем рады подобрать для Вас наилучший вариант!

Отличия операционных систем Windows и Linux в следующей статье .

Какой дистрибутив операционной системы на базе Linux скачать и установить

Многие из тех, кто перешел на Linux, теперь не хотят возвращаться обратно к операционной системе Windows. Это связано с доступностью этой операционной системы даже для начинающих пользователей. Если вы хотите установить Linux, то необходимо скачать один из многих дистрибутивов, которые написаны на базе ядра Линукс. Приведем примеры лучших из них и расскажем об особенностях системы.

Что такое Линукс и почему так много операционных систем на его базе?

GNU/Linux было разработано как многопользовательское и многозадачное ядро для разных операционных систем. Для которого программисты создали множество графических менеджеров и программных оболочек. От дистрибутива (операционной системы) зависит, для чего вы будете использовать компьютер. Каждая ОС на базе Linux отличается своей функциональной частью. Единой частью всех дистрибутивов является «Терминал», это их основная часть. С его помощью вы можете:

  • проводить установку и запуск программ;
  • добавлять хранилища для хранения ПО;
  • проводить настройку конфигурационных файлов и самого дистрибутива.

Сейчас эта система имеет особую популярность среди программистов, также ее очень часто используют для серверов.

Широко распространяться в домашних компьютерах она начала сравнительно недавно, завоевав любовь пользователей за счет широких возможностей настройки: некоторые версии дистрибутивов можно запускать прямо с флеш-накопителя, другие подходят для слабых компьютеров. Дистрибутивы отличаются своим функционалом, размером и внешним видом.

Не все операционные системы на базе Linux можно скачать. Например, Google Chrome OS (да-да, есть и такая операционная система, не только браузер) идет предустановленным на некоторых моделях ноутбуков Samsung, HP и т.п. В открытом доступе официальных дистрибутивов это операционной системы не найти. Зато есть много форков и копий. Мы не будем в этой обзоре давать ссылки на такие сайты. Для каждого дистрибутива в обзоре мы даем ссылку для скачивания на официальный сайт или официальное сообщество.

Почему пользователи отказываются от Windows в пользу Linux?

Чаще всего в качестве достоинств операционных систем на базе Линукс называют:

  1. Отсутствие вирусов. Нельзя сказать, что эту систему вообще невозможно взломать, но хакеры крайне редко проявляют интерес к Linux. Есть несколько рутикулов, которые помогают проникать на сервера, но в домашние ПК они практически не запускаются. О том, что система безопасна говорит и то, что ни у одной антивирусной утилиты нет баз данных специально для Linux. В основном программы настроены на поиск вредоносного кода, который был перенесен с Windows при помощи флешек или дисков.
  2. Практически все дистрибутивы распространяются бесплатно, что позволяет людям с несколькими домашними устройствами не тратить кучу денег на лицензии. При этом вы можете регулярно переустанавливать дистрибутивы, тестировать их и менять. Дополнительное преимущество в том, что программное обеспечение для Linux так же распространяется бесплатно. И приятным бонусом является отсутствие рекламных вставок и сторонних программ, которые загружаются в память ПК вместе с основной утилитой.
  3. Система многообразна и безграничные возможности по настройке внешнего вида. Помимо множества дистрибутивов, вы можете установить на свой ПК разные рабочие окружения. Это поможет вам менять их по необходимости или настроению.
  4. В систему встроен репозиторий. Его идея легла в основу магазина приложений Google Play. Из него вы сможете установить самые разные программы, не прибегая к помощи сайтов и сторонних программ. Единственное неудобство, которое заметно сразу после перехода с Windows, отсутствие привычных названий утилит.
  5. Система удобна по внешнему интерфейсу и разделению программ в меню. Каждая утилита занимает свой раздел в меню, что облегчает ее поиск. Такие небольшие приятные моменты помогают сделать работу намного удобней.
  6. В ядро Linux вшиты практически все необходимые драйвера для периферийного оборудования. Вы можете установить любое устройство, и оно тут же начнет работу. Вам не придется искать драйвера, как для Windows, скачивать их на другом компьютере, чтобы потом оборудование начало работать без сбоев. Неудобств не возникнет даже при подключении новой сетевой карты.
  7. По умолчанию система самостоятельно шифрует диски, что позволяет защитить файлы при попадании компьютера в чужие руки. В Windows подобная опция доступна только при помощи сторонних программ.

Этих положительных сторон достаточно, чтобы вы захотели попробовать операционную систему на ядре Linux. Но перед тем как выбирать дистрибутив, стоит ознакомиться с особенностями каждой оболочки и тщательно изучить недостатки ОС.

Недостатки Linux

Для начала приведем ситуации, с которыми так и не смогли справиться программисты, создававшие дистрибутивы Linux. Такие неприятности возникают редко, но для начинающих пользователей они могут оказаться фатальными.

  1. Плохая совместимость с рядом современных устройств. Большинство принтеров, сканеров, роутеров и прочих устройств созданы для Windows. Поэтому они могут работать не всегда корректно. Пользователи могут самостоятельно изменить дистрибутив, чтобы подключенные устройства работали корректно. Если вы не умеете самостоятельно корректировать настройки ОС в том же терминале, то стоит просто скачать и загрузить современную версию дистрибутива.
  2. Некорректная работа графической подсистемы. После выхода из спящего режима, при использовании дискретных видеокарт, может наблюдаться зависание. Избавиться от этой проблемы можно только путем перезагрузки. Проблемы с видеокартами чаще всего появляются после обновления ядра или компонентов, ответственных за вывод графики.
  3. Несмотря на то что многие драйвера вшиты в ядро, они могут переставать устанавливаться автоматически или удаляться после обновления системы. Эта проблема решается откатом на прежнюю версию дистрибутива или установкой новой оболочки.
  4. Некорректная работа системы охлаждения в ноутбуках. Из-за неправильного управления кулеры начинают шуметь или плохо справляются со своей работой.
  5. Steam for Linux развивается очень медленно, пользователи не могут скачивать и приобретать любую музыку и приложения. Если вы выберите платную программу, то могут возникнуть проблемы при введении данных карты (не весь пластик принимается магазином). Хотя стоит отметить, что магазин приложений Windows развит не лучше, при его использовании могут возникнуть проблемы. Но в последнем случае есть много альтернативных источников для программ.

Чтобы не сталкиваться с этими проблемами, стоит устанавливать только современные версии операционных систем. Для большинства рядовых пользователей такие неприятности могут стать причиной для отказа от Linux ОС.

Хотя стоит отметить, что за последние годы интерфейс оболочек становится все более дружелюбным. Перечисленные выше проблемы разработчики стараются решить, но пока полностью избавиться от них не получается.

Читать еще:  Создание операционной системы linux

Обзор лучших дистрибутивов Linux со ссылками скачать с официальных сайтов

Перед тем как установить Linux, стоит ознакомиться с особенностями его дистрибутивов. У каждого из них есть свои плюсы и минусы.

А еще помните, что для тестирования ОС не обязательно удалять Windows! Просто используйте виртуальную машину. Как это сделать читайте здесь: Лучшие виртуальные машины для Windows 7, 8 и 10.

Собираем ядро Linux

Самым основным компонентом операционной системы Linux есть ядро. Именно ядро выступает промежуточным звеном между пользовательскими программами и оборудованием компьютера. Во всех бинарных дистрибутивах нам не нужно заботиться о сборке и настройке ядра, все уже сделали за нас разработчики дистрибутива. Но если мы хотим собрать свой дистрибутив сами или установить самую свежую версию ядра, нам придется собирать ядро вручную.

Первый вариант раньше был актуален для тех кто хотел получить максимальную производительность от своего оборудования, но сейчас, учитывая стремительное увеличение мощности компьютеров увеличение производительности при сборке ядра совсем незаметно. Сейчас сборка ядра может понадобиться пользователям не бинарных дистрибутивов, таких как Gentoo, тем, кто хочет внести некоторые изменения в ядро, получить новую самую свежую версию ядра и, конечно, же тем, кто хочет полностью разобраться в работе своей системы.

В этой инструкции мы рассмотрим как собрать ядро Linux. Первая часть расскажет как настроить ядро в автоматическом режиме. Так сказать, для тех кто не хочет разбираться как оно работает, кому нужно лишь получить на выходе готовый продукт — собранное ядро. Во второй части мы рассмотрим основные этапы ручной настройки ядра, это процесс сложный, и небыстрый, но я попытаюсь дать основу, чтобы вы могли со всем разобраться сами.

Получение исходников ядра

Самое первое что нужно сделать — это скачать исходники ядра. Исходники лучшие брать с сайта вашего дистрибутива, если они там есть или официального сайта ядра: kernel.org. Мы рассмотрим загрузку исходников с kernel.org.

Перед тем как скачивать исходники нам нужно определиться с версией ядра которую будем собирать. Есть две основных версии релизов — стабильные (stable) и кандидаты в релизы (rc), есть, конечно, еще стабильные с длительным периодом поддержки (longterm) но важно сейчас разобраться с первыми двумя. Стабильные это, как правило, не самые новые, но зато уже хорошо протестированные ядра с минимальным количеством багов. Тестовые — наоборот, самые новые, но могут содержать различные ошибки.

Итак когда определились с версией заходим на kernel.org и скачиваем нужные исходники в формате tar.xz:

В этой статье будет использована самая новая на данный момент нестабильная версия 4.4.rc7.

Получить исходники ядра Linux можно также с помощью утилиты git. Сначала создадим папку для исходников:

Для загрузки самой последней версии наберите:

git clone https://github.com/torvalds/linux

Распаковка исходников ядра

Теперь у нас есть сохраненные исходники. Переходим в папку с исходниками:

Или если загружали ядро linux с помощью браузера, то сначала создадим эту папку и скопируем в нее архив:

Распаковываем архив с помощью утилиты tar:

И переходим в папку с распакованным ядром, у меня это:

Автоматическая настройка сборки ядра Linux

Перед тем как начнется сборка ядра linux, нам придется его настроить. Как я и говорил, сначала рассмотрим автоматический вариант настройки сборки ядра. В вашей системе уже есть собранное, настроенное производителем дистрибутива, и полностью рабочее ядро. Если вы не хотите разбираться с тонкостями конфигурации ядра, можно просто извлечь уже готовые настройки старого ядра и сгенерировать на их основе настройки для нового. Нам придется лишь указать значения для новых параметров. Учитывая, что в последних версиях не было и не намечается серьезных изменений можно отвечать на все эти параметры как предлагает скрипт настройки.

Параметры используемого ядра хранятся в архиве по адресу /proc/config.gz. Распакуем конфиг и поместим его в нашу папку утилитой zcat:

zcat /proc/config.gz > .config

А дальше запускаем скрипт адаптации настроек:

В процессе его работы нужно будет ответить на несколько вопросов. Это новые параметры, которые изменились или были добавлены в новое ядро и поддержка нового оборудования, в большинстве случаев можно выбирать вариант по умолчанию. Обычно есть три варианта y — включить, n — не включать, m — включить в качестве модуля. Рекомендованный вариант написан с большой буквы, для его выбора просто нажмите Enter.

На все про-все у вас уйдет около 10-ти минут. После завершения процесса, ядро готово к сборке. Дальше мы рассмотрим настройку ядра вручную, а вы можете сразу перелистать к сборке ядра Linux.

Ручная настройка ядра Linux

Ручная настройка — сложный и трудоемкий процесс, но зато она позволяет понять как работает ваша система, какие функции используются и создать ядро с минимально нужным набором функций под свои потребности. Мы рассмотрим только главные шаги, которые нужно выполнить чтобы ядро собралось и заработало. Со всем остальным вам придется разбираться самому опираясь на документацию ядра. Благо в утилите настройки для каждого параметра есть обширная документация которая поможет вам понять какие еще настройки нужно включить.

Начнем. Для запуска меню настроек ядра linux наберите:

Откроется вот утилита с интерфейсом ncurses:

Как видите, некоторые обязательные опции уже включены, чтобы облегчить вам процесс настройки. Начнем с самых основных настроек. Чтобы включить параметр нажмите y, чтобы включить модулем — m, для перемещения используйте клавиши стрелок и Enter, возвратиться на уровень вверх можно кнопкой Exit Откройте пункт General Setup.

Здесь устанавливаем такие параметры:

Local Version — локальная версия ядра, будет увеличиваться при каждой сборке на единицу, чтобы новые ядра при установке не заменяли собой старые, устанавливаем значение 1.

Automatically append version information to the version string — добавлять версию в название файла ядра.

Kernel Compression Mode — режим сжатия образа ядра, самый эффективный lzma.

Default Hostname — имя компьютера, отображаемое в приглашении ввода

POSIX Message Queues — поддержка очередей POSTIX

Support for paging of anonymous memory — включаем поддержку swap

Control Group support — поддержка механизма распределения ресурсов между группами процессов

Kernel .config support и Enable access to .config through /proc/config.gz— включаем возможность извлечь конфигурацию ядра через /proc/config.gz

Здесь все, возвращаемся на уровень вверх и включаем Enable loadable module support, эта функция разрешает загрузку внешних модулей, дальше открываем его меню и включаем:

Module unloading — поддержка отключения модулей

Forced module unloading — принудительное отключение модулей

Опять возвращаемся назад и открываем Processor type and features:

Processor family (Opteron/Athlon64/Hammer/K8) — выбираем свой тип процессора.

Опять возвращаемся и переходим в раздел File systems, тут установите все нужные галочки.

Обязательно включите The Extended 3 (ext3) filesystem и The Extended 4 (ext4) filesystem — для поддержки стандартных ext3 и ext4 файловых систем

Возвращаемся и идем в Kernel hacking.

Здесь включаем Magic SysRq key — поддержка магических функций SysRq, вещь не первой необходимости, но временами полезная.

Остался еще один пункт, самый сложный, потому что вам его придется пройти самому. Device Drivers — нужно пройтись по разделам и повключать драйвера для своего оборудования. Под оборудованием я подразумеваю нестандартные жесткие диски, мышки, USB устройства, веб-камеры, Bluetooth, WIFI адаптеры, принтеры и т д.

Посмотреть какое оборудование подключено к вашей системе можно командой:

После выполнения всех действий ядро готово к сборке, но вам, скорее всего, предстоит разобраться с очень многим.

Чтобы сохранить настройки переместите указатель с помощью стрелок вправо-влево, з позиции Select в позицию Save и нажмите Enter, потом еще раз подтвердите сохранение:

Чтобы выйти нажмите пару раз кнопку Exit.

Сборка ядра Linux

После завершения всех приготовлений может быть выполнена сборка ядра linux. Для начала процесса сборки выполните:

make && make modules

Теперь можете идти пить кофе или гулять, потому что процесс сборки длинный и займет около получаса.

Установка нового ядра

Когда ядро и модули будут собраны новое ядро можно устанавливать. Можно вручную скопировать файл ядра в папку загрузчика:

cp arch/x86_64/boot/bzImage /boot/vmlinuz

А можно просто выполнить установочный скрипт, сразу установив заодно и модули:

sudo make install && sudo make modules_install

После установки не забудьте обновить конфигурацию загрузчика Grub:

grub-mkconfig -o /boot/grub/grub.cfg

И перезагружаем компьютер чтобы увидеть новое ядро в работе:

Выводы

Вот и все. В этой статье мы подробно рассмотрели как собрать ядро Linux из исходников. Это будет полезно всем желающим лучшие понять свою систему, и тем, кто хочет получить самую новую версию ядра в своей системе. Если остались вопросы, задавайте комментарии!

Ссылка на основную публикацию
Adblock
detector