LINUX.ORG.RU

Избранные сообщения poshat

Опенсорс-астрономия из тёплой комнаты

Галерея — Скриншоты

Одна из моих недавних астрофотосессий.

На скрине открыт KStars на два экрана. В нём запущен на выполнение план на 600 снимков с пятисекундной выдержкой туманности Ориона (M42).

KStars запущен на десктопе, но INDI-сервер (EKOS) работает на малинке, которая управляет телескопом и камерой.

Слева окно с атласом неба, на котором я могу выбрать интересующий меня объект и направить туда телескоп. В небольшом окне открыта превьюха последнего сделанного снимка.

Выдержка 5 секунд т.к. встроенный EKOSвский автогайд не смог выдать приемлемый уровень коррекции ошибок (меньше двух угловых секунд). PHD2 я так и не осилил заставить работать, поэтому пришлось ограничить выдержку. Телескоп у меня большой (1000мм фокусное), да ещё и перевес на монтировке, поэтому приходится ограничивать себя.

Все работает на опенсорс-софте, кроме драйверов камер:

  • Контроль телескопа и камеры – astroberry на малинке;
  • Атлас – KStars;
  • Выполнение плана и центровка (и неудачное гидирование) – EKOS;
  • Драйвера и сервис – INDI.

>>> Просмотр (5120x1440, 1233 Kb)

 astroberry, indi, kstars, ,

cocucka
()

Вопрос о серверах на Slackware

Форум — Talks

Всем привет! Кто нибудь сталкивался с серверными машинами на слаке? все вот на ubuntu и rhel, но может быть кто-то имел дело со slackware и может подсказать о серверных решениях у нас в стране

Перемещено xaizek из linux-org-ru

Перемещено xaizek из admin

 ,

arkhatriis
()

Не пропихиваются пакеты из IPv6 /64 сети в наружу

Форум — Admin

Друзья, не пому в чем засада (опыта большого нет).

Хочу пропихнуть IPv6 глобальную подсеть по VPN-каналу. Соответственно есть Ubuntu 20 сервер с /48 адресом. На нем установлен WireGuard создающий интерфейс wg1 с /64 сетью, кусочком /48-й сети.

Внутри сети все бегает, но не пойму по какой причине пакеты из /64 не уходят на глобальный интерфейс. Явно чего-то не хватает, например, маршрута, но не соображу какого.

Проблема выглядит вот так вот (здесь и далее все пускаю с сервера):

ping -I wg1 -6 ya.ru
ping: connect: Network is unreachable

ifconfig:

( читать дальше... )

ip6tables -S:

( читать дальше... )

ip -6 route:

( читать дальше... )

sysctl.conf:

net.ipv6.conf.all.forwarding=1
net.ipv6.conf.ens3.accept_ra=2

 , , , ,

kvv213
()

Уличный LTE(4G) модем(роутер)

Форум — General

Может кто подскажет. Понадобилось сделать резервный канал в Инет. Единственный вариант, lte(4g) модем. Проблема в том, что основной шлюз расположен в подвальном помещении и обычный «свисток» в него не воткнуть. Надо Ставить антенну, тянуть провода от антенны(минимум 5 метров. А лучше 7-8) к модему. Питгейлы на модемах хлипкие да и не хочется городить «колхоз».

Как решение видится, внешнее LTE устройство с подключением по Ethernet и POE питанием. Посмотрел,Mikrotik, тем более, что все сетевое оборудование, в основном, этой конторы. Нареканий нет и хороший опыт настройки. Но, Ценник, в связи с сложной политической обстановкой, поднялся минимум в 2-3 раза. Подскажите, пожалуйста, в какую сторону смотреть…) Нужен, более-менее, надежный уличный LTE(4G) модуль/роутер.

 , ,

AndrK189100
()

(Пост)праздничный рабочий стол

Галерея — Рабочие места

«Good news, everyone!»

Привет всем. Периодически захожу в свой аккаунт на ЛОРе — проверить жив он или нет.
На удивление жив, и score даже позволяет постить в галерею, чем и решил воспользоваться.
Это действительно рабочий стол, люблю пустоту на столе(а хлам весь по ящикам).

Рабочая машина - уже старенький ПК:
Core i5 4570
16GB RAM
Radeon HD7870
2 SSD по 250GB
2TB HDD

Самого системника в кадре не видно, но в левом нижнем углу на нём лежит кот.
На столе, в шапке Санты, наш с братом пет-проект — «умная» колонка Pinder(Bener + Raspberry Pi, название специально такое, да:)), основанный на Малинке Зеро.
Это он в «работе» - https://www.youtube.com/watch?v=jB6eqvVFAuU, https://www.youtube.com/watch?v=SRVkXlZcwbs
Исходники кода и 3D-модели:
https://github.com/sindar/pRodriguezAssistant
https://www.thingiverse.com/thing:4384974
Сейчас используется в основном как ночник, украшение стола.

На полке пингвин-матрёшка и советский Винни.
Система — Mint Xfce Ulyssa, в браузере играет радио SomaFM Groove Salad.
Вот как-то так.

