LINUX.ORG.RU

Релиз Static Linux

 static linux,


0

1

Вышел (согласно новости на OpenNET) дистрибутив Static Linux с графическим окружением на базе Wayland, предназначенный для загрузки непосредственно из UEFI.

В качестве формата пакетов используется APK (от проекта Alpine, к Android отношения не имеет).

В качестве базовых приложений используются CoreApps.

Ну как вышел – список изменений или хотя бы текущая версия на сайте отсутствуют, анонса нет, список пакетов выдаёт ошибки рендеринга, инструкции по сборке и исходники находятся непонятно где… в общем можно попробовать на свой страх и риск. :)

Однако концепция дистрибутива сама по себе интересна (напоминает TinyCore) и, на мой взгляд, достойна обсуждения в мини-новости.

>>> Официальный сайт

★★★★☆

Проверено: dataman ()
Последнее исправление: dataman (всего исправлений: 1)

Однако концепция дистрибутива сама по себе интересна (напоминает TinyCore) и, на мой взгляд, достойна обсуждения в мини-новости.

А собственно в чём концепция? Из UEFI грузиться? Ну даже не знаю зачем это может быть нужным...

Rodegast ★★★★★
()

Ну как вышел – список изменений или хотя бы текущая версия на сайте отсутствуют, анонса нет, список пакетов выдаёт ошибки рендеринга, инструкции по сборке и исходники находятся непонятно где…

используются CoreApps

Проект от индийских разработчиков (судя по именам в About)…

В общем, крайне сомнительная штука… но если оно может быть запаковано в один rd-файл, то наверное нужно.

mord0d ★★★★★
()
Ответ на: комментарий от Rodegast

Было бы неплохо напрямую из uefi запускать инсталятор (хотя бы в текстовом режиме). Это сильно упростит структуру iso, можно выкинуть всякие syslinux, isolinux, grub из образа.

irton ★★★★★
()

В качестве базовых приложений используются CoreApps.

Странный выбор, они же на Qt, а значит не очень компактные.

dataman ★★★★★
()
Ответ на: комментарий от Rodegast

На опеннете написано понятнее:

Ядро и корневая файловая система собраны в единый файл для запуска на системах с UEFI (Secure Boot не поддерживается). Для установки достаточно загрузить файл bootx64.efi (128 Мб) и разместить его в каталоге /efi/boot/ на диске c ФС FAT32.

Идея действительно прикольная. Правда, куда при этом те же APK устанавливаются, где организуется /home и др. – я не понял.

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

Ядро и корневая файловая система собраны в единый файл

А исходники где? Мало ли что туда напихали.

dataman ★★★★★
()

у меня есть материнка года из 2009 чтоли где в биосе уже был линух + браузер+ скайп. да, раньше линукс был таким хорошим, что мог грузиться хоть с чайника, теперь минимум 4 гига оперативы подавай и гигов 10 места.

bernd ★★★★★
()
Ответ на: комментарий от Rodegast

Ну даже не знаю зачем это может быть нужным

видимо специальный небольшой read-only образ для обслуживания и восстановления системы. Менять таблицу разделов и т.п.

У меня для этих же целей имеется отдельный раздел с SystemRescueCD.

Lrrr ★★★★★
()
Ответ на: комментарий от bernd

Linux с фаерфоксом/шромом, гимпом, медиаплеером, евинсом и ещё кучей ап в 300 мб не проблема и сейчас. Памяти из них надо только фаерфоксу/шрому

alt-tab-let ★★★
()

Имхо, все эти экспериментальные «не такие, как все», это трата времени пользователя.

dmitry237 ★★★★★
()
Ответ на: комментарий от hobbit

На опеннете написано понятнее

я не понял

Бгыы :-D :-D :-D

Хотя сайт настолько невнятно сделан что и вправду непонятно. Поэтому и хотелось бы обсудить на ЛОР со знающими людьми.

zabbal ★★★★☆
() автор топика
Ответ на: комментарий от bernd

и гигов 10 места

Образ по ссылке 128Мб. Ты когда продукты мозговых выделений откладываешь хоть иногда сверяйся с реальностью - чтобы совсем уж откровенную дичь не пороть.

