@w84death @whitequark @landley granted the 1440kB is the entire boot image for @OS1337 and the #linux #kernel + #initramfs with #toybox comes out to ~ 700kB.

Во времена #EFI & #UEFI этот самый #GRUB уже и не нужен.
Во-первых, полно и других разнообразных UEFI boot manager'ов.

Во-вторых, не особо то они и нужны вообще как класс. Компьютер можно загружать и напрямую через EFI-stub ядра ОС, образы которых давно собираются как EFI-приложения (
раз и два).
Т.е. надо идти в настройки UEFI материнской платы и смотреть загрузочные записи, хранящиеся в
#NVRAM — дописывать туда все те параметры\аргументы, которые UEFI при старте компа будет подставлять в качестве аргументов командной строки. Так же как и GRUB или другой boot manager грузящий vmlinuz-файл.

Цивилизованный старт
Использовать то, что было известно как
#gummiboot, а теперь стало называться #systemd-boot. Там вполне удобные текстовые файлы в /boot/loader/entries/... через которые можно передать нужные значения и аргументы в переменные. Например такие как используются для #LUKS разделов:

options rd.luks.options=password-echo=no options rd.luks.data=UUID=/dev/disk/by-id/nvme-VENDOR-partN options rd.luks.name=UUID=my-enc-swap options resume=/dev/mapper/my-enc-swap options rd.luks.data=UUID2=/dev/disk/by-id/nvme-VENDOR-partY options rd.luks.name=UUID2=my-enc-root options root=/dev/mapper/my-enc-rootНе обязательно задавать таким образом по одной опции на строке, можно устраивать свалку пихая всё в одну большую строку.

Комментарий №1
В данном примере, это когда swap идёт не файлом, а отдельным разделом на диске, такое размещение упрощает использование swap для hibernate.

Комментарий №2
Все эти LUKS-опции не обязательно указывать при каждом запуске системы в
/boot/loader/entries/... файлах или через загрузочные записи UEFI внутри #NVRAM
Можно прописать всё это сопоставление и через файл
/etc/crypttab.initramfs перед генерацией\созданием #initramfs образа.

#linux

The EFI Boot Stub — The Linux Kernel documentation

Today, I built a cpu #kernel for a #camera again. ✨👩‍💻✨
I.e., I could do `insmod ipcam some-mod.ko` and other fun things.

It took about a minute to build an #initramfs with u-root and cpud *and* the kernel. Now that is really hard to beat.

Speaking of which, we have a demo now showing how fast u-root builds and runs:
https://htmlpreview.github.io/?https://github.com/u-root/u-root/blob/main/tools/testramfs/cinema/index.html

For more, see https://u-root.org 👀

GitHub & BitBucket HTML Preview

how to add setid or nohup or similar to initramfs? #filesystem #encryption #initramfs #headless

https://askubuntu.com/q/1562518/612

how to add setid or nohup or similar to initramfs?

I try to follow this tutorial but I want to be able to close the ssh session. so I'd need a way to have the setup work in the background and I'll just check hours later if it went through. if I had...

Ask Ubuntu

Bom, temos um problema aqui. Depois de um shutdown forçado ontem, terei uma dor de cabeça para resolver.

#linux #error #boot #initramfs

@yura so @ActionRetro took a look at #Floppinux?

Thanks to @w84death btw, cuz Flioppinux inspired me to @OS1337 which uses #toybox instead of #BusyBox to get even smaller.

https://github.com/OS-1337/OS1337

GitHub - OS-1337/OS1337: OS/1337 Project

OS/1337 Project . Contribute to OS-1337/OS1337 development by creating an account on GitHub.

GitHub
🌖 Linux 核心:身為一個可建置與執行的程式
➤ 動手實驗,解開 Linux 核心的神祕面紗
https://serversfor.dev/linux-inside-out/the-linux-kernel-is-just-a-program/
這篇文章旨在破除 Linux 核心神祕的迷思,透過實際操作與實驗,揭示核心其實就是一個可建置、可執行的二進位檔案。作者引導讀者利用 QEMU 虛擬機載入 Linux 核心,並解釋為何初始執行會出現 Kernel panic,這是因為核心需要一個 init 程式來接管。接著,文章示範如何使用 Golang 編寫一個簡單的 init 程式,並建構一個最小化的 initramfs 檔案系統,最終成功讓核心載入自訂的 init 程式,並能執行基本輸出,從而建立對 Linux 系統運作機制的初步理解。
+ 寫得真好!我從來沒想過可以這樣直接啟動核心,而且用 Golang 寫 init 程式也太酷了吧!
+ 實用性很強,跟著作者的步驟一步步做,真的能對核心有更深的
#Linux #核心 #虛擬機 #QEMU #initramfs #Golang
The Linux kernel is just a program