>>> Просмотр (5120x3413, 2894 Kb)

 , , ,

sindar
()

Установка WinXP второй системой на старом компе с основной системой Linux Mint Debian

Форум — General

Уважаемые форумчане! Имеется очень старый, но прекрасно и стабильно работающий комп на Linux Mint Debian. В нём имеется 2 IDE винчестера на 320 Гб (WD) и 120 ГБ (Seagate), плюс 2 внешних usb-диска (1 Тб+1Тб). Linux установлен на один из разделов HDD WD (3 раздела: система+swap+раздел ext4). На сигейте один большой раздел файлопомойки в ext4. Требуется следующее: «отрезать» от сигейта раздел приблиз. 40 Гб, переформатить его в ntfs и установить в него WinXP (семёрку не потянет и не ставится она на IDE диски). Linux остаётся на другом физическом диске. Вопрос: что будет с загрузчиком Grub, как «дописать-исправить» загрузчик Grub, чтобы в списке загрузок появилась винда и вообще, что нужно сделать, чтобы при таком раскладе загрузки был выбор линукса или винды?

 ,

Oberstung
()

Как пробросить порт устройства из одной локальной сети в другую?

Форум — General

Доброго времени суток, товарищи! Имею такую сеть:

image

Как подключаться по telnet с терминала обращаясь по адресу 192.168.100.22:23 на 23 порт 4g модема. Как мне это сделать? Раньше вроде бы такое поворачивал поднимая на Raspberry pi прокси. Список сетевых интерфейсов на Raspberry pi:

ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
   
    inet 192.168.0.144/24 brd 192.168.0.255 scope global noprefixroute usb0
       valid_lft forever preferred_lft forever
    inet6 fe80::361d:208c:a91f:2c78/64 scope link
       valid_lft forever preferred_lft forever
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
   
    inet 192.168.100.22/24 brd 192.168.100.255 scope global noprefixroute wlan0
       valid_lft forever preferred_lft forever
    inet6 fe80::bc36:60bd:72c5:2b80/64 scope link
       valid_lft forever preferred_lft forever

 , , ,

Un_ka
()

Armbian на Яндекс станцию

Форум — Linux-hardware

Заблокированную яндекс станцию можно купить за не очень дорого, отсюда и такие бредовые мысли. В станции стоит allwiner r18, в мини a113x. Хочу сконфигурировать u-boot и запустить какой-то минимальной линукс. Насколько это реально и адекватно? Проблем с припаяться и прошить что-то нет. Вроде как оба процессора не редкоземельные и уже есть готовые SBC на них, но есть вопросы не понаделал ли грабель яндекс на своих платах

 ,

daaar
()

Первое ознакомительное видео про ноутбук на Арм64 из андроид-тв приставки.

Галерея — Рабочие места

http://sega007.ddns.net:7021/files/noute.mp4

https://youtu.be/MCzPjtTRyMk

Как работает загрузчик в следующих сериях.

>>> Просмотр (4032x2780, 1762 Kb)

 

burato
()

Есть ли жизнь на малиновом десктопе

Форум — Desktop

Добрый день, ЛОР.

Несколько человек на нашем форуме говорили, что используют Raspberry Pi и похожие платы в качестве неприхотливого десктопа. Хотелось бы узнать, насколько он шустр.

Просьба к энтузиастам этого дела ответить на вопросы:

  1. Какая модель малинки, сколько памяти?

  2. Пассивное или активное охлаждение?

  3. Какой дистрибутив?

  4. Какое DE или WM?

  5. Сколько времени проходит от подачи питания до появления рабочего стола?

  6. Сколько времени проходит от нажатия Enter в лончере (ну или от клика по значку) до отрисовки окна запускаемой программы, например, эмулятора терминала, браузера, файлового менеджера? С браузерами разговор отдельный, они и на обычных десктопах тупят…

  7. Насколько отзывчиво перечисленное в предыдущем пункте к нажатиям клавиш в процессе работы?

Если у вас десктоп не на малинке, а на другой плате на арме или ещё какой не-интеловской архитектуре, тоже пишите, меня интересуют любые альтернативы интелу.

Попутно спрошу: есть ли среди ARM-плат то, что можно было бы рассматривать как продвинутую альтернативу малине? Чтобы были те же самые USB, HDMI (DP), звук и поддержка полноценного линукса, но дополнительно чтобы можно было полноценно подцепить SATA-диски без тормозных переходников? За такое можно было бы и заплатить подороже (в разумных пределах).

 , ,

hobbit
()

На чём нынче лучше делать интернет-магазин?

Форум — Web-development

Комрады. Рассматривается два стека для интернет-магазина (цифрового товара, в перспективе - издание этого товара). Варианта пока вижу два - Ruby и NodeJS.

Команда знает на хорошем уровне NodeJS, средне Ruby (Roda, Sinatra), Python (Django, Flask), на базовом Java, Dart. DB - Mongodb, ибо реляцию не знают на уровне не ORM. Предполагается брать для фронта Angular. Что вы бы использовали?

 , ,