zabbal ★★★★☆
() автор топика

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

В таком виде выглядит как какой-то болгенос. Где исходники, непонятно. Как собрать то же самое (или со своими изменениями), непонятно. Чисто как идея прикольно на самом деле, но это надо распространять не в виде bootx64.efi (ну или не только), а в виде скриптов для сборки такого же boot.x64 из публично доступных исходников самостоятельно.

upd: там можно скачать initramfs-образ и распаковать его, в нём соответственно найти файл /home/user/static/chroot_ru.txt. Вот его содержимое для тех, кому любопытно:

Для внесения изменений в загрузочный образ нужен
  скрипт chroot.sh /home/user/static/chroot.sh
  архив initramfs http://flibex.ru/counter.php?file=x86_64.cpio.zst
  ядро Linux, например linux-6.18.3, https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.18.3.tar.xz
  конфиг ядра /home/user/static/.config
Под пользователем с root привелегиями запустить (нужен установленный bsdtar)
  ./chroot.sh ./x86_64.cpio.zst
  теперь вы внутри чрута
В чруте добавить или удалить нужные пакеты, например
  установить firefox из alpinelinux
    apk -i add firefox-esr@alpine
  или удалить пакет transmission-qt
    apk -i del transmission-qt
  или внести любые необходимые изменения
Чтобы собрать свой загрузочный UEFI файл
  вне чрута
    cp ./linux-6.18.3.tar.xz /tmp/static/tmp/1
    cp ./.config /tmp/static/tmp/1
  в чруте
    cd /tmp/1
    /home/user/static/mkbzImage.sh
    если необходимо изменить настройки ядра и по завершении выйти из menuconfig
После завершения сборки ядра скопировать bzImage на диск
  cp /tmp/static/tmp/1/bzImage-* /mnt/sdXY/efi/boot/bootx64.efi

chroot.sh:

#/bin/sh

[ $(whoami) = "root" ] || {
  echo -e "This script must be run as root user\nExit"
  exit 1
  }

which bsdtar > /dev/null || {
  echo -e "The bsdtar is unavailable. Please install bsdtar.\nExit"
  exit 1
  }

[ -z $1 ] && {
  echo -e "Specify the initrd cpio archiv.\nExit"
  exit 1
  }

CPIO_PATH=$(realpath $1)

rm -rf /tmp/static
mkdir -m777 /tmp/static
cd /tmp/static && bsdtar -xkpf ${CPIO_PATH}

su -l user -c "mkdir /tmp/static/tmp/1"

mkdir /tmp/static/dev/pts
mount -t proc proc /tmp/static/proc
mount -t devtmpfs devtmpfs /tmp/static/dev
mount -t devpts devpts /tmp/static/dev/pts
chroot /tmp/static env -i sh --login
umount /tmp/static/dev/pts
umount /tmp/static/dev
umount /tmp/static/proc

И /mkbzImage.sh

#!/bin/sh
# Copyright (c) 2022 Denis Kulakov <staticlinux@rambler.ru>
# SPDX-License-Identifier: GPL-2.0-only

#It must be run on systems with at least 4Gb of memory

PKG_LIST="bc bison diffutils elfutils-dev flex gawk grep libressl linux-headers make ncurses-dev perl"

[ -L /etc -o -L /home ] && echo -e "/etc or /home is link\nExit"
[ -L /etc -o -L /home ] && exit 1

[ $(whoami) = "root" ] || {
  echo -e "This script has to be run under the root user\nExit"
  exit 1
  }

export KERNEL_ARCHIVE=$(find ./  -name "linux-*.tar.xz")
[ -f $KERNEL_ARCHIVE ] || {
  echo -e "Place the kernel archive file in the current directory\nExit"
  exit 1
  }


cp /etc/apk/repositories /tmp/repositories.save
echo 'http://static.flibex.ru/files/apks/
@alpine http://dl-cdn.alpinelinux.org/alpine/v3.20/main/
@alpine http://dl-cdn.alpinelinux.org/alpine/v3.20/community/
#@alpine http://dl-cdn.alpinelinux.org/alpine/edge/testing/
' > /etc/apk/repositories