Most books and courses introduce Linux through shell commands, leaving the kernel as a mysterious black box doing magic behind the scenes. In this post, we will run some experiments to demystify it: the Linux kernel is just a binary that you can build and run.

Собираем Linux, который весит меньше, чем мем с котиком, ну или почти…

Мне всегда было интересно, насколько минимальным может быть Linux. Три года назад я уже публиковал статью , но понимание темы меняется. Сейчас хочу освежить знания и поделиться ими. В отличие от предыдущей статьи, в этой я рассматриваю Linux с более свежим ядром с минимальной конфигурацией на основе tinyconfig, оформленный в виде одного файла и загружаемый при помощи UEFI. Зачем вообще нужно создавать такие сборки Linux? Установил готовый дистрибутив или загрузился в Live — работай и изучай. Но такой подход не даёт настоящей уверенности в знаниях. Представьте: водитель и шофёр. Водитель просто ездит. Шофёр знает устройство автомобиля и может его починить. Современные автомобили сложны — починить всё самому уже нельзя. Но вы можете открыть капот, измерить уровень масла, заменить колесо в случае прокола, установить винт для буксировочного троса и т. д. Так же и с Linux: коммерческий дистрибутив вы вряд ли соберёте, но на одну ступеньку вверх по лестнице профессионализма подниметесь. На мой взгляд, описание создания минимального Linux не должно быть большим, поэтому я старался его сделать минимально возможным, вложив максимум смысла. Как минимальный Linux служит для понимания более сложных вещей, так и моя статья даёт базу для дальнейшего более глубокого изучения. В комментариях к моей предыдущей статье я видел замечания, что можно использовать buildroot или книгу Linux From Scratch . Скажу только, что я преследую другие цели: собрать минимальный Linux без использования специализированных программ и сделать это как можно проще. Всем, кого заинтересовало, добро пожаловать под кат.

https://habr.com/ru/companies/ruvds/articles/963400/?utm_source=habrahabr&utm_medium=rss&utm_campaign=963400

#linux #дистрибутив #минимальный_Linux #сборка_ядра #uefi #busybox #linux_from_scratch #initramfs #qemu #ruvds_статьи

Собираем Linux, который весит меньше, чем мем с котиком, ну или почти…

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

Хабр

Собираем Linux, который весит меньше, чем мем с котиком, ну или почти…

Мне всегда было интересно, насколько минимальным может быть Linux. Три года назад я уже публиковал статью , но понимание темы меняется. Сейчас хочу освежить знания и поделиться ими. В отличие от предыдущей статьи, в этой я рассматриваю Linux с более свежим ядром с минимальной конфигурацией на основе tinyconfig, оформленный в виде одного файла и загружаемый при помощи UEFI. Зачем вообще нужно создавать такие сборки Linux? Установил готовый дистрибутив или загрузился в Live — работай и изучай. Но такой подход не даёт настоящей уверенности в знаниях. Представьте: водитель и шофёр. Водитель просто ездит. Шофёр знает устройство автомобиля и может его починить. Современные автомобили сложны — починить всё самому уже нельзя. Но вы можете открыть капот, измерить уровень масла, заменить колесо в случае прокола, установить винт для буксировочного троса и т. д. Так же и с Linux: коммерческий дистрибутив вы вряд ли соберёте, но на одну ступеньку вверх по лестнице профессионализма подниметесь. На мой взгляд, описание создания минимального Linux не должно быть большим, поэтому я старался его сделать минимально возможным, вложив максимум смысла. Как минимальный Linux служит для понимания более сложных вещей, так и моя статья даёт базу для дальнейшего более глубокого изучения. В комментариях к моей предыдущей статье я видел замечания, что можно использовать buildroot или книгу Linux From Scratch . Скажу только, что я преследую другие цели: собрать минимальный Linux без использования специализированных программ и сделать это как можно проще. Всем, кого заинтересовало, добро пожаловать под кат.

https://habr.com/ru/companies/ruvds/articles/963400/

#linux #дистрибутив #минимальный_Linux #сборка_ядра #uefi #busybox #linux_from_scratch #initramfs #qemu #ruvds_статьи

Собираем Linux, который весит меньше, чем мем с котиком, ну или почти…

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

Хабр

If you use #btrfs on kernels ranging from 6.12 to 6.19 and get the error:

VFS: Unable to mount root fs on unknown_block(0,0)

Add the 'btrfs' and 'microcode' hooks to /etc/mkinitcpio.conf via chroot and rerun initramfs generation.

If that doesn't help install `intel-ucode.img` and add it to your grub boot parameters in the initrd list.

If that still doesn't help (happens on Intel 3770k and older) disable #zstd initramfs compression, use gzip instead.

You are welcome

#initramfs #microcode