silver-bullet-bfg
()

MINIX-NE

Галерея — Рабочие места

Привет, ЛОР.

В посте полугодичной давности я рассказал о том, как я возился с монохромным монитором от МежДелМаша, подключая его к IBM PS/2. Теперь же я хочу поделиться с вами совсем-таки недавним моим успехом уже софтверного характера, впрочем всё так же занимающим своё заслуженное место в одном из разделов Специальной олимпиады, а именно, — я модифицировал древний MINIX 1.7.5 под нужды своего компьютера, дабы использовать все основные возможности железа. Но начну я своё изложение всё-таки с описания характеристик, ибо именно оно является основным лимитирующим фактором.

Итак, на фото один IBM 8530 (PS/2 Model 30 286) со следующими параметрами

  • Процессор от SIEMENS, клон Intel 80286, 16-bit
  • Память 1 Мб (разбита на 640k+384k)
  • VGA на материнке
  • PS/2 клавиатура и мышь
  • Три ISA слота (мне повезло не возиться с MCA)
  • Compact Flash XT Lite adapter rev 4.1
  • Ethernet от SMC (WD8390 совместимая карта с RJ-45 и BMC)
  • EGA видеокарта от ATI с поддержкой MDA и CGA режимов

Делловский монитор подключён к VGA из материнки, а вот с монохромным монитором пришлось повозиться, сделав переходник с MDA DB-9 на DB-15, плюс выцыганить питание с разъёма для флоппи, ибо IBM решили убрать молексы из дизайна, и запитывать диски с материнки.

Ситуация с подключением двух мониторов довольна нестандартна для конца 80х, однако именно для этой цели адресное пространство у монохромного адаптера и у цветного графического (от которого наследуется текстовый режим VGA) разные, а значит в теории можно использовать VGA+MDA. Однако обычно программы для MS-DOS на это не затачивались, и профита от такой схемы для меня не должно было быть, если бы не…

Если бы не старый MINIX. Версии вплоть до 2.0.4 позволяли в теории запустить полноценный UNIX даже на IBM PC XT с 640k RAM. Однако же найти подходящую именно для меня конфигурацию MINIX оказалось задачей трудной. Я перебрал сначала версию MINIX для MS-DOS, но 1 MB памяти для неё было явно мало (что и не удивительно, ведь MINIX для DOS создаёт виртуальный диск в RAM). В итоге я смог установить в QEMU MINIX 1.7.5 на один из разделов Compact Flash, и потом даже запустить уже на самом PS/2.

Правда, путь к первой введённой в терминале команде был тернист. Во-первых, MINIX подвешивал клавиатуру при загрузке. Причину удалось установить, загрузившись в режиме совместимости с i8086, откуда подозрения сразу пали на злосчастную линию A20, которая управляется контроллером клавиатуры в AT-клонах для совместимости с i8086. В исходном коде kernel/klib88.s A20-линия выставлялась в соответствии с мануалами, вот только оказалось, что для IBM PS/2 появился специальный контроллер для управления A20, а посему код для ядра пришлось сразу же патчить. По итогам доступная память с 640k в режиме совместимости увеличилась до установленной памяти в 1 MB, плюс защищённый режим с его плюсами (ну и минусами тоже, об этом чуть позже).

Следующим шагом было реализации возможности работать одновременно в двух виртуальных tty, используя два монитора. В коде kernel/console.c такой абстракции как монитор или экран не было, поэтому пришлось долго провозиться с возникающими гонками за внутренние переменные, однако усилия были вознаграждены, и теперь я мог например вывести на один экран какой-нибудь man, и параллельно редактировать файл на другом, переключаять по Alt-<- Alt–>.

Ещё одна из проблем оригинального MINIX — он отказывался работать с CF-XT адаптером. Одно время я был удовлетворён работой драйвера, который вызывает функции BIOS int 13h через аппаратный сброс, пока я не захотел наконец-то разобраться с сетевым драйвером (благо он как раз для WD8390 совместимых карт уже был в исходниках). При включении Ethernet в параметрах ядра загрузка зависала на моменте инициализации драйвера диска (забавно, не правда ли?) Вместо того, чтобы пофиксить баг, я решили подойти к вопросу радикально и переписать стандартный драйвер IDE контроллера, чтобы он стал поддерживать CF-XT-lite. И это было увлекательно. Главной подсказской для меня стала принципиальная схема адаптера, потому что сходу отображение адресов CF на шину не гуглилось, и оказалось, что не на все вопросы необходимо искать ответ в Интернете, тем более когда достаточно просто взглянуть глазами на схему платы. Конечно, документация к CF и исходники XTIDE BIOS мне тоже помогли. В процессе переписывания драйвера в момент, когда я наконец-то разобрался с адресами, и драйвер стал идентифицировать устройство, я умудрился несколько раз испортить корневой раздел, но спасали бэкапы и Linux, который до сих пор поддерживает старую добрую MINIX FS.