#Create initrd.cpio
export DATE=$(date +%y%m%d_%H%M)
find / -path '/tmp/*' -prune -o -path '/var/log/*' -prune -o -path '/mnt/*' -prune -o -xdev -print > /tmp/initrd_files.tmp
echo "/dev/console" >> /tmp/initrd_files.tmp
cat /tmp/initrd_files.tmp | cpio -o -v -H newc > initrd.cpio
echo "Creating the file system archive"
zstd -19 -T0 initrd.cpio -o "x86_64.$DATE.cpio.zst"
chown user:user "x86_64.$DATE.cpio.zst"
chown user:user initrd.cpio


#Add required packages
cp /tmp/repositories.save /etc/apk/repositories
apk.static -qf add $PKG_LIST


#Make bzImage
su user -c 'tar xf $KERNEL_ARCHIVE'
KERNEL_DIR=$(echo $KERNEL_ARCHIVE | sed 's/.tar.xz//')
export KERNEL_VERSION=$(echo $KERNEL_ARCHIVE | sed 's/^.*-// ; s/.tar.xz//')
[ -f ./.config ] || {
  echo "Warning: File .config not found in current directory, /proc/config.gz will be used."
  read -n 1 -p "press any key"  KEY
  su user -c 'gzip -dc /proc/config.gz > ./.config'
  }
cd $KERNEL_DIR
su user -c 'cp ../.config ./'
su user -c 'make helpnewconfig > ../new_symbols_in_kernel_config'
su user -c 'TERM=xterm-color make menuconfig'
su user -c 'time make -j$(nproc) > out.txt'
su user -c 'cp ./arch/x86/boot/bzImage ../bzImage-$KERNEL_VERSION-$DATE'
su user -c 'cp ./.config ../'
echo "Copy bzImage-$KERNEL_VERSION-$DATE to /mnt/sdXY/efi/boot/bootx64.efi"


#Removing installed packages
apk.static -q del $PKG_LIST
CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 3)
Ответ на: комментарий от bernd

На самом деле, это не совсем так. Если собрать ядро вообще без всего, то оно, при желании, помещается на флоппик и работает на 486DX. Да, при этом будет практически только busybox, но, ради ачивки, некоторые заморачиваются. Включение поддержки сети и какой-нибудь минимальной графики не так уж сильно и раздувают образ. Условный TinyCore с FLTK/FLWM и поддержкой проводной сети влезает в мегабайт 20.

Alden ★★★★
()
Ответ на: комментарий от hobbit

Правда, куда при этом те же APK устанавливаются

Очевидно, они уже установлены внутри в предоставленном образе.

где организуется /home и др

Нигде. Ну или можешь tmpfs смонтировать. Это ж live-образ а не стационарная система.

firkax ★★★★★
()

Есть вариант ещё лучше - прошить это всё прямо на материнку, чтобы не зависеть от дисков. Правда 128мб наверно не влезет.

firkax ★★★★★
()

предназначенный для загрузки непосредственно из UEFI.

это как? Как «биосы» современные с мышкой? Туда можно впихнуть линукс? А зачем? Или я не понял?

pihter ★★★★★
()
Ответ на: комментарий от pihter

это как? Как «биосы» современные с мышкой? Туда можно впихнуть линукс?

Да.

А зачем?

Потому что могут.

Aceler ★★★★★
()
Ответ на: комментарий от bernd

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

это не линукс, это люди которые делают под него софт кукухой поехали: типа если опереатива стоит недорого ( пишу из прошлого ), то можно об ней не думать, типа если «у всех ССД», то можно по нажатию кнопки начинать грузить сотни маленьких файликов, пользователь-то не заметит

pihter ★★★★★
()
Ответ на: комментарий от Lrrr

У меня для этих же целей имеется отдельный раздел с SystemRescueCD.

Вот бы это можно было накатить на флешку за 200 руб, вот было бы здорово! А главное такую флешку можно бы было иметь одну на все свои компьютеры и легко модифицировать!

pihter ★★★★★
()
Ответ на: комментарий от dmitry237

