Gentoo-sources: как собрать ядро, не умирая

Что ж, это еще один из тех моментов, которые я не могу игнорировать перед тем, как начать руководство по установке Gentoo 🙂 Я знаю, что многие уже с нетерпением ждут этого сообщения и извините за то, что заставили вас ждать, но я также считаю, что не объясняю этого тщательно против моего статуса пользователя Gentoo 😛 Без лишних слов, давайте начнем.

Какое ядро?

Ядро, собственно, является частью Linux любого дистрибутива, это программа, которая позволяет нам связывать каждую часть оборудования на нашем компьютере с программами, которые мы запускаем на нем. Его создатель, Линус Торвальдс, решил выпустить его под лицензией GPL, и благодаря ему и проекту GNU теперь мы можем наслаждаться множеством дистрибутивов и разновидностей на выбор. Он в основном написан на C, с небольшим количеством ассемблера кое-где, и сегодня это крупнейший проект бесплатного программного обеспечения, над которым работают тысячи разработчиков, как любителей, так и профессионалов, и поддерживает постоянный ускоренный рост уже несколько лет. . Здесь официальная страница ядра так что они могут получить более подробный обзор.

Как дела на Gentoo?

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

  • Gentoo-источники: Ядро 4.12 со специальными патчами для Gentoo Linux.
  • git-исходники: Ядро загружено напрямую из репозитория Linus Git.
  • ванильные источники: Полное ядро ​​без всяких патчей.
  • xbox-источники: Полное ядро ​​для Xbox Linux.
  • дзен-источники: Живое ядро ​​Дзен
  • ...

Для полного списка оставляю вам ссылка вики где вы можете найти все ядра, которые Gentoo поддерживает в своих репозиториях. (все, что заканчивается на -sources)

У меня есть код, что теперь?

Что ж, в отличие от всех других пакетов Linux, ядро НЕТ Он обновлен, он установлен. Это позволяет нам иметь несколько ядер в нашей системе одновременно, конечно, мы всегда можем запускать только одно за раз. Для его компиляции необходимо использовать инструменты, которые мы уже обсуждали в предыдущем посте. Но поскольку в Gentoo сообщество делает 80% вашей работы, давайте сделаем это самым простым способом 😉

genkernel-следующий:

Позвольте представить вам отличный инструмент 🙂 он называется genkernel-next, вы можете найти его в репозиториях Gentoo.

Своя. Кристофер Диас Риверос

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

CLI и GUI:

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

genkernel –xconfig все

Своя. Кристофер Диас Риверос

genkernel –qconfig все

Своя. Кристофер Диас Риверос

genkernel –nconfig все

Своя. Кристофер Диас Риверос

genkernel –menuconfig all (мой любимый)

Своя. Кристофер Диас Риверос

Отлично, но как мне найти вещи?

Мудрый вопрос, который наверняка задают себе сейчас все. Если вы не хотите искать строку за строкой, помните, что «/ » и "? Они твои друзья в этой миссии. Но поскольку лучше видеть, чем читать, я покажу вам, что я имею в виду под этим.

Допустим, нам нужно проверить наш процессор, ядро ​​поддерживает как Intel, так и AMD, а наше - Intel. Если вы нажмете / (косая черта), это приведет нас к следующему меню:

Своя. Кристофер Диас Риверос

Отлично, теперь давайте посмотрим на магию в действии 🙂

Своя. Кристофер Диас Риверос

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

Своя. Кристофер Диас Риверос

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

Своя. Кристофер Диас Риверос

Краткое описание модуля, его опций и зависимостей 🙂 все под рукой. Как только ваш поиск будет завершен, вы можете выйти. Вы можете заметить, что верхняя панель вернулась в строку поиска (Intel). Если вы выйдете снова, она вернет вас в главное меню, где вы можете начать новый поиск.

Что переместить, а что нет?

К этому моменту вы уже должны почувствовать себя полностью могущественным, потому что вы достигли того, что немногие люди делают в своей жизни - компилируют ядро. Поздравляю! Но теперь возникает вопрос… что мне модифицировать? Это, мой друг, можете открыть только вы, но, конечно, я могу дать вам пару рекомендаций, которые мне очень помогут:

По умолчанию работает

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