Как итог: старый MINIX прекрасно себя чувствует на старой же машине с 16-bit разрядностью и 1 MB памяти, при этом позволяет выходить во внешний мир с помощью telnet и ftp и поддерживает мультизадачность. Сейчас я ковыряюсь с httpd сервером, который уже скомпилировался и запускается, но пока возвращает только 403 и 404 (причём делает это он секунд за пять, если не медленнее). Остались ещё мелкие недочёты по типу не работающего SIGTERM по Ctrl-C и мигающего сразу в двух экранах курсора (это сбивает с толку, потому что не знаешь, на какой экран сейчас перенаправлен ввод). Из глобального хочется сделать frame buffer хотя бы для VGA, а то и для обоих мониторов (попробовать видеокарту ATI в режиме Hercules). Другая возможная ветка развития — создание дистрибутива для старых компов и эмуляторов типа даже pcjs.org, чтобы у энтузиастов была возможность попробовать настоящий UNIX на своём ретро железе.

P.S. Да, чуть не забыл. На фото на левом мониторе telnet на какую-то из BBSок, на правом — стандартные UNIX команды и вывод кусочка ядра на экран.

>>> Просмотр (4000x3000, 4288 Kb)

 , , ,

luke
()

VPN. Your connection is not private.

Форум — Admin

Полный нуб в вопросах сетей решил сделать свой VPN на базе стандартных решений (droplet), предлагаемых DigitalOcean.

Действовал в основном по вот этой инструкции https://khashtamov.com/ru/hosted-open-vpn-server/

Решил, что поднимать свою убунту на удаленном сервере мне не нужно, достаточно воспользоваться имеющимися дефолтными решениями.

Зарегился, включил vpn-сервер. Подключился к нему через OpenVPN, проверка ip показывает, что я в Бостоне.

При попытке зайти на банальный linkedin.com бразер выдает ошибку «Your connection is not private»:

Your connection is not private
Attackers might be trying to steal your information from www.linkedin.com (for example, passwords, messages, or credit cards). Learn more
NET::ERR_CERT_AUTHORITY_INVALID
ReloadHide advanced
www.linkedin.com normally uses encryption to protect your information. When Vivaldi tried to connect to www.linkedin.com this time, the website sent back unusual and incorrect credentials. This may happen when an attacker is trying to pretend to be www.linkedin.com, or a Wi-Fi sign-in screen has interrupted the connection. Your information is still secure because Vivaldi stopped the connection before any data was exchanged.

You cannot visit www.linkedin.com right now because the website uses HSTS. Network errors and attacks are usually temporary, so this page will probably work later.

Vivaldi не дает ничего сделать, а при игноре ошибки в firefox, он выкидывает на страницу блокировки от МГТС.

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

Did Not Connect: Potential Security Issue

Firefox detected a potential security threat and did not continue to www.linkedin.com because this website requires a secure connection.

www.linkedin.com has a security policy called HTTP Strict Transport Security (HSTS), which means that Firefox can only connect to it securely. You can’t add an exception to visit this site.
https://www.linkedin.com/

The certificate is not trusted because it is self-signed.
HTTP Strict Transport Security: true
HTTP Public Key Pinning: false

Сейчас сайт опять открывается.

Что надо настроить на vpn-сервере, чтобы такого не было? И вообще, подскажите, что почитать на тему для обычного пользователя, который не собирается становиться админом, но хочет иметь свой vpn.

 

another
()

АПКИТ попросила вице-премьера перенести вступление в силу закона об обязательной предустановке отечественного софта

Новости — Linux в России
Группа Linux в России

Ассоциация предприятий компьютерных и информационных технологий (АПКИТ) попросила вице-премьера Дмитрия Чернышенко перенести на неопределенный срок вступление в силу закона об обязательной предустановке отечественного софта на смартфоны, компьютеры и Smart TV. До вступления закона в силу осталось меньше двух месяцев, но чиновники до сих пор не объяснили, какое ПО и в каком порядке устанавливать на устройства, поясняют участники рынка. Соответствующее постановление пока только прорабатывается в правительстве.

Закон о предустановке отечественного ПО вступает в силу с 1 января 2021 года и обязывает устанавливать на смартфоны, компьютеры и телевизоры Smart TV при их продаже отечественные программы. За нарушения предлагается штрафовать должностных лиц на сумму до 50 тыс. руб., а юридических — до 200 тыс. руб. Закон должен был вступить в силу в июле 2020 года, но 31 марта Госдума отсрочила вступление до 1 января.

АПКИТ напоминает, что до сих пор не определены порядок установки отечественных программ, типы устройств, на которые их нужно ставить, возможность продажи ранее ввезенной в страну электроники без российского программного обеспечения (ПО) и даже его список и виды.

Неясно, и кто будет контролировать исполнение требований закона. Из-за правовой неопределенности производители не успеют к 2021 году обеспечить установку на устройства российского ПО, заключают в АПКИТ.