Имхо, все эти экспериментальные «не такие, как все», это трата времени пользователя.

Вот так антибиотики и открываются!

Каких пользователей? Так не пользуйся, почитал на ЛОРе для общего развития и живешь дальше

pihter ★★★★★
()
Ответ на: комментарий от Aceler

А зачем?

Потому что могут.

Одобряю!

pihter ★★★★★
()
Ответ на: комментарий от pihter

Каких пользователей?

Обычных, а каких еще? Если для необычных, которым этот дистрибутив и предназначен, то обычным там конечно не место.

dmitry237 ★★★★★
()
Ответ на: комментарий от greenman

есть Minimal Linux Live MLL

Оно мало того что сдохло несколько лет назад, дык это ещё и live-cd, коих и так сотни. Обсуждаемый проект интересен как раз тем что собирается в boot.efi установка которого сводится к копированию 1 файла под любой ОС.

zabbal ★★★★☆
() автор топика
Ответ на: комментарий от dataman

Странный выбор, они же на Qt, а значит не очень компактные.

С чего ты взял? Приложения на любом современном тулките очень компактные - вон сколько их в 128Мб влезло.

zabbal ★★★★☆
() автор топика
Ответ на: комментарий от dmitry237

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

pihter ★★★★★
()
Ответ на: комментарий от zabbal

На кой хрен ему тут root нужен? Это из-за монтирования?

Видимо.

CrX ★★★★★
()
Ответ на: комментарий от zabbal

Гляну старые файлы. Да, сейчас такого уже не видно. Скорее всего не пять летназад это было…

Нагуглился совершенно другой проект

https://github.com/teou1/lifeboat_linux

greenman ★★★★★
()
Последнее исправление: greenman (всего исправлений: 1)
Ответ на: комментарий от dataman

Лучше бы они Midnight Commander с Chafa упаковали

Так упакуй - инструкции по пересборке выше по треду нашли.

zabbal ★★★★☆
() автор топика
Ответ на: комментарий от zabbal

Ага, уже лечу, щупальца назад.

в общем можно попробовать на свой страх и риск

Ты сам-то сколько раз рискнул?

dataman ★★★★★
()
Ответ на: комментарий от irton

Было бы неплохо напрямую из uefi запускать инсталятор

Вот только в таком случае возникает жёсткая зависимость от UEFI.

Rodegast ★★★★★
()
Ответ на: комментарий от Lrrr

видимо специальный небольшой read-only образ для обслуживания и восстановления системы.

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

Rodegast ★★★★★
()
Ответ на: комментарий от CrX

Для внесения изменений в загрузочный образ нужен скрипт ...

архив initramfs ... ядро Linux ... конфиг ядра ...

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

Rodegast ★★★★★
()
Ответ на: комментарий от pihter

Ну-ка, ну-ка, кому это я не дал «притащить с опеннета» при наличии честной ссылки (это обязательное условие)?

hobbit ★★★★★
()
Ответ на: комментарий от irton

Говорят есть ноутбуки, в которых bios загрузка уже не поддерживается…

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

Rodegast ★★★★★
()
Ответ на: комментарий от Rodegast

Ну так тебе и Static linux не подойдёт значит, к чему разговор тогда.

irton ★★★★★
()
Ответ на: комментарий от Pinkbyte

Это ж просто загрузчик, а тут именно полноценный (насколько позволяют 128Мб) дистрибутив.

zabbal ★★★★☆
() автор топика
Ответ на: комментарий от hobbit

Ну-ка, ну-ка, кому это я не дал «притащить с опеннета» при наличии честной ссылки (это обязательное условие)?

Да шутка же: меня уж точно никогда не ты ни остальные тут понапрасну не репрессировали )

pihter ★★★★★
()
Ответ на: комментарий от Lrrr

ну да, при желании можно и на флешку. Чего сказать-то хотел?))

ну, собсна, что можно и на флешку :) так же удобнее. Но похоже что ты и без меня знал :)

pihter ★★★★★
()
Ответ на: комментарий от zabbal

что???? сейчас ведро с вот файловым менеджером весит аж 128 мегов?! раньше линукс с иксами на дискете помещался.

bernd ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.