Если вы этого не знаете, не двигайте его

Это то, что, возможно, не заметят даже самые смелые. Приятно иметь возможность быстро перемещаться по опциям, но если вы действительно заинтересованы в том, чтобы узнать, как думает ваша машина, чтение каждой опции - отличный способ привыкнуть к этой идее. Также настоятельно рекомендуется всегда помнить, что вы меняете, искать или сравнивать с браузером.

Наибольшая нагрузка ложится на драйверы

Многие драйверы загружаются по умолчанию, это делает ядро ​​тяжелым. Например, только для сетевых карт в ядре имеется около 10 официальных драйверов, и многие дистрибутивы компилируют все 10 или более, но на самом деле вы будете использовать только один на своем компьютере (обратите внимание, что для Wi-Fi есть еще один отдельный раздел). Если вы хотите значительно уменьшить вес вашего ядра, ваш первый вариант есть. Для этого твоими лучшими друзьями будут лспи, лсусб, Google. Благодаря этому вы можете иметь довольно четкое представление о том, что есть в вашей системе, и оставить только необходимые драйверы, чтобы она работала. Например, я оставляю свой вывод lspci:

Своя. Кристофер Диас Риверос

Благодаря этому я могу получить достаточно четкую важную информацию, такую ​​как мой сетевой контроллер, контроллер Wi-Fi, мой жесткий диск SATA и многое другое, что поможет мне уменьшить вес моего ядра.

Убедитесь, что вы компилируете то, что необходимо, с помощью *

Еще раз спасибо нашему партнеру Njord, важный момент, который я забыл упомянуть из-за эмоций 🙂

Следует также упомянуть, что некоторые функции ядра должны быть включены в него (*), а другие могут обрабатываться как модули (M). Я помню свое первое скомпилированное ядро, когда я хотел оставить корневую поддержку reiserfs в качестве модуля, когда в жизни это должно было работать?!?! xD ...

Конечно, если вашему ядру нужно что-то для работы, это не может быть модуль. По умолчанию модули загружаются после того, как ядро ​​выполнило весь процесс запуска. Если вашему ядру нужно что-то для запуска, лучше его скомпилировать в вместо модуля … Что снова подводит нас к первому пункту "?"  наш друг 😉

Короче говоря:

Что ж, теперь, когда вы немного вошли в мир ядра, я думаю, что я уже достиг еще одной вехи, необходимой для создания ~ 20-шагового руководства по установке Gentoo 🙂 но если я найду что-нибудь еще, я попробую чтобы объяснить, прежде чем просто дать волю воздуху.

Приветствую и оставляю вам другие свои сообщения на случай, если вы их пропустите:

Gentoo Linux: история путешествия

Gentoo: Почему я решил компилировать собственные программы?

Gentoo: Сердце зверя

 