«Мы неоднократно встречались для обсуждения требований и порядка предустановки с профильными ассоциациями, производителями техники, ритейлерами. Нами была услышана общая озабоченность сроками, и в настоящий момент мы прорабатываем варианты, которые позволят сбалансировать интересы всех участников»,— заявил заместитель главы Минцифры Максим Паршин.

>>> Подробности

 ,

anonymous
()

Создание загрузочных образов boobstrap v1.2

Новости — Open Source
Группа Open Source

Спустя всего месяц неспешной разработки состоялся релиз boobstrap v1.2 — набор инструментов на POSIX shell для создания загрузочных образов и накопителей.

( читать дальше... )

>>> Исходный код

 ,

Spoofing
()

boobstrap v1.1

Форум — Talks

Скриншот

Спустя несколько дней активной разработки состоялся релиз boobstrap v1.1 — набор POSIX shell скриптов для создания загрузочных носителей с ОС GNU/Linux.

Что нового в этой версии?

  • Добавлена поддержка busybox, оно не обязательно, но если оно установлено в вашей системе, — оно будет использовано при создании initrd образов. Если нет, то по прежнему весь необходимый набор утилит будет скопирован с вашей системы.
  • Оверлеи (образы систем) теперь можно хранить на любых устройствах хранения данных. В версии 1.0 при создании загрузочного образ система с дистрибутивом линукса «вшивалась» прямо в initrd, в результате чего initrd мог получиться больших размеров и не на всех системах загружаться, но теперь благодаря busybox стало возможным хранить образы на любых накопителях информации. Оверлеи можно хранить на том же ISO образе или на других накопителях отдельно.
  • Добавлена отдельная утилита mkoverlayfs для создания оверлеев, а именно это могут быть директории, cpio-архивы, squashfs-образы. Это удобно для ручного создания оверлеев с последующим их перемещением на initd-образ или создаваемый загрузочный ISO-образ.
  • Утилита mkbootisofs теперь поддерживает все те же опции что и mkinitramfs, так например при создании оверлеев через mkbootisofs `mktemp -d` --overlay rootfs-system/ --overlay rootfs-changes/ --squashfs > boot.iso перечисленные оверлеи будут добавлены на сам ISO-образ. Больше нет необходимости создавать и загружать initrd огромных размеров.
  • Создаваемый initrd теперь может работать сам по себе mkinitramfs `mktemp -d` > initrd.img без необходимости переключаться в какую-либо систему. initrd будет сам пытаться найти систему из оверлеев на всех доступных накопителях и переключаться в неё. Для работы этой функции потребуется наличие busybox.
  • Обеспечена полная обратная совместимость, таким образом, что не имеет значение, откуда и как вы загружаетесь и какими инструментами пользуетесь. Больше нет обязательных к установке программ-зависимостей (кроме как для создания ISO). Загружаемый initrd прекрасно работает при использовании нативных утилит из вашей хост-системы, либо же при использовании busybox. Так же без разницы, где итоговая система будет распологаться, на самом initrd или на отдельном устройстве накопителе информации (ISO, USB, HDD/SSD, CD-ROM...). initrd загрузится в любом случае, если найдёт куда.
  • Добавлена возможность загружать систему в SHMFS (tmpfs, ramfs) и переключаться в чистое окружение tmpfs без использования OVERLAY_FS. Таким образом обеспечена работа с ванильным ядром, просто make defconfig && make и у вас всё будет работать. Стоит при этом учесть, что система может занимать много места в оперативной памяти, подробнее уточняйте у вашего du -csh your-gentoo-chroot/. Так же, теперь использование SHMFS это поводение загрузчика initrd по-умолчанию, и если вы хотите продолжить использование оверлеев, необходимо принудительно их включить.
  • Добавлены следующие опции для передачи ядру Linux при загрузке.
    • boobs.use-shmfs — при использовании данной опции данные со всех оверлеев будут скопированы в одну tmpfs папку, после чего система будет полностью загружена и работать прямиком из чистого tmpfs. Используйте данную опцию с осторожностью. Так например, если ваша система распологается внутри initrd-образа, к примеру, хранится как rootfs.cpio-архив, и размер данного архива 1ГБ, то прежде чем система будет окончательно загружена, она должна быть распакована из архива, а для этого потребуется ещё 1ГБ памяти помимо уже загруженого initrd, и плюс ещё немножко на запущенные программы. И только после того как система будет окончательно загужена, первичный rootfs.cpio-архив будет удалён из памяти и 1ГБ памяти будет освобождён. Учитывайте такие нюансы. Если же система в rootfs.cpio-архиве хранится на каком-либо носителе, например ISO на USB, то тогда потребуется всего 1ГБ памяти для распаковки системы в память. Так же учитывайте, что это поведение по-умолчанию, поскольку SHMFS поддерживается ванильным ядром «из коробки», а CONFIG_OVERLAY_FS нужно включать, что может быть не дружелюбно к пользователю, как женщины не дружелюбны ко мне.
    • boobs.use-overlayfs — опция, при которой будет использована файловая система Overlay FS для монтирования, загрузки и дальнейшей работы всех образов с оверлеями. Например, SquashFS-образ с системой будет смонтирован в папку, после чего система будет загружена и работать из данного SquashFS-образа с использованием Overlay FS. При использовании оверлеев так же добавлена возможность сохранения всех изменений сделанных в системе. Вся история изменений сохраняется в папке /mnt/overlays/rootfs-changes. Например, когда вы загрузились в свою систему, запускаются различные демоны, которые вносят свои данные в корень файловой системы, или например вы создаёте файлы, и так далее и тому подобное. Все эти изменения, внесённые в систему, доступны через папку /mnt/overlays/rootfs-changes. Вы можете её архировать и сохранять с последующей загрузкой как оверлей.
    • boobs.copy-to-ram — опция позволяет скопировать образы с оверлеями в память, прежде чем система будет с ними работать. Например, когда вы загрузились с USB-флешки, все образы соответственно будут смонтированы с данной USB-флешки и система будет загружена и работать с неё. Однако, указав данную опцию, все образы с оверлеями будут предварительно скопированы с USB-флешки в память, и только затем подключены, и система будет окончательно загружена, после чего USB-флешку можно отключить от вашего устройства.
    • boobs.search-rootfs — по-умолчанию все созданные оверлеи сохраняются в папке /system/overlays, но вы можете указать любую свою папку на выбор или даже просто файл, где следует искать и откуда загружать оверлеи с вашей системой. Так например, указав опцию для ядра boobs.search-rootfs=/filesystem.squashfs, и далее создав утилитой mkoverlayfs свой оверлей с системой, положив его в корень любого вашего накопителя информации, будь то диск, флешка... initrd будет искать данный образ в корне каждого накопителя информации, и в случае успеха оверлей с системой будет загружен. Опять же, если вы хотите загрузить несколько оверлеев наложенных друг поверх друга, то укажите, внезапно, директорию!
  • Ну и, конечно же, обновлена документация, за что отдельное спасибо камраду Difrex за перевод файла README в формат Markdown.

