#!/bin/bash
pacman -Sy git make gcc pkgconfig
#pacman -S kmod glibc linux-api-headers # эти в прар есть
if [ $? -eq 0 ] ; then
[ -d ./uird ] || git clone --recursive https://github.com/neobht/uird.git
cd ./uird
[ -f ./busybox/busybox ] || ./make_busybox.sh
[ -f ./dracut/install/dracut-install ] || ./make_dracut.sh
fi
pacman -Sy btrfs-progs e2fsprogs httpfs curlftpfs
# pacman -S aria2 rsync # нужны только для сетевой загрузки и то в особых случаях
# pacman -S qemu-nbd qemu-img - не нашел, нужны для загрузки из образов вирт. машин
# mkuird prar1912 -e crypt,aes # no crypto
# mkuird prar1912 -e network,netWork,nfs # no network
# mkuird prar1912 -e uird-soft # no mc
# mkuird prar1912 -e qemu,nbd # no vdi,qcow2... etc
mkuird prar1912
1. pacman -Sy git make gcc pkgconfigИзлишне, надо всего лишь проверить наличие DEVX. Если есть - подключить, нет - скачать через sfs-get и подключить.
2. # pacman -S qemu-nbd qemu-img - не нашел, нужны для загрузки из образов вирт. машинpacman -S qemu
pacman -Sy btrfs-progs e2fsprogs httpfs curlftpfsТоже прописать в комментах, зачем нужны.
Излишне, надо всего лишь проверить наличие DEVXа там разве git присутствует ? вроде нет
/mnt/.DEVX-prar-1912-sf05.pfs % find . -name git
./usr/bin/git
./usr/lib/git-core/git
./usr/share/bash-completion/completions/git
./usr/share/git
./usr/share/git/mw-to-git/bin-wrapper/git
Заготовка скрипта для сборки uird в prar и подобных с нуля.1. Зачем компилить ббокс. Он такой же большой есть в репе арча
1. Зачем компилить ббокс. Он такой же большой есть в репе арчаТак и делал в IceArch, в итоге отхватил проблем. Пришлось компилировать.
Так и делал в IceArch, в итоге отхватил проблем.Какой брали? Что не так? На крайняк 1 раз скомпилить и оформить пакетом
pacman -S qemu-nbd qemu-img - не нашел, нужны для загрузки из образов вирт. машин
pkgfile -u && pkgfile qemu-imgqemu-img
extra/qemu
# Maintainer:
# Contributor:
pkgname=('uird-busybox' 'uird-dracut' 'uird')
#pkgname=('uird')
_gitname=uird
pkgver=r529.92152f2
pkgrel=2
pkgdesc='UIRD initrd'
arch=('i686' 'x86_64' 'aarch64')
url="https://github.com/neobht/uird.git"
license=('GPL')
#groups=('uird')
makedepends=('make' 'gcc' 'pkgconfig' 'git')
source=("git+$url")
md5sums=('SKIP')
pkgver() {
cd "${srcdir}/${_gitname}"
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}
build() {
cd "${srcdir}/${_gitname}"
./make_busybox.sh
./make_dracut.sh
}
package_uird-busybox() {
pkgdesc="UIRD busybox"
cd "${srcdir}/${_gitname}/busybox"
#make DESTDIR="$pkgdir" install
mkdir -p "${pkgdir}"/usr/lib/uird/busybox
install -m755 "${srcdir}"/${_gitname}/busybox/busybox "${pkgdir}"/usr/lib/uird/busybox
}
package_uird-dracut() {
pkgdesc="UIRD dracut"
depends=('bash' 'coreutils' 'cpio' 'filesystem' 'findutils' 'grep' 'gzip'
'kmod' 'pkgconf' 'procps-ng' 'sed' 'systemd' 'util-linux' 'xz')
provides=('initramfs')
conflicts=('dracut')
#backup=('etc/dracut.conf')
cd "${srcdir}/${_gitname}/dracut"
# mkdir -p "${pkgdir}"/usr/lib/uird/dracut
# make DESTDIR="$pkgdir"/usr/lib/uird/dracut install
make DESTDIR="$pkgdir" install
}
package_uird() {
pkgdesc="UIRD initrd"
depends=('uird-busybox' 'uird-dracut' 'cpio' 'filesystem' 'findutils' 'grep' 'gzip'
'kmod' 'pkgconf' 'procps-ng' 'sed' 'systemd' 'util-linux' 'xz')
cd "${srcdir}/${_gitname}"
mkdir -p "${pkgdir}"/usr/lib/uird
install -Dm644 {mkuird.cfg,dracut.conf} "${pkgdir}"/usr/lib/uird
cp -a {configs,keys,i18n,initrd,modules.d} "${pkgdir}"/usr/lib/uird
ln -s /usr/lib/dracut "${pkgdir}"/usr/lib/uird
install -Dm755 "mkuird" "${pkgdir}"/usr/lib/uird
sed -i 's#./dracut/dracut.sh#dracut#' "${pkgdir}"/usr/lib/uird/mkuird
}
надо придумать как поправить usr/lib/kernel/install.d/50-dracut.installфункцию add переделать на
/usr/lib/uird/mkuird prar1912 -e crypt,aes,ntfs &&
mv /usr/lib/uird/uird.prar1912.cpio.xz $INITRD
ret=$?
Менее костыльно без переделки mkuird не сделатьЧто-то вроде такого и было в /usr/bin/mkuird.
%define gitrev af85318
%define gitdate 20190208
%define _missing_build_ids_terminate_build 0
# Git repo: https://github.com/neobht/uird.git
# How to prepare the source archive from the git tree:
# git clone --recursive https://github.com/neobht/uird.git && cd uird
# hash=$(git log -1 --format='%h') ; date=$(git log -1 --format='%cd' --date=short | tr -d -) && tar czf ../uird-${date}-git${hash}.tar.gz --exclude=.git ../uird
Summary: Unified Init Ram Disk system
Name: uird
Version: 2.1.1
Release: %mkrel -c 1 %{gitdate}git%{gitrev}
License: GPLv2+
Group: System/Base
Url: http://neobht.github.io/uird
Source0: %{name}-%{gitdate}-git%{gitrev}.tar.gz
Source1: mkuird
Source2: MgaRemix
AutoReq: no
BuildRequires: git-core
BuildRequires: dash
BuildRequires: bash
BuildRequires: pkgconfig(systemd)
BuildRequires: bash-completion
BuildRequires: pkgconfig
BuildRequires: pkgconfig(libkmod)
Requires: systemd >= 219
Requires(pre): filesystem
Requires(pre): coreutils
Requires: udev
Requires: util-linux-ng
Requires: kmod
Requires: e2fsprogs
Requires: cpio
Requires: findutils
Requires: binutils
Requires: grep
Requires: mktemp
Requires: bash
Requires: dash
Requires: kbd
Requires: tar
Requires: gzip
Requires: bzip2
Requires: xz
Requires: file
Requires: qemu-img
Requires: aria2
Requires: httpfs
Requires: rsync
%description
UIRD - dracut based unified init ram disk system.
Dracut contains tools to create a bootable initramfs for Linux kernels.
%prep
%setup -qn %{name}
%build
./make_busybox.sh
./make_dracut.sh
%install
mkdir -p %{buildroot}%{_datadir}/uird/busybox/ %{buildroot}%{_bindir}/
cp -fr ./dracut %{buildroot}%{_datadir}/uird/
cp -fr ./configs %{buildroot}%{_datadir}/uird/
cp -fr ./initrd %{buildroot}%{_datadir}/uird/
cp -fr ./i18n %{buildroot}%{_datadir}/uird/
cp -fr ./modules.d %{buildroot}%{_datadir}/uird/
find ./ -maxdepth 1 -type f -regex "./[a-z,A-Z,0-9].*" -exec cp {} %{buildroot}%{_datadir}/uird/ \;
cp ./busybox/busybox %{buildroot}%{_datadir}/uird/busybox/
install -m 755 %{SOURCE1} %{buildroot}%{_bindir}/
install -m 644 %{SOURCE2} %{buildroot}%{_datadir}/uird/configs/uird_configs/
rm -rf %{buildroot}%{_prefix}/lib
rm -rf %{buildroot}%{_prefix}/src
%files
%{_datadir}/uird/*
%{_bindir}/mkuird
%changelog
#!/bin/bash
CUR_PWD=$(pwd)
cd /usr/share/uird
./mkuird $@
mv ./uird* ${CUR_PWD}/
cd $CUR_PWD
cp -fr ./dracut %{buildroot}%{_datadir}/uird/Ну это уж совсем плохо. Копировать вместе с src
mv ./uird* ${CUR_PWD}/:D тоже не заморачивались
/usr/lib/uird/mkuird -o $INITRD
ret=$?
:D тоже не заморачивалисьМоя задача была сделать чтоб работало :) До ума так и не довели
В mkuird надо хотя бы опциональный ключ -outputПодумаю что можно сделать.
Это никому ничего не сломает
Тогда
Код
/usr/lib/uird/mkuird -o $INITRD
ret=$?
Ну и конфиги в lib - как то не очень. Хотя бы пересести в /etc , в в либ - симлинки сделать
Кстати -с для юирд есть, а конфиг дракут гвоздями прибит
Хорошо бы тоже в ключ -cd например
пересести в /etc , в в либ - симлинки сделатьТак будет значительно лучше и совместимо
Кстати -с для юирд есть, а конфиг дракут гвоздями прибит
Хорошо бы тоже в ключ -cd например
Так будет значительно лучше и совместимоЛибо делать еще один скрипт, который будет уже брать конфиги из /etc и скармливать все это mkuird. Мне кажется mkuird должен остаться локальным, чтоб git clone и собирай все в одной папке. Такой юзкейс же нельзя исключать.
Либо делать еще один скрипт,Да, наверное так. А в mkuird добавить ключ для конфига дракута только.
Пример:
uird.load=/modules/;/optional/
Такая запись означает: подключать модули и каталоги из источников (uird.from=), которые прошли фильтр
uird.load= только в случае, если в полном имени файла/каталога отсутствует сочетание символов
/modules/ либо /optional/
выделил, не подразумевается-ли noloadДа, конечно. Исправлю.
Sfs, сегодня постараюсь решить с mkuird к вечеру.Попробуйте такой mkuird. Его можно переносить в /usr/bin. Если конфиг не задан с параметром -c ищет в текущей папке, если его нет то в /etc/mkuird.cfg. Остальные параметры либо в cmdline либо в этом конфиге.
#########################################
#uncomment this string if WORKDIR is not ./
#WORKDIR=/usr/share/mkuird
#
#examples:
#DCONFIG=/etc/dracut.cfg # like par -d
#OUTD=/boot # like par -o
#EXCLUDE=BIN_extra,nbd,zram # like par -e
#NAME=myUIRD.cpio.xz # like par -n
#KERNEL=4.19.10-x86_64 # like par -k
#KMODPATH=/tmp/kernelmods # like par -m
##########################################
Если одновременно задать -o и -n = -o не срабатывает-о задает папку куда писать
Если -n с путем то должно работать.работает. ок
Это все работает совсем не.... сложно, очень сложно. :)на русском нашел:
https://wiki.archlinux.org/index.php/PKGBUILD
Совет: Используйте namcap для проверки PKGBUILD на наличие распространенных ошибок упаковки.
Правильно понимаю, что и дракут и бизибокс собираются из последних коммитов, а не из тех что зафиксированы в гит уирд?Нет. Из Вашего гита по Вашему рецепту. От меня только одна строчка в 50-dracut.install
Правильно ли понимаю, что собранный дракут инсталлится в систему?Да. Можно и в отдельную папку (там закомментировано), как ббокс но смысл? Он никому не мешает
оно ?да
Да. Можно и в отдельную папку (там закомментировано), как ббокс но смысл? Он никому не мешаетМне кажется лучше отдельно. Конфликта с дракутом не будет.
Конфликта с дракутом не будет.Для чего в системе может быть нужно 2 дракута? Я прописал на этот случай конфликт
три отдельных.пакета это потому, что гит клоне рекурсив не умеет?Нет. Это же разные проги. Могут быть полезны и по отдельности
Для чего в системе может быть нужно 2 дракута? Я прописал на этот случай конфликтЕсли дракут будет в арче по умолчанию, то с вашим вариантом для сборки уирд его нужно будет удалять.
dracut: dracut module 'ntfs' cannot be found or installed.
$ cat not_found.log
Not found: KM - jbd
Not found: KM - aes-generic
Not found: KM - aes-i586
Not found: KM - aes-x86_64
Not found: FS - aufs
Not found: DM - uird
Not found: DM - uird-network
Not found: DM - uird-soft
Not found: BIN - aria2c
Not found: BIN - curlftpfs
Not found: BIN - httpfs
Not found: BIN - qemu-nbd
Not found: BIN - qemu-img
Или в PKGBUILD предусмотреть создание ссылки на mkuird в $PATHДа, сейчас mkuird может работать из PATH можно просто установить в /usr/bin
dracut: dracut module 'ntfs' cannot be found or installed.попробуйте добавить -e ntfs
Not found: DM - uirdА вот это проблема. Значит не правильно установлено. Это модули дракута из uird, mkuird создает им ссылки. А так как дракут установлен совсем не туда где ожидает mkuird все и сломалось.
Not found: DM - uird-network
Not found: DM - uird-soft
Не знаю теперь, рабочий ли.Думаю - нет.
Как? Что-то закоментировать в PKGBUILD?да. 4 и 26 строку закомментировать
dracut/modules.d/00uird* не заметил, что надоНашел ошибкуОпишите коротенько. С телефона уже, а жуть как интересно :)
# mkuird prar1912 -e uird-soft # no mcНаверно нужен только для отладки самого uird, всем остальным вряд ли?
но там пользователь root, makepkg не запуститьsudo -u nobody makepkg
нужен только для отладки самого uird, всем остальным вряд ли?Можно сделать вторым инитрд и подключать только когда надо
mkuird -e crypt,aes,network,netWork,nfs,uird-soft,aria2,rsync
Но mc отдельно будет больше чем встроенный раза в два из-за дублирования либА зачем их дублировать?
если после -e длинный список может удобнее свой конфиг?Во всяком случае это будет более стандартно, чем еще каждый раз редактировать usr/lib/kernel/install.d/50-dracut.install . Кстати этот хук при установки ядра и т.п должен автопересобирать инитрд. Пересобирает?
А зачем их дублировать?Если руками соберете, то без проблем. А если с mkuird --addon то автоматом подтянутся нужные mc либы.
Во всяком случае это будет более стандартно, чем еще каждый раз редактировать usr/lib/kernel/install.d/50-dracut.installТут не понял. Делаете свой аналог mkuird.cfg, который при сборке пакета заменяет дефолтный и все, никаких -е не нужно. Но в общем и это не принципиально, делайте как удобно.
Если руками соберете, то без проблем. А если с mkuird --addon то автоматом подтянутся нужные mc либы.Может собирать вместе, а отдельно написать скрипт разделения...
Тут не понял.В 50-dracut.install нет -e . Только версия ядра и куда
Делаете свой аналог mkuird.cfgЭто и имел ввиду.
Устанавливать дракут тоже не надо, только собрать.
То есть
git clone ....
cd uird
./make_dracut.sh
./make_busybox.sh
и сразу
./mkuird ...
Для обновления с гитхаба
git pull
и теже команды. Если с гитхаба не обновляли, то собирать дракут и бизибокс больше не нужно. Один раз собрали и все. Да и после обновления не обязательно, бизибокм и дракут обновляем редко.
да. 4 и 26 строку закомментироватьЕсли не только busybox не надо пересобирать, но и dracut, то предусмотреть в PKGBUILD еще и такой вариант для раскомментирования.
5 раскомментировать
pkgname=('uird-busybox' 'uird-dracut' 'uird')Добавить еще:
#pkgname=('uird-dracut' 'uird')
#pkgname=('uird')?
Если не только busybox не надо пересобирать, но и dracut, то предусмотреть в PKGBUILD еще и такой вариант для раскомментирования.Так и uird не надо пересобирать, пока новую версию не выпустят
по разделению: uird_minimal+uird_kernel - это и есть то, что делает слоеный initrd.Эх, вот была бы постоянная часть uird и часть, которая зависит от ядра. Чтобы еще более упростить сборку (имхо).
специально для pra создавал пару лет назад такое разделение.
не запускается с isoПохоже - внутри инитрд модули не от того ядра. Распакуйте и проверьте
Сделать переменные, чтобы выбирать - надо.
Бывает, что месяцами нет изменений.А какой тогда в этом смысл...?
вот была бы постоянная часть uird и часть, которая зависит от ядраНу так соберите 1 раз без модулей ядра. а потом делайте руками под каждое ядро и подгружайте вторым
Ну так соберите 1 раз без модулей ядраСначала подробную инструкцию, а потом уже. А то постоянно пойди туда, не знаю куда... Не все же тут профессионалы. :)
Сначала подробную инструкцию1. Собираете юирдом под любое ядро
претензий к PKGBUILD нет.спасибо+
А что там с фулл на вирт. диске, поразбираюсь.А на вирт диске тоже самое исо установлено? Не может так оказаться, что мы упустили что-то по зависимостям, что было в исо, но не было на вирт диске?
Да, все тот же IceArch на *.qcow,Тогда вероятно в другом дело.
uird.from=/IceArch/IceArch.qcow;/dev/nbd0p1
uird.load=/
uird.ro=*layer-base/0
uird.find_params=-maxdepth_3
#uird.mode=changes
#uird.changes=changes
#uird.home=homes
#uird.swap=/dev/nbd0p2
% sudo fdisk -l /dev/nbd0
Диск /dev/nbd0: 10 GiB, 10737418240 байт, 20971520 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 512 байт
Размер I/O (минимальный/оптимальный): 512 байт / 512 байт
Тип метки диска: dos
Идентификатор диска: 0x9fe09cfc
Устр-во Загрузочный начало Конец Секторы Размер Идентификатор Тип
/dev/nbd0p1 2048 20971519 20969472 10G 83 Linux
% sudo mount /dev/nbd0p1 /mnt/sda3/copy
/mnt/sda3/copy % ll
итого 0
drwxr-xr-x 1 root root 148 фев 3 17:27 @
drwxr-xr-x 1 root root 8 фев 3 17:49 @home
% ll **
@:
итого 16
lrwxrwxrwx 1 root root 7 ноя 13 19:23 bin -> usr/bin
drwxr-xr-x 1 root root 338 фев 28 23:29 boot
drwxr-xr-x 1 root root 0 янв 27 18:55 bootisos
drwxr-xr-x 1 root root 0 фев 3 17:30 dev
drwxr-xr-x 1 root root 3756 мар 2 17:07 etc
drwxr-xr-x 1 root root 0 фев 3 17:39 home
lrwxrwxrwx 1 root root 7 ноя 13 19:23 lib -> usr/lib
lrwxrwxrwx 1 root root 7 ноя 13 19:23 lib64 -> usr/lib
drwxr-xr-x 1 root root 16 апр 10 2019 media
drwxr-xr-x 1 root root 0 фев 3 17:41 mnt
drwxr-xr-x 1 root root 14 янв 31 18:30 opt
dr-xr-xr-x 1 root root 0 фев 3 14:27 proc
drwx------ 1 root root 746 мар 1 16:14 root
drwxr-xr-x 1 root root 0 фев 3 17:30 run
lrwxrwxrwx 1 root root 7 ноя 13 19:23 sbin -> usr/bin
drwxr-xr-x 1 root root 14 фев 1 22:41 srv
dr-xr-xr-x 1 root root 0 фев 3 17:27 sys
drwxrwxrwt 1 root root 0 фев 3 17:40 tmp
drwxr-xr-x 1 root root 80 мар 2 15:49 usr
drwxr-xr-x 1 root root 116 мар 2 17:07 var
@home:
итого 0
drwx------ 1 live 985 646 мар 2 17:10 live
Скрин ошибкиПо скрипну uird не нашел у себя модулей ядра для текущего ядра. Это не имеет отношения к вопросу загрузки с cqow. Надо собрать нормальный уирд, если конечно есть интерес добиться загрузки с образа вирт.диска.
Все присутствует - btrfs, qemu.Я спрашиваю потому, что у меня не вышло в prar1912 собрать с qemu-img и qemu-nbd. Не смотря на установку qemu бинарей не было. Правда пробовал лишь раз и разбираться не стал.
..da3/Soft/IceArch/uird/uird.IceArch_vdi % find . -name 'btrfs*' :(
./usr/lib/modules/5.5.6-1-ck-core2/kernel/fs/btrfs
./usr/lib/modules/5.5.6-1-ck-core2/kernel/fs/btrfs/btrfs.ko.xz
./usr/bin/btrfsck
./usr/bin/btrfs
..da3/Soft/IceArch/uird/uird.IceArch_vdi % find . -name 'qemu*'
./usr/bin/qemu-img
./usr/bin/qemu-nbd
uird.ro=*layer-base/0Да, наверное будет layer-base/1 не 0, номер 0 займет сам файл qcow.
Надо наверно ls /sysroot/memory/Скрин.
qemu-img create -f qcow2 IceArch.qcow 10G
Попробую переименоватьТогда не поможет, там не по расширению, а по выхлопу qemu-img. Буду завтра пробовать сам, заинтриговали.
выложите одним архивом ядро+уирд+сам образНа опыты (https://yadi.sk/d/1clRo5pm5V0UbQ).
переносить mkuird в PATH и конфиг в /etc?Если просто перенести будет работать? Или надо симлинки? Проверьте кто-нибудь
Если просто перенести будет работать? Или надо симлинки? Проверьте кто-нибудьПо задумке mkuird должен работать из PATH, но для этого ему нужен конфиг в /etc/mkuird.cfg, где раскоментарена строка и правильно выставлен путь WORKDIR=
разделить темуДелите, главное чтоб krasnyh нашел :)
Попробую проверить на айсарче.
у вас не рабочий qemu-img :) При чем даже в системе. Без зависимостей ставили что-ли? Ему либ не хватает.
Кстати, qemu можно ставить и без зависимостей, если надо для сборки pacman -Sdd qemu.Ну, на вирт. диске запускать вирт. машину - это масло масляное, а для uird я думал и так сойдет. :)
Плюс не монтируется btrfs, модуля видимо нет, то есть вчера бы все равно не вышлоА вот это интересно, т.к. btrfs-progs установлен по умолчанию (скрин) и в uird.IceArch_test.cpio.xz присутствует:
..a3/Soft/IceArch/uird/uird.IceArch_test % find . -name 'btrfs*'
./usr/lib/modules/5.5.3-arch1-1/kernel/fs/btrfs
./usr/lib/modules/5.5.3-arch1-1/kernel/fs/btrfs/btrfs.ko.xz
./usr/bin/btrfsck
./usr/bin/btrfs
Напрашивается вопрос, почему не монтируется?Не монтировался раздел на котором лежал файл qcow2. Перенес на ext3 и все завелось, разбираться не стал. Может и я где косячнул.
.е. этот qcow2 лежал на разделе с btrfs и не монтировался командой uird.mounts=/IceArch.qcow2, пока не был перенесен на раздел с ext3? Так?Не монтировался раздел,.на котором лежал файл. Из-за этого уирд файл не находил вообще. Если конечно я чего не косячнул.
c переменнымиЯ думал при компиляции будет спрашивать, что собирать. :)
Фронт работ такой.
1. Определяемся с конфигом uird для prar.
2. Аналогично со сборочным конфигом.
3. Готовим отдельный menu.lst где будет 5-10 примеров.
4. Папку UIRD с необходимыми подкаталогами и файлами.
5. Скрипт для автосборки уирд в прар (это может и не надо)
6. Выпускаете исо со всем чего насочиняли.
7. И вот где-то тут - wiki
что выкидываем из уирда для дефолтной сборки с пакета?Арч Пакета или инитрд?
Получается надо по максимуму.То есть дефолтный?
Насчет uird-softО. И uird-soft тоже :)
# mkuird config file
#########################################
#uncomment this string if work dir is not ./
#WORKDIR=/usr/share/mkuird
#
#examples:
#DCONFIG=/etc/dracut.cfg # like par -d
#OUTD=/boot # like par -o
#EXCLUDE=BIN_extra,nbd,zram # like par -e
#NAME=myUIRD.cpio.xz # like par -n
#KERNEL=4.19.10-x86_64 # like par -k
#KMODPATH=/tmp/kernelmods # like par -m
##########################################
KM_base="loop pata_acpi ata_generic ahci xhci-hcd xhci-pci xhci-plat-hcd ohci-pci usb-storage uhci-hcd lockd evdev af_packet
atkbd i8042 hid usbhid ehci-hcd ohci-hcd ehci-pci ehci-platform hid-generic sr_mod sd_mod scsi_mod jbd jbd2 sunrpc cbc
=drivers/ide =drivers/ata =drivers/usb/storage =drivers/usb/host =drivers/mmc"
KM_network="=drivers/net/ethernet =fs/nfs"
KM_dev="nbd zram mptspi mptfc mptsas"
KM_crypto="aes-generic aes-i586 aes-x86_64 dm-crypt cryptoloop"
KM_compAlg="z3fold lz4"
FS_KM="aufs squashfs vfat msdos iso9660 isofs xfs fuse nfs cifs udf nls_cp866 nls_utf8 reiserfs overlay ext3 ntfs btrfs"
BIN_base="mksquashfs gettext loadkeys reboot poweroff file"
BIN_network="aria2c sshfs curlftpfs httpfs"
BIN_filesystem="mkfs.ext4 mkfs.btrfs qemu-nbd qemu-img fsck fsck.ext2 fsck.ext3 fsck.ext4 fsck.exfat fsck.vfat fsck.xfs fsck.btrfs btrfsck ntfsfix"
BIN_extra="rsync"
DM_uird="uird uird-network uird-soft"
DM_base="base ntfs kernel-modules crypt shutdown"
#use for --addon only
ExtraDM="uird-soft"
Или я не прав и mc в uird имеет более широкое применение?Я использую для правок в конфигах, чтоб всю систему не грузить. Например menu.lst, ини и так далее. Или когда нужно файл какой с компа скопировать, для этого же не обязательно грузить всю ось.
Я если честно не выступаю за размер ради размера, но вещи, которые никогда не буду использовать, не против выкинуть.Давайте список, выкинем :) Возможность собрать без сокращений останется же.
KM_crypto.В таком случае лучше писать crypt.
mc - только если вторым инитрдmc собирается модулем дракута uird-soft. Итого -e crypt,uird-soft
Если инитрд - с одной стороны - хватило бы того что есть в rootaufs и портеус, но тогда зачем это все...Не надо ничего выкидывать. Ну или несколько вариантов
Получается надо по максимуму. Особенно то, чего нет в rootaufs и портеус
Не надо ничего выкидывать. Ну или несколько вариантовМожно в пакете не выкидывать ничего, но выкинуть при сборке для prar.
Кстати, есть ли у пакмана "мягкие зависимости"?Т.е. только зависимости без которых запуск невозможен?
Т.е. только зависимости без которых запуск невозможен?"Мягкие" это наоборот, зависимости дающие дополнительный функционал. Не обязательные то есть.
Есть и еще момент, в системе при сборке не хватает бинарей для всех плюшек. Если что-то решим оставить надо будет их добавить в зависимости к пакету uird. Кстати, есть ли у пакмана "мягкие зависимости"?Есть optional . Пример (https://www.archlinux.org/packages/extra/x86_64/vlc/)
optdepends=('avahi: service discovery using bonjour protocol'
'aom: AOM AV1 codec'
'gst-plugins-base-libs: for libgst plugins'
'dav1d: dav1d AV1 decoder'
'libdvdcss: decoding encrypted DVDs'
'libavc1394: devices using the 1394ta AV/C'
'libdc1394: IEEE 1394 access plugin'
'kwallet: kwallet keystore'
'libva-vdpau-driver: vdpau backend nvidia'
'libva-intel-driver: video backend intel'
Есть optional .То что надо похоже.
А комментарий (для чего) через двоеточиеА какой список там получается. Просто нужно видимо на голом арче проверять чтоб понять чего не хватает.
Итого -e crypt,uird-softnetwork xfs nfs cifs udf nls_cp866 nls_utf8 reiserfs mptspi mptfc mptsas rsync
Как я понял принцип, uird-network тоже попадет под исключение?Да. Во всяком случае так задумано :) А также BIN_network и KM_network
нужно видимо на голом арче проверятьprar - куда уж голее
ExtraDMНе надо, он только для mkuird -addon
crypt uird-soft network xfs nfs cifs udf nls_cp866 nls_utf8 reiserfs mptspi mptfc mptsas rsyncКонкретно по списку ничего не скажу, многие модули ядра не знаю зачем нужны :)))
По пункту два предлагаю сделать также как с WORKDIR, то есть дописать EXCLUDE= в конфиг, который копируется в /etc. Так будет проще чем поддерживать в актуальном состоянии свой конфиг. Мало ли что добавится в конфиг uird.?
Это понятно. Это был типа ответ на вопрос, что завтра делать. )А.....
sfs такое любит и приветствует.Тогда его и ждем.
3. Готовим отдельный menu.lst где будет 5-10 примеров.Раз уж uird обкатывается на prar1912, то надо учесть, что он может использоваться как frugal/full. И для фругала уже много записей в menu.lst. А для фулл?
В общем prar1912 не самая простая сборка для обкатки и настройки технологий.Просто еще один меню.лст для фул. Там почти теже пункты плюс uird.basecfg=legacy или uird.scan=legacy. Первый вариант настроен на загрузку с /dev/sda1 и если не это раздел, то нужно еще uird.from на свой раздел поменять. Второй с поиском /sbin/init, где найдет с того раздела и грузит.
В общем prar1912 не самая простая сборка для обкатки и настройки технологий.Как раз наоборот, на одной сборке всех зайцев перестреляем...
title ▒▒ prar1912 LXDE gtk3 UIRD-FULL basecfg=legacy чистый режим + uird.shutdown + uird.preinit
set d=prar1912
set k=4.19-x86
find --set-root --ignore-floppies /%d%/boot/vmlinuz-%k%_64
kernel /%d%/boot/vmlinuz-%k%_64 net.ifnames=0 biosdevname=0 dir=%d% rw quiet %x% uird.basecfg=legacy uird.from=/%d% uird.shutdown uird.preinit
initrd /%d%/boot/uird.%d%.cpio.xz
title ▒▒ prar1912 LXDE gtk3 UIRD-FULL scan=legacy чистый режим + uird.shutdown + uird.preinit
set d=prar1912
set k=4.19-x86
find --set-root --ignore-floppies /%d%/boot/vmlinuz-%k%_64
kernel /%d%/boot/vmlinuz-%k%_64 net.ifnames=0 biosdevname=0 dir=%d% rw quiet %x% uird.scan=legacy::/%d% uird.shutdown uird.preinit
initrd /%d%/boot/uird.%d%.cpio.xz
title ▒▒ prar1912 LXDE gtk3 UIRD-FULL + Ченджез в папку (только для линукс фс)
set d=prar1912
set k=4.19-x86
find --set-root --ignore-floppies /%d%/boot/vmlinuz-%k%_64
kernel /%d%/boot/vmlinuz-%k%_64 net.ifnames=0 biosdevname=0 dir=%d% rw quiet %x% uird.from=/%d%,/UIRD uird.basecfg=legacy uird.mode=changes uird.changes=/saves/todir
initrd /%d%/boot/uird.%d%.cpio.xz
title ▒▒ prar1912 LXDE gtk3 UIRD basecfg=legacy + Хомяк в папку (только для линукс фс) + preinit (нужен для хомяка)
set d=prar1912
set k=4.19-x86
find --set-root --ignore-floppies /%d%/boot/vmlinuz-%k%_64
kernel /%d%/boot/vmlinuz-%k%_64 net.ifnames=0 biosdevname=0 dir=%d% rw quiet %x% uird.basecfg=legacy uird.from=/%d%,/UIRD uird.home=/saves/homes uird.preinit uird.config=/prar1912.ini
initrd /%d%/boot/uird.%d%.cpio.xz
title ▒▒ prar1912 LXDE gtk3 UIRD full basecfg=legacy (Хомяк и ченджез в отдельные файлы img (btrfs,ext4) + fsck, доп параметры нужны только для создания потом игнорятся)
set d=prar1912
set k=4.19-x86
find --set-root --ignore-floppies /%d%/boot/vmlinuz-%k%_64
kernel /%d%/boot/vmlinuz-%k%_64 net.ifnames=0 biosdevname=0 dir=%d% rw quiet %x% uird.basecfg=legacy uird.from=/%d%,/UIRD uird.mode=changes uird.changes=/saves/changes_btrfs.img::SIZE=512::FS=btrfs::MNT_OPTS=compress=lzo::TIMEOUT=2 uird.home=/saves/homes/home_ext4.img::SIZE=512::FS=ext4::TIMEOUT=2 uird.preinit fsck uird.config=/prar1912.ini
initrd /%d%/boot/uird.%d%.cpio.xz
title ▒▒ prar1912 LXDE gtk3 UIRD + режим toxzm, (при старте создается только конфиг, модуль появится после перезагрузки)
set d=prar1912
set k=4.19-x86
find --set-root --ignore-floppies /%d%/boot/vmlinuz-%k%_64
kernel /%d%/boot/vmlinuz-%k%_64 net.ifnames=0 biosdevname=0 dir=%d% rw quiet %x% uird.from=/%d%,/UIRD uird.basecfg=legacy uird.mode=toxzm::EXT=pfs uird.changes=/saves/toxzm uird.shutdown
initrd /%d%/boot/uird.%d%.cpio.xz
title ▒▒ prar1912 LXDE gtk3 UIRD + /prar1912 монтируем как changes
set d=prar1912
set k=4.19-x86
find --set-root --ignore-floppies /%d%/boot/vmlinuz-%k%_64
kernel /%d%/boot/vmlinuz-%k%_64 net.ifnames=0 biosdevname=0 dir=%d% rw quiet %x% uird.from=/UIRD uird.changes=/dev/sda1/%d% uird.mode=changes
initrd /%d%/boot/uird.%d%.cpio.xz
Т.е. ставим дефолтным инсталятором (Ставил по русски, без чтения инструкций то есть. По появившемуся окошку вроде все понятно, но поставить с первой попытки не удалось. По умолчанию предлагает установить в /mnt, что странно. Смонтировал свежеотформатированный раздел. В раздел устанавливать не захотел, говорит - не пустой. Как я понимаю его смутила lost+found. В подпаку процесс пошел, но прервался на каких то ошибках чтения. Со второго раза скопировалось все и груб4дос встал, но /menu.lst пустой. Только заголовок и ни одного пункта. Его уже правил руками ибо не понял как должно быть. Видимо инструкцию всеже читать надо :))
многие модули ядра не знаю зачем нужныНам в optiomal надо прописать не модули ядра, а пакеты, которые нужны для доп. фич - типа qemu
Сделать в пакете сборку со стандартным конфигомЛучше максимальным. Чтобы продемонстрировать все возможности
для прар усеченную с "-e"Да. Можно и второй вариант. Только думаю, что те, кто не хотят того, чего нет в портеус и рутауфс2 - в юирд и не полезут
Нам в optiomal надо прописать не модули ядра, а пакеты, которые нужны для доп. фич - типа qemuЭто я понял, отвечал krasnyh по предложенной строке эксклудов.
Тут просто pkgfile бинарник. Пишите , какие бинарники нужны
А еще надо прописать для чего они нужны. тут на Вас надеюсь.
prar1912 не самая простая сборка для обкатки и настройки технологий.В фул варианте юирд вообще без разницы что за система внутри
Как у вас по дефолту фулл устанавливается?В папку
Можно сделать специальный конфиг prar1912-FULLДля фул и фругал - надо отдельно
По умолчанию предлагает установить в /mnt, что странноИнсталлятор не идеален
не хватает инсталлеру "дефолтной" установки, то есть говоришь ему хочу full на sdb, а все остальные действия он уже самИнсталлятору много чего не хватает. Обратной связи про фул нет - не дорабатываю
оворишь ему хочу full на sdb, а все остальные действия он уже сам.Такое там только для фругала
Как-то так пока.отлично
Для фул и фругал - надо отдельноНе обязательно. Примеры выше без доп конфига.
В папку
Такое там только для фругалаС созданием таблицы разделов, форматированием раздела(ов), свопом (если нужен), копированием модулей и установкой загрузчика без вопросов?
Есть стандартное имя для этой папки?Любое
С созданием таблицы разделов, форматированием раздела(ов)Новички как правило на фат флэшку или раздел с виндой ставят
так будет работать?В grub4dos - да
надо чтоб сконвертилось еще. Как, кстати, проверять то?Скрипты из корня iso-make сами конвертируют
думал при компиляции будет спрашивать, что собирать. :)Такое не принято. Только текст. редактор
удалил все три пакета uird-* и выполнил makepkg с новым PKGBUILD. Скрин.ln -sf /usr/lib/dracut "${pkgdir}"/usr/lib/uird
% namcap PKGBUILD
PKGBUILD (uird) W: Non standard variable 'uird' doesn't start with an underscore
PKGBUILD (uird) W: Non standard variable 'uirdbusybox' doesn't start with an underscore
PKGBUILD (uird) W: Non standard variable 'uirddracut' doesn't start with an underscore
PKGBUILD (uird) W: PKGBUILD uses internal makepkg 'msg' subroutine
PKGBUILD (uird) W: Description should not contain the package name.
В grub4dos - даИ конвертится тоже нормально, если переменная одной буквой. Проверял визуально и загрузку с пары пунктов. Конфиг в аттаче. И фулл и фругал в одном.
предупреждения, не влияющие ни на чтода
Перед анонсом сборки выложите на проверку, мало ли что.Наверное оптимально тогда Вам сделать исо скриптом iso-make-hybrid.sh только под uird (без rootaufs)
По итогу при переиздании prar решим в каком выде выпускать (2 инитрд или 1)Я бы выпускал с двумя. Так больше шансов что кто-то попробует, чтоб выбрать для себя оптимальный вариант мало почитать. Тем более раница нигде не описана, пол форума прочитать надо чтоб разобраться.
PKGBUILD проверялся после изменений?Нет. постараюсь сегодня. Напишу...
Я бы выпускал с двумяТогда будет не понять, насколько юзерам интересен именно юирд...
разница нигде не описанаhttp://wiki.puppyrus.org/soft/arch-initrd-rootaufs2#uird :) Давайте доработаем
Еще кому-то , кроме krasnyx интересно?да
Чтоб легче было менять имя папки при пересборке исо можно перенести пару параметров из конфига UIRD для prar в menu_UIRD.lstЭто очень хорошая идея. Перенесу в своих исо и для своих инитрд
ожет сейчас только с юирд. А двойной уже при переиздании прар...Да, можно так.
Чтоб легче было менять имя папки при пересборке исо можно перенести пару параметров из конфига UIRD для prar в menu_UIRD.lstЧто по этому поводу?
Это очень хорошая идея. Перенесу в своих исо и для своих инитрдВ таком разрезе конфиг для всех прар-подобных будет универсальным. Как назвать такой конфиг? Учитывая, что это ИМЯ используется в приветствии.
Как назвать такой конфиг?Т.е. вы хотите параметры
Еще кому-то , кроме krasnyx интересно?Что именно понравилось? Это получилось повторить по шапке этой темы?
да
Вынести не в начало файла меню (что мне и понравилось), а в отдельное меню?В начало файла меню_УИРД.лст где это сейчас и есть.
Что именно понравилось? Это получилось повторить по шапке этой темы?вникаю пока(через help'ы на githab'e), пытаюсь в "технологии" разобраться, соображаю "а нужно ли оно".
Только что делать и как, когда понадобится отключить ro и обновить систему, еще не понял? Чтобы это действие было попроще.Либо загрузить со штатным инитрд и обновить, либо последний пример в menu_UIRD.lst, либо toxzm с MAXCOPYSIZE=100 и обновляться в модули. Можно будет откатиться до любого из них. Короче вариантов тьма как обычно с UIRD и бывает.
Нужно имя для этого конфигаЗапутался.... Какого конфига?
С фулл еще интересно, даже возникла идея поставить на ноут IceArch, желательно на btrfs со сжатием zstd (неплохо бы в папку) и грузить uird с заморозкой и сохранением в отдельное место.Это и rootaufs может
соображаю "а нужно ли оно".Вот я и пытаюсь понять, кому чего не хватает в rootaufs2 , чтобы написать про это в вики и отправить в юирд
Наверное оптимально тогда Вам сделать исо скриптом iso-make-hybrid.sh только под uird (без rootaufs)А... Вы хотите чтоб я собрал. Чет протормозил :), но ОК. Только не сегодня. На днях слеплю. нужно выкинуть все инитрд и меню.лст кроме UIRD так?
Запутался.... Какого конфига?Имя для конфига который внутри uird. Это имя используется в том числе для приветствия, по этому важно подобрать такое чтоб подошло для всех ваших сборок, которые будут грузиться с этим конфигом.
выкинуть все инитрд и меню.лст кроме UIRD так?Да. Иначе не получим статичтики интереса к юирд
Вы хотите чтоб я собралСудя по тому, что я выше уже запутался - это будет проще, чем объяснить мне ;)
чтоб подошло для всех ваших сборок, которые будут грузиться с этим конфигом.Тогда LFA
Вот я и пытаюсь понять, кому чего не хватает в rootaufs2 , чтобы написать про это в вики и отправить в юирдДа хотябы ini. Это золотое дно, просто вы еще не прочувствовали :)
[/etc/sysconfig/steam]
# Настройки для Steam. Для вынесения данных из профиля используйте 2 переменные
# Настройки клиента ~/.steam. Места занимает немного, переносить имеет смысл только при работе в чистом режиме
# Не назначайте переменную STEAMCONF если стим ещё не установлен!
#STEAMCONF=
# Место для клиента и библиотеки игр. Т.к. это занимает много места, то лучше перенести из домашней папки.
#STEAMAPP=/mnt/livedata/MagOS-Data/steam
[/etc/sysconfig/clock]
#UTC=true
# Установка часового пояса
# Time zone for UTC+3 MSK-1
#ZONE=Europe/Kaliningrad
# Time zone for UTC+4 MSK
#ZONE=Europe/Moscow
# Time zone for UTC+6 MSK+2
#ZONE=Asia/Yekaterinburg
# Time zone for UTC+7 MSK+3
#ZONE=Asia/Omsk
# Time zone for UTC+8 MSK+4
#ZONE=Asia/Krasnoyarsk
# Time zone for UTC+9 MSK+5
#ZONE=Asia/Irkutsk
# Time zone for UTC+10 MSK+6
#ZONE=Asia/Yakutsk
# Time zone for UTC+11 MSK+7
#ZONE=Asia/Vladivostok
# Time zone for UTC+12 MSK+8
#ZONE=Asia/Magadan
[/etc/sysconfig/keyboard]
#Раскладка клавиатуры
#GRP_TOGGLE=ctrl_shift_toggle
#XkbOptions=grp:ctrl_shift_toggle,grp_led:scroll,compose:rwin
#GRP_TOGGLE=alt_shift_toggle
#XkbOptions=grp:alt_shift_toggle,grp_led:scroll,compose:rwin
[/etc/laptop-mode/laptop-mode.conf]
# Отключение парковки жесткого диска на ноутбуках
#CONTROL_HD_POWERMGMT=1
#---- network files ----
[/etc/pdnsd.conf]
# принимать запросы от других компьютеров в сети
#server_ip=any;
# адресс основного DNS сервера, откуда брать запросы
#ip=77.88.8.8;
#Строгая привязка служб NFS сервера к работе через определенные порты (полезно при работе в сети через межсетевой экран)
[/etc/sysconfig/nfs-server]
#RPCMOUNTD_OPTIONS="--port 4002"
[/etc/sysconfig/nfs-common]
#STATD_OPTIONS="--port 4000"
[/etc/urpmi/proxy.cfg]
# Системный прокси сервер для загрузки и обновления ПО (желательно не использовать urpmi для обновления системы)
#http_proxy=server:8118
#ftp_proxy=server:8080
#proxy_user=proxyuser:proxypass
#Подключение к точке доступа My WIFI с паролем Password
[/etc/sysconfig/network-scripts/ifcfg-Default_WIFI]
#NAME=Default_WIFI
#MODE=Managed
#TYPE=Wireless
#BOOTPROTO=dhcp
#DEFROUTE=yes
#IPV4_FAILURE_FATAL=yes
#IPV6INIT=no
#ONBOOT=yes
#PEERDNS=yes
#PEERROUTES=yes
#MAC_ADDRESS_RANDOMIZATION=default
# Название точки доступа
#ESSID="My WIFI"
# Если точка бесплатная (аэропорт или кафе) - закоментарьте ключ, секция с паролем тогда не нужна
#KEY_MGMT=WPA-PSK
[/etc/sysconfig/network-scripts/keys-Default_WIFI]
#WPA_PSK='Password'
#[/etc/sysconfig/network-scripts/ifcfg-wlan0]
#ONBOOT=yes
# Set it empty for autodetection
# При указании пустого значения будет производится поиск доступных сетей
#WIRELESS_ESSID=
# Для создания точки доступа используйте такие параметры
# (необходимо также включить службу hostapd dhcpd,
# открыть в межсетевом экране 67 порт UDP, а также, возможно, включить ROUTER)
#ONBOOT=yes
#MII_NOT_SUPPORTED=yes
#USERCTL=no
#BOOTPROTO=static
#IPADDR=192.168.2.31
#NETMASK=255.255.255.0
# При подключении через ad-hoc нужно задать постоянные адреса
#WIRELESS_MODE=ad-hoc
#WIRELESS_ESSID=MagOS
#WIRELESS_CHANNEL=1
#BOOTPROTO=static
#IPADDR=192.168.2.32
#NETMASK=255.255.255.0
#GATEWAY=192.168.2.1
#MII_NOT_SUPPORTED=yes
#DNS1=192.168.2.1
#[/etc/hostapd/hostapd.conf]
# Настройки wifi карты в режиме точки доступа
#driver=nl80211
#ssid=MagOS
#country_code=RU
#hw_mode=g
#channel=11
# Пароль к wpa2
#wpa_passphrase=magoslinux
# переключение в режим открытой wep сети
#wpa=0
[/etc/sysconfig/keyboard]
#XkbModel=pc105
#XkbLayout="us(alt-intl)"
#KEYBOARD=us_intl
#KEYTABLE=us-intl
#XkbOptions=compose:rwin
хотябы iniuird сам отрабатывает все переменные из этого ини? Т.е. никаких доп. скриптов не надо?
uird сам отрабатывает все переменные из этого ини? Т.е. никаких доп. скриптов не надо?Да, со включенным uird.preinit. У магоса есть отдельный блок вначале ини, он обрабатывается скриптами, а остальные скции ничего не требуют больше.
Секции могут добавлять сами пользователи, главное знать чего и куда записать. Как с TTL например. Или более сложные конструкции с исполняемыми скриптами, как у меня сделано для хомяка в вашем ини.uird сам отрабатывает все переменные из этого ини? Т.е. никаких доп. скриптов не надо?Да, со включенным uird.preinit. У магоса есть отдельный блок вначале ини, он обрабатывается скриптами, а остальные скции ничего не требуют больше.
PKGBUILD проверялся после изменений?PKGBUILD (ftp://ftp.yandex.ru/puppyrus/puppyrus-a/PKGBUILD/uird-2002.03.01/PKGBUILD) - доработал
uird.ro=*layer-base/1/@Прикольно. Наверное можно было и через uird.from смонтировать сразу подтом. Но так даже интереснее.
/dev/nbd0p1/@Да, это имел ввиду.
50-dracut.installОн есть в папке с PKGBUILD ?
Он есть в папке с PKGBUILD ?нет.
Положите - он нуженГде взять?
не удалось выполнить stat для '/memory/data/from/1/PKBUILD/src/uird/busybox/busyboxПохоже, он не скомпилился
Похоже, он не скомпилилсяДело двинулось после переустановки linux-api-headers и glibc, виноват похоже второй, он в prar урезанный что-ли?
Проверьте /etc/makepkg.conf . Возможно, он не под ту архитектуру. Возможно мой косяк а исо
Сравните с makepkg.conf из пакета pacman
pacman -Sw pacman
linux-api-headers и glibc, виноват похоже второй, он в prar урезанный что-ли?DEVX у вас подключен? Без него компиляции не будет. Хидеры пакетов 001*pfs перенесены в него
При установке локальных пакетов с pacman -U не подтягиваются зависимости к uird, как надо ставить чтоб все подтянулись?У меня норм
2a-extra/uird-busybox r530.53ebbaa-2 1,10 MiB 0,50 MiBНе эти, а опциональные.
2a-extra/uird-dracut r530.53ebbaa-3 0,91 MiB 0,23 MiB
WORKDIR не правильный путь. Вы же устанавливаете в /usr/lib/uird, а прописали /usr/share/mkuirdТ.е. надо /usr/lib/uird ? Поправьте 80 строку PKGBUILD
DEVX у вас подключен? Без него компиляции не будет. Хидеры пакетов 001*pfs перенесены в негоЯсно. Хотел по чистому, без него.
Т.е. надо /usr/lib/uird ? Поправьте 80 строку PKGBUILDНужно писать ту папку в которую установлен uird. Где замена уже нашел.
опциональные.По простому - выводится только сообщение . Возможно, есть какие-то ключи....
Хотел по чистому, без него.Тогда только разобрать devx и вернуть хидеры
==> ОШИБКА: Произошел сбой в package_uird-busybox().Пытался тоже собирать с последним PKGBUILD (http://forum.puppyrus.org/index.php?topic=22543.msg167369#msg167369) в свежеустановленном IceArch, ошибка (скрин). Бросил, установил ранее собранные пакеты, которые выкладывал здесь.
ошибка (скрин).Вероятнее всего чего то не хватает в списке сборочных зависимостей. Попробуйте make_busybox.sh запускать может ругнется на что.
Вероятнее всего чего то не хватает в списке сборочных зависимостей. Попробуйте make_busybox.sh запускать может ругнется не что.А может такое быть из-за того, что блок для бизибокса в PKGBUILD находится раньше блока для дракута, а все зависимости написаны у дракута? Или проверка зависимостей идет до начала сборки всех трех пакетов?
что отвалилось в скриптах prar и почему (вероятнее всего пути)/mnt/home
https://yadi.sk/d/HqHfgABNqm6m9gПоправил шапку +
/mnt/home
/mnt/live/memory/changes:
/mnt/live/memory/images
home наверное нетЭто ссылка на примонтированный раздел с файлами дистра
Это ссылка на примонтированный раздел с файлами дистраЛибо uird.from=/%d%::MNT=/mnt/home либо через lfa.ini делать именно ссылку, надо просто понять что там должно быть относительно /memory.
то ссылка на примонтированный раздел с файлами дистраПосмотрел. Там корень раздела. Варианты такие.
# Пользовательские изменения пишутся в папку на диске, системные не сохраняются вообще.Даже запустил MagOS, чтобы проверить как такое возможно и почему у нас не так. Понастраивал и в итоге убедился, что сохранение только ~/, без etc и root, дает неудовлетворительный результат.
# Один из наиболее востребованных режимов работы среди пользователей MagOS
Понастраивал и в итоге убедился, что сохранение только ~/, без etc и root, дает неудовлетворительный результат.Тут вопрос в том что вы ожидали :)
urpm2xzm (у вас аналог вроде тоже есть)Sfs, спрашивал автора epm в телеграм чате альта по поводу поддержки пакмана в epm. Говорит - есть. Так что можем запилить epm2pfs. Надо подумать есть ли смысл.
Там корень раздела. Варианты такие.1 мне понятен
Для стстемных настроек удобнее другие инструменты. Ini, toxzmНе очень понял, чем это удобнее.... Разве что в случае нескольких юзеров : админ настроил сеть и периферию в /etc, юзера настраивают свои проги в хомяках
epm в телеграм чате альтаАльт у меня ассоциируется с "проблемы с лицензией"
Для установки софта chroot2pfs или urpm2xzm (у вас аналог вроде тоже есть)Да pacman2pfs моего изготовления
можем запилить epm2pfs. Надо подумать есть ли смысл.С точки зрения концепции LF : из любого линукса делаем фругал - смысл есть, но для pacman меня все устраивает
2. делать через ини ссылку на /memory/data/from/0
Уирд, кстати, такую ссылку создает только с другим именем.Ну так у нас много чего по фругалу одинаковое :)
Не очень понял, чем это удобнее....Тем что после того как все настроил под себя системные файлы уже не меняются, для них - чистый режим, а хомяк продолжает работать как хомяку и положено. У меня в нем все мои файлы: фотографии, видео, скрипты, гитрепы. То есть как обычный хомяк на обычной системе. При этом я спокойно устанавливаю в систему любой шлак, кручу любые настройки не заботясь о последствиях.
Ну так у нас много чего по фругалу одинаковоеЛинуксы вообще одно и тоже, а мы то и подавно :)
универсальным заменителем скриптов ПМ2pfs должен быть chroot2pfs.Да, все так. Epm2pfs получится как обертка к chroot2pfs, чтоб вместо
хомяк продолжает работать как хомяку и положено.Чем хуже сделать несколько симлинков на винт и больше не трогать хомяк
как обычный хомяк на обычной системе.Т.е. засоряется темпами и роняет проги и систему необдуманными изменениями юзером конфигов :)
Epm2pfs получится как обертка к chroot2pfsТогда зачем лишние посредники... Все рано лучше хоть ка-то знать родной ПМ системы. А без epm можно и обойтись. Тем более вряд ли его тестируют прямо на всех линуксах - т.е. при обновлениях может сломаться
Чем хуже сделать несколько симлинков на винт и больше не трогать хомякНи кто не запрещает делать так и с uird. Более того в uird можно сделать слоеный хомяк, такой же как корень, но отдельно.
Т.е. засоряется темпами и роняет проги и систему необдуманными изменениями юзером конфигов :)
Тогда зачем лишние посредники...Ок. Вопрос снят.
ESP Package manager - это UNIX-программа и программа для упаковки файловЭто не то. Пакет с epm называется eepm.
uird.preinit - включение обработки файла ini, сам файл устанавливается параметром uird.configгде эти ini и uird.config ?
4. Не подключает модули из tmpfs
pfsload uird-r532-2002_a-sf01.pfs
mount: /: mount point not mounted or bad option.
mount: mounting aufs on / failed: Invalid argument
AUFS error!
FORCE=yes::TIMEOUT=3 что означает?
uird.from=/prar1912;/UIRD::FORCE=yes # источники FORCE=yes означает продолжить загрузку если этот источник не найден:)
UIRD - это UIRD.tar.gzДа. Распакованный.
FORCE=yes::TIMEOUT=3 что означает?FORCE=yes - продолжить загрузку если источник не найден, в конкретном случае это относится только к UIRD.
где эти ini и uird.config ?
2. /mnt/livemedia - это то, что у меня /mnt/homeДа можно подкостылить в самой системе. Или добавьте секцию в ини которую я предложил и добавьте uird.preinit ко всем пунктам меню.
Помню делал костыль c симлинком
3. pfsload mod.pfs (pfsutil v3 ,по горячему) монтируется в /mnt/live/memory/images/mod , а у меня в /mnt/.modДумаю да. Надо посмотреть откуда берется значение префикса, может получится через /etc/pfs.cfg починить.
Это как-то связано с uird ?
5. menu.lst - в комментариях нет самого главного - какой вариант для какого случая
5. "Внимание: zram с ядром prar1912 не работает." это 4.19manjaro? Странно. zswap даже с маленькими ядрами работает...Не работает zram не в качестве свопа, а вместо tmpfs. Не разбирался почему.
Здесь то же самое. С носителя - подключает. С rootaufs так же. Глубоко не копалС aufs и не должно подключаться. Если у вас /tmp смонтирован в отдельный tmpfs попробуйте с него. А если df /папка/где/модуль покажет, что это aufs то подключаться не будет.
4. http://wiki.puppyrus.org/soft/uird соответствует сегодняшнему состоянию?В общих чертах да. Есть устаревшие параметры, но работают и сейчас для совместимости.
Там же многие параметры расшифрованы.Добавил в шапку. Юзера все равно не найдут
UIRD - это UIRD.tar.gzТ.е. его надо распаковать в корень раздела? Что даст, кроме ini и как догадаться в исо, что это нужно сделать?
Да. Распакованный.
Т.е. его надо распаковать в корень раздела? Что даст, кроме ini и как догадаться в исо, что это нужно сделать?Все параметры с сохранениями настроены на имена папок внутри UIRD. Если UIRD оставить в корне не запакованным то эта папки и будет цепляться, а в случае загрузки с iso туда не будет возможности записи. То есть варианты такие:
Внутри ини - bash. У нас не все владеют
Т.е. его надо распаковать в корень раздела?Я поэтому и написал ранее, что iso бесполезен для демонстрации uird и выложил prar1912.tar.gz с распакованным UIRD.tar.gz. Но никто не скачивал и я удалил его.
Если подробно все описать - книга получится. Не будут читатьХорошо бы, но на практике: Задача - 10 решений + 30 подвариантов :)
Максимум - спросят на форуме как получить нужный юзеру вариант
Вот по этому принципу и надо делать : задача - решение
2. Положить папку как есть. Но подписать пункты в меню, которые не будут работать с ИСОДумаю, так лучше, чем не понятно где писать , что надо распаковать и опять же что без этого не все будет работать
что iso бесполезен для демонстрации uirdЕсли хоть один пункт запускается из исо в виртуалке - архив ничем не лучше. И это уже много раз обсуждали
Делаем?да
решить за UIRD, архив или папка?папка
как пометить пункты меню которые только для установки на диск? Баннером отделить?да
Если будет папка, то можно ини вернуть обратноКак логичнее
Потому, что uird папку UIRD в исо найдет раньше и подключит ее.Почему не оставить в разделе запуска с исо только варианты без папки?
проскочила идея встраивания инсталлера в uirdМожно и всю систему в инитрд загнать и даже с мульти инитрд что-то типа модульности сделать
инсталлераfull?
full?нет
Перевыложил сборку с папкой UIRD и инсталляторомпо меню g4dos:
Я не все понял, может поправите меню.лст, а я потом уже с ним буду пересобирать.
make_busybox.sh (скрин).ошибка (скрин).Вероятнее всего чего то не хватает в списке сборочных зависимостей. Попробуйте make_busybox.sh запускать может ругнется на что.
Бизибокс скриптом не собрался, нужно сперва обновить до последнего коммита:
cd busybox
git pull origin master
make defconfig
make
* uird.tar.gz (4.09 КБ - загружено 1 раз.)Забрал. Теперь нужен uird.txt? Там в свободной форме? Или есть аналогичный для примера.
Теперь нужен uird.txt? Там в свободной форме?просто текстовый файл
Что еще нужно сделать к следующей пересборке?
4. Под каждым пунктом внизу можно 3 строки комментария - надо максимально это использовать
В итоге что-то надо править в PKGBUILDПока нет. Попробую решить с апдейтом дракута и бизибокса в уирд до мастера. Если ничего не отвалится то это решит проблему несборки в айсарче.
В итоге что-то надо править в PKGBUILD?Может прописать как-то в PKGBUILD, для арчеподобных систем с rolling-release, чтобы было. И закоментировать.
Бизибокс скриптом не собрался, нужно сперва обновить до последнего коммита:
cd busybox
git pull origin master
make defconfig
make
Правда я там не собирал busybox, а просто установил через pacman и перенес в uird/busybox. Может повлияло.
не работает gettextА он есть в инитрд? работает (зависимости разрешены?)
В магос-uird естественно работает.Может пофайлово сравнить, чего не хватает?
А он есть в инитрд? работает (зависимости разрешены?)Есть, на отсутствие либ не ругается. Вообще не ругается, просто не переводит.
Может пофайлово сравнить, чего не хватает?Должно совпадать, там весь кусок с локалями из одной папки i18n.
Иначе каждый раз придется с этой ошибкой сталкиваться и ждать когда поправят. Тогда уж проще по старинке собирать, командами.Так дело обстоит абсолютно с любым софтом. Либо патчат под свой дистр либо договориваются с апстримом конкретной софтины. Антон сказал посмотрит на счет апгрейда бизибокса и дракута до последних коммитов. Ждем.
Обновил сборкуСкачать - в шапке темы
меню сделанные sfs.Без дополнительных правок?
Без дополнительных правок?Вроде нет, может по мелочи только.
инсталлер - только с форматированием раздела?Да, только тексты перевел. Там все просто, несколько строчек баша, можно докрутить как угодно.
Т.е. все задуманное сделали?В общих чертах да. Хорошо бы еще ini наполнить, но тут всем миром надо собирать.
сделать не файл, а загрузку uird с параметром uird.help в качестве справки? Там куча текста, и будет обновляться вместе с обновлением uird.да. а то вывод текста в г4д неудобно делается - выбрать стрелками тяжело
Хорошо бы еще ini наполнить,Есть хоть какой-то пример?
да. а то вывод текста в г4д неудобно делается - выбрать стрелками тяжелоТам листать тоже не особо удобно, но зато там полная справка, а не одна страничка.
Есть хоть какой-то пример?Вот, из Вашего ини :)
Обновили подмодули дракута и бизибокса в уирдСобралось (скрин).
Собралось (скрин)Хорошо.
может просто в бтрфс еще поддержку не завезли.Завезли уже давно https://wiki.archlinux.org/index.php/Btrfs#Compression.
Вроде сделал все, что собирался. Что дальше делаем?Потестим обновленный исо пару дней и будем решать каким образом продвигать
mkuird -l -e gettext lfaможет под это дело ядро обновить... https://mirror.yandex.ru/puppyrus/puppyrus-a64/kernel/new/5.4.12-1-MANJARO/
может под это дело ядро обновитьМожно, глядишь зрам заведется. Правда и отвалиться что-то может :)
написать про папку UIRDСейчас с заголовке
mkuird -l -e gettext lfauird.lfa.cpio.xz (http://mirror.yandex.ru/puppyrus/puppyrus-a64/kernel/new/5.4.12-1-MANJARO/uird.lfa.cpio.xz)
По ссылке только сам уирдда. Ну и само ядро
Из мягких зависимостей что-то ставили?нет.
btrfs-progs и e2fsprogsпересобрать с ними?
пересобрать с ними?Сейчас можно пропустить, но в сборку надо с ними.
в сборку надо с ними.т.е. пересобрать
ядро новое?5.4.12 lts
5.4.12 ltsЯ не помню какое было. Я к тому не нужен ли еще pfs с модулями ядра?
т.е. пересобратьВ идеале - да. Но это только один загрузочный пункт с сохранением хомяка и ченжез в разные img.
Кстати btrfs в самом дистре нет - тоже добавить?А вместе с btrfs-progs разве не подтянется?
перезалилЗабрал.
$ cat /etc/mkuird.cfg
# mkuird config file
#########################################
#uncomment this string if work dir is not ./
WORKDIR=/usr/lib/uird
#
#examples:
#DCONFIG=/etc/dracut.cfg # like par -d
#OUTD=/boot # like par -o
#EXCLUDE=BIN_extra,nbd,zram # like par -e
#NAME=myUIRD.cpio.xz # like par -n
#KERNEL=4.19.10-x86_64 # like par -k
#KMODPATH=/tmp/kernelmods # like par -m
##########################################
У меня на 4 метра больше. ПодозрительноСобирал по вашему рецепту. Не перепаковывал. Никакой отсебятины
ваши скрипты монтируют носитель в /mnt/sda1, не думаю что прям проблема, но...)Гасите мой самопал mountall.service
со следующей пересборкой уирд проверимПересобрать?
ПересобратьЕсли нужен зрам рутфс, то да.
Какой файл проверить?livekitlib строка 2635
проверить наличие -t ext4есть. Уже разобрался - был мой косяк
dracut и busybox было необязательно пересобирать?livekitlib в dracut
uird.lfa.cpio.xz
livekitlibВ uird, не в dracut.
В uird, не в dracut.В dracut - у меня переносится при сборке
В dracut - у меня переносится при сборкеМожет пусть не переносится? Чтобы при всех изменениях на git, пересобирать только uird. Я за разумную оптимизацию и сокращение времени повторной сборки. :)
Так норм в главном меню??По тексту норм. Сильно подробно загромождать не правильно будет. А еще какие пункты в первом меню?
По тексту норм.Хотя нет, лучше вместо btrfs про ини напишите.
Может пусть не переносится?Переносить логичнее. Хуки дракута должны быть в нем
еще какие пункты в первом меню?см. скрин
вместо btrfs про ини напишите.Дайте текст
Подумал может инсталлятор?Что думаете?
Скрипты инсталлятора только напильником обработать надо.У меня сейчас нет желания этим заниматься
(системный ini конфиг, сохранения на любой раздел, в img, в pfs и проч.)ок
Возможность устанавить систему не заходя в LiveCDТак то да. Но там не полноценный инсталлятор, подходит скорее для флешеки и виртуалки.
Релизю?Так сразу? Внутреннего тестирования не будет? :)))
Для моих дистров есть - не идеаленУ нас тоже есть, и тоже надо в ближайшее время пилить. Но там самое не любимое в вашем форуме: питон, вебкит, яваскрипт с html и css. По этому даже не предлагаю :))
Но там не полноценный инсталлятор, подходит скорее для флешеки и виртуалки.Но поддерживается же работа со скриптами. И например при установке archlinux с нуля, сработают эти скрипты с гита Скрипт для персональной установки ArchLinux (http://forum.puppyrus.org/index.php?topic=21469.msg154026#msg154026) данным способом? Положить их в папку, прописать uird.run=*.sh и вперед.
Положить их в папку, прописать uird.run=*.sh и вперед.Без модификации вероятнее всего нет. Элементарно может не хватить бизибокса. Но сама тема такого инсталлятора кажется мне интерсной и надо будет к ней вернуться.
Внутреннего тестирования не будет?35 страница темы. Недостаточно? :)
питон, вебкит, яваскрипт с html и css:'(
Новых тестеров не ждитеНе в этом дело. Нужно чтоб все пункты грузились и явных ляпов не было. А когда одно чинишь случается что другое отваливается. Выложите здесь в теме, посмотрим пару дней если ничего не всплывет - зарелизите. После релиза напишу у нас в форуме, в телеге может с той стороны кто откликнется на что-то похожее на магос только в пять раз меньше :).
Выложите здесь в темеhttp://file.puppyrus.org/users/pra64/iso/prar1912-x86_64-02.iso
Возьми папку целиком из моей последней сборки.http://file.puppyrus.org/users/pra64/iso/prar1912-x86_64-03.iso
добавь uird.rootfs=zram в любой из исошных пунктов.добавил во второй
"переключение rus/en в консоле..."/etc/profile.d/rus-font.sh
Только это именно в консоле.А, понял. Тогда не актуально.
У вас видимо раздел смонтирован и в основной системе и в госте. Чтоб в системе увидеть изменения сделанные гостем нужно в основной системе размонтировать и смонтировать поновой. А еще лучше никогда так не делать!!!!!! Чревато сломанной фс.
Проверялось в ВМ? Был создан вирт. диск и на него распаковано iso?Да, в qemu с подключенной флэшкой. Порой по запарке забываю отмонтировать флеху в системе, тогда ловлю проблемы. Но флеху не жалко, тем более инсталлятор, который в UIRD, пересоздает таблицу разделов и форматирует, так что даже лечить ничего не надо, переустановил и все.
И virtualize, как я понял результат такого умения.Ага.
title ▒▒ prar1912 UIRD + auto swap + zram rootfs + overlayfsэто вместо этого?
это вместо этого?Да.
Проверил FULL. Задолбался его делать как и в прошлый раз.А что там за проблемы? Может сначала их решить, перед окончательным релизом?
Я как-то давно пробовал ставить full инсталятором, в качестве эксперимента, не получилосьВот, а мне сильно надо было, по этому часть инсталлятором, часть руками.
Может сначала их решить, перед окончательным релизом?Сам инсталлятор не в сборке, можно этот момент упустить.
заменить uird.config=prar1912.ini на uird.config=lfa.ini.ок. Заменил в двух местах. По итогу тестирования пересоберу со всеми замечаниями
На этом вроде все.Или уже пересобрать и анонсировать?
Или уже пересобрать и анонсироватьСо стороны уирд вопросов больше нет. Конечно есть чего пилить и улучшать, но с таким подходом анонсов вообще не будет :)
И проверьте еще на всякий случай uird.config=lfa.ini должен быть везде где есть uird.basecfg=legacy.
если желающих потестить на своем железе нет, анонсируйте.остальные все протестировали что хотели? Жду до завтра
остальные все протестировали что хотели? Жду до завтраПравильно. "Еслиф чё" мы с sfs не виноваты, это все тестеры хреново тестили :)
# mkuird prar1912 -e uird-soft # no mcНаверно нужен только для отладки самого uird, всем остальным вряд ли?
mc полезен для режимов qs и qse. Это не только отладка, но любые действия с файлами до загрузки. Например можно внести изменеия в ини и продолжить загрузку. Вторым инитрд собрать можно mkuird --addon. Но mc отдельно будет больше чем встроенный раза в два из-за дублирования либ. Раньше у нас был баш-коммандер вместо обычного баша, у него двухпанельник встроен. Тоже хороший вариант и без увеличения размера.Действительно удобней сразу редактировать с mc при проблемах, не загружаясь в другую систему. Единственно, не понравилось необходимость ручного монтирования носителя (флешка), при загрузке с qs (почему-то не отобразилась в /mnt). Много ручками набирать. :)
Нет ли проверенного uird для 57manjaro?
1. pfsload uird-busybox*.pfs, uird-dracut*.pfs, uird-*.pfs
2. pfsload DEVX*.pfs
3. cd /usr/lib/uird
4. sudo ./mkuird prar1912 -e plymouth -k 57manjaro -m "путь к модулям ядра 57manjaro"
4. sudo ./mkuird prar1912 -e plymouth -k 57manjaro -m "путь к модулям ядра 57manjaro"т.е. нет ?
можно будет обойтись без сборки dracut и busyboxЕсли нет потребности их обновить - не пересобирайте. Пересоберите только initrd под нужное ядро. Для фул с переходом на репу манджаро это актуально и по силам новичкам
4. sudo ./mkuird prar1912 -e plymouth -k 57manjaro -m "путь к модулям ядра 57manjaro"Сделал проще - заменил ядро, загрузился с rootaufs2 initrd
mkuird lfa
mkinitrd lfa?
А там есть что-то новое?О новых фишках обычно пишу в форум. Из последнего это плимут и немного переделанная работа с luks. То есть для pra наверное не интересно.
Понадобится незамысловатый скрипт пересборки готового uird.magos на другое ядро, типаИмелось в виду не пересборки, а перепаковки.
Я тоже не вижу особого упрощения. У вас же опакечен mkuird.А если речь не об Арче, а о любом другом линуксе из множества (https://distrowatch.com/dwres.php?resource=popularity) дистрибутивов? Разве не проще перепаковать uird по шаблону uird.magos.cpio.xz, но со своими ядрами, чем компилить с нуля? Плюс не придется глубоко 'погружаться' в это новое ПО для получения всего лишь еще одного механизма загрузки системы?
Это что-то новое или забытое старое? :) Я про скрипт mkinitrd.mkuird lfa очепятка - поправил
А если речь не об Арче, а о любом другом линуксе из множества дистрибутивов?Тогда проще собрать инитрд родными средствами и пересборкой пересадить модули ядра в юирд
А когда в uird выйдут интересные обновления, тоВзять готовый юирд из магос и перепаковать под свое ядро