Можно ли изменить ядро ​​в системе UNIX / Linux?

Я хотел знать, можно ли изменить ядра, например, заменить ядро ​​Linux Fedora на то, что у FreeBSD.

Теперь уже существовал Debian GNU / kFreeBSD . Можно ли настроить дистрибутив Linux для хранения ядра BSD?

3 Solutions collect form web for “Можно ли изменить ядро ​​в системе UNIX / Linux?”

Нет, каждое ядро ​​реализует свои собственные функции по-своему. Существует большая совместимость с POSIX, но как только вы выйдете из этого, исполняемые файлы должны быть скомпилированы с уже установленными механизмами ядра. Многие проекты содержат исходный код, который компилируется только в том случае, если вы явно заявляете, что компилируете FreeBSD или Linux. По сути, это kFreeBSD. Инструменты поддерживают ядро ​​FreeBSD, но они должны быть скомпилированы для него.

Например, если вы попытаетесь использовать epoll_create в FreeBSD, все будет работать не так, как ожидалось.

Конечно, вы можете перекрестно скомпилировать инструменты из системы LFS системы BSD, но это, вероятно, займет навсегда. Не так просто, как просто скомпилировать новое ядро.

FreeBSD не использует ядро ​​Linux – как следует из названия, оно использует ядро ​​BSD.

Можно заменить ядро ​​Linux другим ядром Linux (либо вы сами создали, либо вы извлекли из дистрибутива). Имейте в виду, что программы пользовательского пространства в вашем дистрибутиве могут зависеть от конкретных функций ядра, которые должны быть скомпилированы, и могут не работать должным образом, если вы запускаете их на ядре, построенном без этих функций. Например, для распределения на основе systemd потребуются группы в ядре.

Для примера, который вы упомянули, да, дистрибутив GNU может быть создан для ядра Linux или для ядра BSD. Во многих случаях существуют различия во времени компиляции (например, #ifdef ) между программами, скомпилированными для этих двух, даже если ядра рекламируют один и тот же ABI. Как минимум, библиотеки низкого уровня, такие как библиотека времени выполнения C, должны учитывать различные ABI ядра.

Ядро является независимой частью и регулярно заменяется во время обновлений операционной системы. Некоторые проприетарные драйверы (NVIDIA и т. Д.) Имеют сценарии установки, которые исправляют драйвер в исходный код ядра, создают это ядро ​​и заменяют его текущим ядром. Следовательно, если вы разрабатываете собственную версию ядра, которая может выполнять все необходимые функции, не должно быть большой проблемой, чтобы установить ее и оставить остальную часть операционной системы. Однако чаще всего такое «новое ядро» происходит из недавней официальной версии.

Ядро Solaris было перенесено таким образом в некоторой степени, в результате чего OpenSolaris запускает среду Gnome.

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

  • configure allowed_tcp_congestion_control через конфигурационные файлы в ядре linux
  • Как скомпилировать ядро ​​для гостя KVM (без паравиртуализации)?
  • Является ли "sync" перед drop_caches необходимым?
  • Повторное включение консоли после завершения работы ядра, если в Uboot установлен режим молчания?
  • Устройство USB 3.0, не перечисленное на порту USB 3.0 в операционной системе Debian 6.0
  • linux 3.17 поддерживает hotplug thunderbolt непривязанных устройств молнии - что это?
  • Tegra Mesa GLES без X
  • Отсоединить клавиатуру от ядра
  • Знайте, какой каталог «mount -o bind», задав ядро ​​(Linux)
  • Какой тип файла / dev / core или / proc / kcore?
  • Правильно ли я понимаю ядра?
  • Interesting Posts

    Ежедневный logRotate для apache в определенное время

    Программа для управления акциями Samba (эквивалент net.exe)

    Linux Mint 16: Skype использует 100% процессорного ядра

    Как узнать, с какими GPG-ключами был подписан пакет RPM?

    Как сортировать файлы в подпапку на основе части имени файла?

    Изменить apt.conf в Debian 7.1 для Intel 64 бит

    Установка Docker на RedHat завершилась неудачей с 403 запрещенными

    Как часто создается резервный файл / etc / shadow?

    Есть ли какие-либо преимущества в построении ядра как 64-битного, хотя пространство пользователя в 32 бит?

    Как создать последовательный судебный образ из живой системы RHEL?

    Каково определение префикса, номера версии и суффикса в имени файла для сортировки версий?

    usr / bin / xterm Ошибка Xt: Не удается открыть дисплей: / usr / bin / xterm: DISPLAY не установлен?

    сброс ключей, измененных с помощью xmodmap

    Почему размер / bin / true 27168 байт?

    Ошибка компиляции rrdtool 1.4.7: glib-2.0 / glib.h

    Linux и Unix - лучшая ОС в мире.