Так же, товарищем @swine с IRC-канала #lor @ freenode поступил запрос загружать оверлей не с initrd, не с iso-образа, а именно с жёсткого диска. В качестве примера рассмотрю эту ситацию и опишу как это делается.

Прежде всего, у вас должна быть подготовлена ваша система в отдельной директории, разверните какой-нибудь чрут, да хоть ту же Gentoo скачайте и распакуйте в директорию (шутки кончились, да, теперь всё сульёзна!). Допустим, в gentoo/.

Далее создадим оверлей как SquashFS-образ. И сохраним образ в корень любого вашего накопителя, текущего жёсткого диска, в качестве примера.

# mkoverlayfs gentoo/ --squashfs-xz --output /gentoo.squashfs

Теперь создадим «фирменный» initrd-образ, обычный, без ничего.

# mkinitramfs `mktemp -d` > /boot/initrd

Для загрузки осталось лишь обновить загрузчик и указать загрузку ядра со следеующими опциями:

linux /boot/vmlinuz boobs.use-overlayfs boobs.search-rootfs=/gentoo.squashfs
initrd /boot/initrd

Всё, перезагружаем компьютер, выбираем в загрузчике наши опции и получаем на выходе работающий /gentoo.squashfs через Overlay FS, сохраняющий все изменения в памяти (tmpfs).

При желании можете добавить опцию boobs.copy-to-ram и отнести жёсткий диск на свалку истории, личная рекомендация от Спуфаря.

 

Spoofing
()

Комплекс загрузочных скриптов boobstrap

Форум — Talks

Это черновой вариант моих скриптов, которые я использую для создания загрузочных BIOS/UEFI ISO-образов с линуксами, которыми я пользуюсь сам для жизни в tmpfs. Тупа рабочий код без проверок и «защит от дурака», только чтобы показать всем как создаются ISO. В следующих версиях уже будут все защиты, все проверки на установленные утилиты и прочая, а пока — просто показываю и прошу ваших советов.

И так, код включает в себя три утилиты:

  • mkbootstrap — утилита аналогична debootstrap, pacstrap, создаёт рабочее окружение в chroot/ директории одной командой.
  • mkinitramfs — утилита создаёт initramfs-образ из директории, подключая chroot/ директории как раздельные «слои» (overlay), используя squashfs для сжатия.
  • mkbootisofs — утилита создаёт из директории загрузочный BIOS/UEFI гибридный образ, который можно записать на CD, DVD или dd'шнуть на USB-флешку.

Для работы всего это безобразия необходимы: grub2/grub2-efi, squashfs-tools, dosfstools, xorriso. В принципе, я считаю это немного, никакой экзотики, удалось обойтись малыми жертвами, ИМХО. Все утилиты надо запускать через boobstrap, т.к. они лежат в одном файле, в будущем сделаю симлинками (или разделю на отдельные файлы).

По порядку.

boobstrap mkbootstrap crux_gnulinux chroot/ --ports-dir /usr/ports/packages [--ports-dir /usr/ports/another] [package name] [...]

