Hacker News Digest

Тег: #kexec

Постов: 2

Making a micro Linux distro (2023) (popovicu.com)

В статье рассматривается создание микро-Linux дистрибутива с нуля, включая сборку ядра Linux и разработку ПО для упаковки. Пример реализован для архитектуры RISC-V (QEMU riscv64 virt), но подход применим и к x86. Автор предупреждает, что это упрощенное представление Linux-дистрибутива, предназначенное для начинающих, и некоторые детали могут быть неточны на 0.1%.

Ядро операционной системы выполняет несколько ключевых функций: обеспечивает одновременное выполнение программ даже на одноядерных устройствах, абстрагирует низкоуровневые операции с оборудованием, предоставляя разработчикам простые высокоуровневые интерфейсы. Вместо того чтобы знать физические адреса устройств, приложения просто сообщают ядру о своих потребностях (например, "вывести сообщение на стандартный вывод"). Также ядро предоставляет файловые системы как интерфейсы для взаимодействия с данными, которые могут храниться не только на дисках, и создает программную модель, позволяющую приложениям работать независимо, не зная друг о друге.

by turrini • 25 октября 2025 г. в 13:01 • 170 points

ОригиналHN

#linux#kernel#risc-v#qemu#uefi#pxe#initramfs#cpio#u-root#kexec

Комментарии (28)

  • Обсуждение вращается вокруг создания минимальной Linux-системы: от идеи до практических нюансов (UEFI, cloud-init, PXE, initramfs, cpio, u-root, kexec, Gentoo vs LFS vs Buildroot).
  • Участники делятся опытом, что «маленькая» сборка может быть полезна как для обучения, так и для практического применения (например, как образ для облачных инстансов).
  • Обсуждаются различные инструменты и подходы: от полностью статически слинкованных бинарников до полноценных дистрибутивов, а также варианты с использованием u-root, kexec, initramfs, cpio, PXE и т.д.
  • Участники также обсуждают, что такие мини-дистрибутивы могут быть полезны для обучения, отладки и даже как основа для специализированных образов (например, для RPi или как образ для облачных провайдеров).

Kernel: Introduce Multikernel Architecture Support (lwn.net)

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

Ключевые компоненты включают расширенную подсистему kexec для загрузки образов, фреймворк межъядерного обмена сообщениями через IPI и механизмы инициализации CPU для x86. Реализация сохраняет обратную совместимость и добавляет интерфейс /proc/multikernel для мониторинга. Пока это черновая версия, требующая тестирования и доработки, но открывающая возможности для zero-down обновлений ядра и новых сценариев изоляции workload'ов.

by ahlCVA • 19 сентября 2025 г. в 15:29 • 181 points

ОригиналHN

#linux#kexec#x86#ipc#dma#pci#acpi#multikernel.io

Комментарии (49)

  • Обсуждаются технические сложности совместного использования аппаратных ресурсов несколькими ядрами, включая управление состоянием драйверов, DMA и аппаратными синглтонами (PCI, ACPI).
  • Проводятся параллели с существующими архитектурами и проектами: exokernel, Barrelfish OS, OpenVMS Galaxy, CoLinux, Kerrighed и LPAR на мейнфреймах IBM.
  • Поднимаются вопросы безопасности: потенциальные уязвимости при совместном доступе к памяти через DMA, отсутствие изоляции между доверенными ядрами и ограниченный периметр атаки при компрометации одного ядра.
  • Отмечаются потенциальные преимущества: улучшенная изоляция сбоев (устойчивость к паникам ядра), высокая производительность без накладных расходов виртуализации и возможность запуска разнородных ОС (Linux и BSD).
  • Упоминается коммерческий контекст: автор работает над этим в рамках стартапа multikernel.io, что вселяет надежду на понимание производственных сложностей.