12 комментариев, оставьте свой

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   Njord сказал

    Очень хороший пост как всегда.

    И вот моя песчинка: для того, чтобы наше ядро ​​работало правильно, мы должны адаптировать его к нашему оборудованию, поэтому мы должны знать его очень хорошо. Для этого мы должны рассматривать lspci и lsusb как основные источники информации. И если нам нужно что-то более конкретное, я оставляю вам эту страницу, которая выручала меня от неприятностей не один раз https://kmuto.jp/debian/hcl/

    Следует также упомянуть, что некоторые функции ядра должны быть включены в него (*), а другие могут обрабатываться как модули (M). Я помню свое первое скомпилированное ядро, когда я хотел оставить корневую поддержку reiserfs в качестве модуля, когда в жизни это должно было работать?!?! xD ...

    Привет!

    1.    Хуан Пабло Гарсия Ривера сказал

      Точно njord, поэтому этот пост не будет достаточно описательным, если вы не знаете, какое у вас HW, в качестве рекомендации важно посетить страницу производителя, а также прочитать с помощью самого ядра о модулях, которые могут вам помочь. , под этими комментариями я добавил ссылку на свой блог, где вы можете загрузить расширенный файл конфигурации для Hp Pavilion 23-p132la, я надеюсь, что он будет полезен и, надеюсь, все больше и больше пользователей делятся этими файлами с различными приложениями в HW.

  2.   Я javilondo сказал

    Привет, друг, мне нравятся твои статьи, поэтому я давно подписался на твою страницу. Я также поделюсь видео о том, как попасть в gentoo, но я с радостью буду следить за этой серией статей.
    Поздравления на вашем сайте.
    Я просто прошу вас об одолжении: не загружайте изображения в * .bmp, так как мое соединение несколько медленное и моему браузеру требуется много времени для загрузки тяжелых изображений, поэтому я рекомендую вам конвертировать изображения в * .png или * .jpg .
    Привет.

    1.    КрисADR сказал

      Ой, извините 🙂 но спасибо вам большое за указание, я не подумал об этом и, хотя немного испытал в Gentoo, я все еще не очень хорошо владею этой темой блогов 😛 но с этого момента я попытаюсь изменить формат, Обычно я делаю разрезы только с Shutter и загружаю их напрямую, чтобы не придавать слишком много веса моей команде, но я также учту вес за вас 😉 Приветствую и большое спасибо за ваши комментарии, они побуждают меня продолжать пишу, у меня уже есть подарок на выходные 🙂

  3.   гнарф сказал

    Я считаю серию статей, которые вы пишете, очень интересными. Я когда-либо устанавливал Gentoo в качестве хобби, но всегда с тысячей и одной проблемой, не особо контролируя большую часть того, что я делал, и обманывая вещи, чтобы избежать неприятностей. Несмотря на это, мне удалось увидеть в своих многочисленных попытках, что это будет тот дистрибутив, в котором я останусь, если мне удастся получить оптимальную и правильную установку и справиться с ней. Прямо сейчас я использую Fedora, хотя я не убежденный федорианец. Я немного похож на талисмана Gentoo: «Корова Ларри была немного расстроена.
    при текущем состоянии дистрибутивов Linux…
    … Пока я не попробовал Gentoo Linux ».
    Я оставляю вам пару «советов» для ваших будущих статей, на случай, если вам будет интересно коснуться их конкретно, и это проистекает из моих собственных сомнений:
    - Gentoo имеет достаточно обширный репозиторий, но все же есть особенности, которых в нем нет; будь то научные программы или другие очень специфические вещи. Было бы интересно узнать из первых рук, как мы можем установить то, чего не можем найти в ваших репозиториях. Я знаю, но плохо понимаю, что существуют «накладки». У Debian есть официальный и рекомендуемый способ установки программного обеспечения, которого нет в их репозиториях, есть ли что-то подобное в Gentoo? Что было бы наилучшим способом установки без классического ./configure && make && make install?
    - Наконец, самая большая проблема при установке Gentoo возникает после первого перезапуска, когда я сталкиваюсь с консолью без настройки сети. Это вызывает разочарование, так как я не совсем понимаю, как оттуда подключиться к Wi-Fi. Было бы очень интересно узнать об учебном режиме, который представляет собой точные шаги, чтобы сделать это и иметь возможность продолжить установку рабочего стола и других утилит. В моих предыдущих установках я устанавливал Gnome и все, начиная с chroot установки базовой системы; исправление, давай.
    Nada más. Gracias a ti y a DesdeLinux por estos artículos sobre una distribución tan poco mainstream y sin embargo tan interesante.
    Между прочим, и я уже немного ругаю вас: я всегда читал о Gentoo с точки зрения таких ИТ-специалистов, как вы, программисты, системные или сетевые инженеры и т. Д. Но я никогда не видел мнения конечного пользователя, использующего дистрибутив; Подходит ли Gentoo для конечного пользователя, который, я не знаю, является фотографом, изучает экологию или мехатронику, или просто хочет Steam,…? (Думаю, вы понимаете, о чем я)
    Большое спасибо ChrisADR и теплый привет

    1.    КрисADR сказал

      Что ж, ваши запросы записаны 🙂 теперь, когда я наконец закончил пошаговое руководство по установке, вы должны дать мне пару дней, потому что в эту субботу у меня сертификационный экзамен (LFSC Linux Foundation) и Я должен подготовиться к этим оставшимся дням. Что касается оверлеев, они стали похожи на AUR в Arch, место, где пользователи могут создавать свои собственные ебилды, еще одна тема, ожидающая публикации в полном объеме. И в то же время есть и обычные процессы установки, которые столь же разнообразны, как и песчинки на пляже ... но это тоже для другого поста 😉 Что касается пользователей, в Gentoo есть всего понемногу, там это люди, которые являются геймерами (старомодными, потому что я не на 100%, если Steam находится в нашем основном репозитории), есть хакеры, у которых есть собственная производная Gentoo для Pentesting, Pentoo ... Я знаю некоторых коллег в сообществе, которые не обязательно инженеры или математики, и что ж, они преуспевают 🙂 Есть также больше ученых и проектов в области наук о Земле или даже религии ... короче говоря, в Gentoo есть всего понемногу, на любой вкус, поскольку философия позволяет нас выбирать 🙂 скоро напишу еще статьи и постараюсь развеять ваши сомнения 🙂 привет

      . Как я хороший пользователь Gentoo, со временем вы заметите, что нам часто приходится думать «нестандартно», и если это включает в себя тот или иной навык, тогда отлично 😉 вы увидите это в моем руководстве по установке Gentoo что скоро выйдет 🙂

  4.   Хуан Пабло Гарсия Ривера сказал

    Как насчет партнера… поддержки вашего движения… вот конфигурация… для «Hp Pavilion 23-p132la + AMD A10-7800 Radeon R7»
    http://jgarcia.my-place.us/?page_id=585

    В настоящее время я изучаю конфигурацию регулятора ... приветствую любую помощь ...

    1.    КрисADR сказал

      Превосходно! Большое спасибо за то, что поделились своим опытом с остальной частью сообщества, без сомнения, мой пост не на 100% точен или идеален, потому что я думаю, что в этом случае лучше написать полную книгу 😛 но, по крайней мере, я надеюсь, что это пробудит любопытство у нескольких человек и, таким образом, сможет оставить домашнее задание каждому в свободное время 😉 Приветствия и благодарности

  5.   Фернан сказал

    Привет
    Вы заметили большую разницу между компиляцией кирнеля и бинарных ядер?
    Например в оверлее есть такой ебилд:
    http://gpo.zugaina.org/Overlays/betagarden/sys-kernel/debian-sources-bin
    Привет.

    1.    КрисADR сказал

      Чтобы дать вам небольшое представление, наши друзья из Linux From Scratch могут сказать следующее о сборке.

      «Мы установили систему, которой было достаточно для запуска веб-сервера Apache; общее использование дискового пространства составляло примерно 8 МБ. При дальнейшей зачистке его можно уменьшить до 5 МБ или меньше »[1]

      В переводе на испанский язык говорится, что им удалось запустить встроенный сервер Apache, занимающий всего 8 МБ, а это могло быть даже 5 МБ. Большая часть этого пространства занята только ядром, поэтому, если вам нужна система, которая делает что-то конкретное или использует только ваше оборудование. Ядро 10M позволяет вам иметь доступную остальную ОЗУ (помните, что ядро ​​работает в ОЗУ все время, когда вы используете свой компьютер). В дополнение к безопасности и другим преимуществам наличия собственного ядра вы можете увидеть значительное улучшение пространства. Что тоже может повлиять на скорость.

      привет

      [1] http://wiki.linuxfromscratch.org/lfs/

  6.   Фернан сказал

    Привет
    Я загрузил этап 3 в папку и после синхронизации portage попытался установить gentoo-sources, но занимает ли этот процесс часы? через полчаса сообщения вроде
    / usr / linux / gentoo-sources 4.12.12 / arch / arm / *
    Должен ли он так сильно распаковываться и оставаться такими же часами или есть возможность сделать это быстрее? так как это emerge оставляет только исходники, чтобы позже скомпилировать их с опциями.
    привет.

    1.    КрисADR сказал

      Привет, Фернан, я никогда не пробовал устанавливать процессор для рук. Я понимаю, что в зависимости от версии RPi (если вы ее используете) подключены USB-шина и интернет-шина, поэтому время загрузки может быть намного больше обычного. (Даже на моем ноутбуке i7 время загрузки ядра в репозиторий git составляет от 4 до 5 минут)
      Ну, я не знаю, насколько вы знакомы с этим предметом, но вы могли бы скомпилировать все на гораздо более мощном ноутбуке и передать его уже скомпилированным на окончательное устройство, что очень поможет с проблемой синхронизации.
      привет