Утилита установит все пакеты в заданную chroot/ директорию. Можно указать несколько --ports-dir, можно указать только названия пакетов которые будут найдены в заданных директориях и установлены, например, если вам не нужен весь /usr/ports/core, а только ключевые пакеты, то можно их указать списком. Название crux_gnulinux зарезервированная переменная, в будущем я добавлю поддержку gentoo_gnulinux и других дистрибутивов.

В данный момент утилита не будет работать без pkgadd, чтобы её получить вам придётся скачать CRUX и вытащить её оттуда. Напоминаю, что всё это черновой вариант.

Если вы решились ею воспользоваться, то чтобы она заработала прежде установите pkgadd (если у вас не CRUX):

wget http://ftp.morpheus.net/pub/linux/crux/latest/iso/crux-3.5.iso
mount crux-3.5.iso /mnt/crux-media
tar -xOf /mnt/crux-media/crux/tools/pkgutils#*.pkg.tar.gz usr/bin/pkgadd > /usr/bin/pkgadd
chmod +x /usr/bin/pkgadd

Далее ставим в chroot CRUX одной командой.

mkdir chroot-crux-core/

boobstrap \
  mkbootstrap crux_gnulinux chroot-crux-core/ \
    \
    --ports-dir /mnt/crux-media/crux/core

Если хотим минимальный CRUX, то список пакетов можно перечислить (формат перечисления не важен, я просто для красоты так сделал).

mkdir chroot-crux-core-xtreme/

boobstrap \
  mkbootstrap crux_gnulinux chroot-crux-core-xtreme/ \
    \
    --ports-dir /mnt/crux-media/crux/core \
    \
    acl attr bash bzip2 coreutils dash dhcpcd e2fsprogs elfutils eudev \
    file filesystem findutils gawk glibc grep gzip inetutils iproute2 \
    kbd kmod less libcap libdevmapper libpcre linux-pam lzo ncurses \
    openssh openssl pkgutils procps rc readline shadow start-stop-daemon \
    sysfsutils sysklogd sysvinit tar util-linux wget which xz zlib \
    \
    --ports-dir /mnt/crux-media/crux/opt \
    \
    grub2 grub2-efi

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

mkdir chroot-crux-maximum-edishon/

boobstrap \
  mkbootstrap crux_gnulinux chroot-crux-maximum-edishon/ \
    \
    --ports-dir /mnt/crux-media/crux/core \
    --ports-dir /mnt/crux-media/crux/opt \
    --ports-dir /mnt/crux-media/crux/xorg

Далее.

boobstrap mktinitramfs initramfs/ --overlay overlay-one/ [ --overlay overlay-two/] --output $PWD/initrd

Утилита создаст из директории initramfs/ готовый к употреблению initramfs-образ, в данный момент обязательно требуется указывать --overlay, он же chroot/, в который вы будете загружаться. В будущем я расширю настройки, обязательно сделаю --standalone и другие варианты загрузки прямиком в tmpfs, даже без squashfs, просто tmpfs. Но потом.

Сейчас. В чём суть оверлеев. В chroot/ у нас установлена система, но чтобы её не засорять, мы создадим директорию settings/, куда отдельно складываем все настройки.

Например, я хочу отредактировать файл chroot/etc/rc.local, я не буду делать этого в chroot/, чтобы оставить его «ванильным», а скопирую его в директорию settings/etc/rc.local, отредактирую, и при загрузке initramfs наложит поверх слоя chroot/ ещё один слой settings/, таким образом мы сохраняем ванильную систему ИИИИИ применяем наши настройки поверх неё.

Ду ит. Джаст ду ит.

mkdir initramfs/

boobstrap mkinitramfs initramfs/ \
  --overlay chroot-crux-core-xtreme/ \
  --overlay settings/ \
  --output $PWD/initrd

На выходе получили initrd, в котором лежат два squashfs-образа с chroot-crux-core-xtreme и нашими settings.

Другая ситуация. Мы хотим core отдельно, firefox отдельно, libreoffice отдельно, и, конечно же, наш $HOME отдельно. Только для того, чтобы создать иллюзию порядка в системе, — в конечном счёте все эти слои будут вместе друг на друге, но нам ведь не составит труда удалить или обновить один конкретный слой. Этакий flatpack / snapd на минималках. :)

mkdir initramfs/

boobstrap mkinitramfs initramfs/ \
  --overlay chroot-crux-core/ \
  --overlay chroot-crux-xorg/ \
  --overlay firefox-bin/ \
  --overlay libreoffice/ \
  --overlay fvwm/ \
  --overlay /home/username \
  --overlay /root \
  --output $PWD/initrd

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

boobstrap mkbootisofs directory/ > output.iso

Вот так вот просто, да. Просто берёт просто директорию и всё что в ней есть просто упаковывает в ISO. Просто просто. Не забудьте только положить туда vmlinuz и initrd.

mkdir bootimage/
mkdir bootimage/boot

cp (возьмите где хотите)/vmlinuz bootimage/boot/vmlinuz
cp                      ./initrd bootimage/boot/initrd

boobstrap mkbootisofs bootimage/ > bootable.iso

Можно сразу dd:

boobstrap mkbootisofs bootimage/ | dd of=/dev/sdX status=progress

Давайте ещё один пример приведу.

Gentoo.

1. Скачиваем, распаковываем в chroot

mkdir gentoo-chroot/
wget https://bouncer.gentoo.org/fetch/root/all/releases/amd64/autobuilds/20200605T133220Z/stage3-amd64-20200605T133220Z.tar.xz
tar xf stage3-* -C gentoo-chroot/

2. Упаковываем в initramfs.

mkdir gentoo-initramfs/
boobstrap mkinitramfs gentoo-initramfs/ --overlay gentoo-chroot/ --output $PWD/gentoo-initrd

3. Упаковываем в ISO.

mkdir gentoo-bootimage/
mkdir gentoo-bootimage/boot

cp (возьмите где хотите)/vmlinuz gentoo-bootimage/boot/vmlinuz
cp               ./gentoo-initrd gentoo-bootimage/boot/initrd

boobstrap mkbootisofs gentoo-bootimage > gentoo.iso

4. ?????

5. PROFIT!

Для загрузки в UEFI:

qemu-system-x86_64 \
  -bios $(locate OVMF.fd) \
  -enable-kvm -m 1G -boot d -cdrom gentoo.iso

Для загрузки в BIOS:

qemu-system-x86_64 \
  -enable-kvm -m 1G -boot d -cdrom gentoo.iso

Скриншот: http://dl.voglea.com/boobstrap.png

Скачать: http://dl.voglea.com/boobstrap.html

Ваши пожелания и предложения, кроме как найти себе женщину, приветствуются!

 , ,

Spoofing
()

Создание загрузочных образов boobstrap v1.0

Новости — Open Source
Группа Open Source

Хочу представить вашему вниманию фреймворк под названием boobstrap, написаный на POSIX shell, для создания загрузочных образов с дистрибутивами GNU/Linux. Фреймворк позволяет пройти весь пусть в три простых шага: от развёртывания системы в chroot, создания initramfs-образа включающего в себя систему из chroot, и в конечном счёте загрузочного ISO-образа. boobstrap включает в себя три утилиты mkbootstrap, mkinitramfs и mkbootisofs соответсвенно.

( читать дальше... )

>>> Получить исходный код

 

Spoofing
()

Релиз Ventoy 1.0.13

Новости — Open Source
Релиз Ventoy 1.0.13
Группа Open Source

Ventoy — это инструмент с открытым исходным кодом для создания загрузочного USB-накопителя для ISO-файлов. С ним вам не нужно форматировать диск снова и снова, вам просто нужно скопировать iso файл на USB диск и загрузить его. Вы можете скопировать несколько iso-файлов и выбрать необходимый в меню загрузки. Поддерживаются и Legacy BIOS, и UEFI режимы. Протестировано 260+ ISO-файлов (список).

В этом релизе:

  • Добавлена поддержка образов WinPE типа «N-в-одном»;

  • Добавлен плагин «menu_alias», позволяющий задать псевдоним для конкретного ISO-файла;

  • В плагине «theme» добавлена возможность задания режима дисплея;

  • Добавлен вызов меню загрузки с локального диска по клавише F4;

  • Добавлен режим отладки по клавише F5;

  • Обход ограничений, присущих некоторым Legacy BIOS;

  • Различные оптимизации и исправления ошибок, расширен список поддерживаемых ISO-файлов.

>>> Подробности

 , , ,

cocucka
()

CRUX в редакции MATE

Форум — Talks

http://62.109.19.86/dist/crux-amd64-mate.iso

Для тех, кто хотел бы пощупать CRUX, но ставить/разбираться лень. Загрузочный ISO с последними версиями пакетов на момент создания треда. Ядро Linux 5.7 ваниль, я не гарантирую, что оно у всех заведётся, включены только intel, nouveau и amd_gpu, ну и звук ещё. inb4: не умеешь — не берись.

Пишу скрипты для создания образов дистрибутивов и решил поделиться результатами работы.

Там же рядом ещё лежит, http://62.109.19.86/dist/crux-amd64-netboot.iso, минимально возможный CRUX, включающий в себя всего 47 пакетов, только чтобы загрузился и работал в сети.

acl			inetutils		rc
attr			iproute2		readline
bash			kbd			shadow
bzip2			kmod			start-stop-daemon
coreutils		less			sysfsutils
dhcpcd			libcap			sysklogd
e2fsprogs		libdevmapper		sysvinit
elfutils		libpcre			tar
eudev			linux			util-linux
file			linux-pam		vim
filesystem		lzo			wget
findutils		ncurses			which
gawk			openssh			xz
glibc			openssl			zlib
grep			pkgutils
gzip			procps

Ну а вообще, вы хотели бы видеть сборки на основе CRUX?

 , ,

Spoofing
()