Мы первые в космосе :) с frugal (http://wiki.puppyrus.org/setups/full-vs-frugal) на ARM.
Т.е. можно наставить на флэшку зоопарк линуксов. Грузить их в память (http://wiki.puppyrus.org/soft/porteus-initrd#copy2ram) (что здесь как раз очень может помочь), замораживать состояние , делать сохраненку и т.п. Легко менять ядра
Что-то похожее было только здесь (http://forum.puppyrus.org/index.php?topic=19665.0), но не модульное. Кстати может и сюда получится прикрутить
Огромное спасибо balbes150 за AUFS ядро , консультации и терпение. Без него бы ничего не получилось
Ничего нового по теме фругала изобретать не стал. Тот же rootaufs2-initrd (http://wiki.puppyrus.org/soft/arch-initrd-rootaufs2) + LF (http://forum.puppyrus.org/index.php?topic=21204.0) (в ремиксах больших дистрибов будет отдельным модулем 070*.pfs)
Вместо manjaro репозитория дистр переведен на архивный репозиторий arch (дата в названии дистрибутива). Это дает возможность заморозить frugal дистрибутив.
Кто пользовался PRA-roll (http://wiki.puppyrus.org/puppyrus/pra-roll) - дальше будет понятно, кто не пользовался - непонятные выше слова ищите в нашей wiki
FULL установка : распаковыать 001*.pfs Devx 000-kernel в каталог или корень раздела. Подправить параметры загрузки ядра (см. вики). После чего можно двигать срез репозитория (обновлять)
Обновление FRUGAL версии (https://forum.puppyrus.org/index.php?topic=22595.msg176258#msg176258)
Пароль у root и live : woofwoof
Ядра (https://mirror.yandex.ru/puppyrus/2a-aarch64/kernel/new/)
Первый запуск :
Для s905X2 905X3 работает только "метод зубочистки" ( toothpick method ):
LFA-MX
Дистрибутив будет работать на любом устройстве, для которого у Вас есть ядро с AUFS
Янро из инструкции ниже универсальное : AML RK AW
Установка:
2. Отформатировать в любой ОС флэшку или SD в fat32. Подробности для этого случая (http://forum.puppyrus.org/index.php?topic=22621.msg167063#msg167063)
Если планируете делать сохраненку в каталог - разбейте на 2 раздела :
fat32 - для ядра и dtb. Одно ядро занимает около 40 Мб
ext - под систему и сохраненку
Если есть носитель с установленным armbian (http://forum.puppyrus.org/index.php?topic=20045.msg134830#msg134830) или mangaro (https://forum.puppyrus.org/index.php?topic=21098.0) - можно использовать его. Т.е. установить armbian и к его же ядру прикрутить initrd-rootaufs2 и frugal
3. Распаковать в корень fat32 раздела
LFA-MX-2107 : boot-5.10.9-au.tar.xz (https://mirror.yandex.ru/puppyrus/2a-aarch64/kernel/new/5.10.9-arm-64-au/boot-5.10.9-au.tar.xz)
LFA-MX-2103 : boot-5.10.9-1-MANJARO-ARM.tar.xz (http://mirror.yandex.ru/puppyrus/2a-aarch64/kernel/new/5.10.9-arm-64-manjaro-aufs/boot-5.10.9-1-MANJARO-ARM.tar.xz)
LFA-MX-2002 : BOOT-5.5.0-rc6-aml-s9xxx.tar.xz (http://ftp.yandex.ru/puppyrus/2a-aarch64/kernel/new/5.5.0-rc6-aml-s9xxx/BOOT-5.5.0-rc6-aml-s9xxx.tar.xz)
Или использовать ядро уже установленного armbian или манджаро
Подстановка u-boot.ext:
4. Положить в корень fat32 раздела
LFA-MX-2103, 2107 : initrd-lf10.xz (https://ftp.yandex.ru/puppyrus/2a-aarch64/kernel/initrd-lf10.xz) (уже в архиве из п.3)
LFA-MX-2002 : uInitrd-lf07 (http://ftp.yandex.ru/puppyrus/2a-aarch64/kernel/uInitrd-lf07)
5. В корне любого раздела создать каталог lfamx/base и скопировать в него
LFA-MX-2107 : 5.10.9-arm-64-au/000-kernel-5.10.9-au.pfs (https://mirror.yandex.ru/puppyrus/2a-aarch64/kernel/new/5.10.9-arm-64-au/000-kernel-5.10.9-au.pfs) и 001-lfamx-2107_a-sf01.pfs.md5.txt (http://mirror.yandex.ru/puppyrus/2a-aarch64/lf/lfa-mx/2107/001-lfamx-2107_a-sf01.pfs.md5.txt)
chromium-92.0.4515.107-mx2107.pfs (http://mirror.yandex.ru/puppyrus/2a-aarch64/lf/lfa-mx/2107/chromium-92.0.4515.107-mx2107.pfs)
6. При желании - создать каталог lfamx/modules и скопировать в него нужные Вам модули.pfs софта из http://ftp.yandex.ru/puppyrus/2a-aarch64/lf/lfa-mx/ своей версии
7. Отредактировать на fat разделе файл
LFA-MX-2103 : /extlinux/extlinux.conf
MENU TITLE BOOT
TIMEOUT 1
LABEL lfamx Frugal-AUFS
LINUX /vmlinuz-5.10.9-1-MANJARO-ARM
INITRD /initramfs-raf2-5.10.12-meson64.img
FDT /dtb-vmlinuz-5.10.9-1-MANJARO-ARM/amlogic/meson-g12a-x96-max.dtb
APPEND dir=lfamx rootdelay=10 root=LABEL=ROOT_MNJRO rootflags=data=writeback rw console=ttyAML0,115200n8 console=tty0 no_cons
Известные проблемы:
продолжение в следующем сообщении...
LFA-MX-2103 : 000-kernel-5.10.9-1-MANJARO-ARM.pfs (https://ftp.yandex.ru/puppyrus/2a-aarch64/kernel/new/5.10.9-arm-64-manjaro-aufs/000-kernel-5.10.9-1-MANJARO-ARM.pfs) и 001-lfamx-2103_a-sf01.pfs (https://ftp.yandex.ru/puppyrus/2a-aarch64/lf/lfa-mx/2103/pfs/001-lfamx-2103_a-sf01.pfs)
LFA-MX-2002 : 00-kernel-5.5.0-rc6-aml-s9xxx.pfs (http://ftp://ftp.yandex.ru/puppyrus/2a-aarch64/kernel/new/5.5.0-rc6-aml-s9xxx/00-kernel-5.5.0-rc6-aml-s9xxx.pfs) и 001-lfamx-2002-gz_a-sf02.pfs (http://ftp.yandex.ru/puppyrus/2a-aarch64/lf/lfa-mx/2002/pfs/001-lfamx-2002-gz_a-sf02.pfs)
LFA-MX-2002 : /uEnv.txt
LINUX=/zImage550
INITRD=/uInitrd-lf01
FDT=/dtb550/amlogic/meson-g12a-x96-max.dtb
APPEND=dir=lfamx root=LABEL=ROOTFS rootflags=data=writeback rw console=ttyAML0,115200n8 console=tty0 no_console_suspend consoleblank=0 fsck.
fix=yes fsck.repair=yes net.ifnames=0
где zImage550 - ядро c AUFS
uInitrd-lf01 - initrd-rootaufs2 (http://wiki.puppyrus.org/soft/arch-initrd-rootaufs2) . Подойдет для любого AUFS 5.x ядра armbian <=5.9.8
meson-g12a-x96-max.dtb - dtb для Вашего твбокс (у каждого свой)
dir= (http://wiki.puppyrus.org/soft/arch-initrd-rootaufs2#dir_dirname)
root= (http://wiki.puppyrus.org/soft/arch-initrd#root)
rootflags= не трогать
APPEND= - не разрывать - одной длинной строкой
8. Можно добавить 070-lf-2002_a-sf01.pfs (https://ftp.yandex.ru/puppyrus/2a-aarch64/2a/2a2002/pfs/070-lf-2002_a-sf01.pfs) с pfs и пр. LF скриптами
Для медленных носителей добавить в параметры ядра rootdelay=5 или 10-15
Прочие особенности установки (http://forum.puppyrus.org/index.php?topic=20045.msg134830#msg134830)
Аналогичным образом можно сделать frugal любого другого ARM линукса :
после установки и настройки системы - носитель с системой подключить к любому линуксу и mksquasfs каталог_с_корнем 01-lfmy.pfs
И заменить 001*.pfs из п.5
А можно и не запаковывать. Просто заморозить состояние установленной системы и пр. фишки rootaufs2
LFA-MX сделан из
LFA-MX-2002: Manjaro-ARM-xfce-on2-19.08.img.xz
Удален LOffice и firefox - будут отдельными модулями. Нерусские локали, man и т.п. вырезаны для уменьшения размера
LFA-MX-2103: из LFA-MX-2002. Удален gtk2. Добавлен mpv, celluloid, youtube-dl (автообновляется при старте системы), mesa (http://archlinuxdroid.tk/archlinuxdroid/aarch64/mesa-devel-git-21.1.0_devel.136238.c4e5beef076-1-aarch64.pkg.tar.zst) с HW ускорением в mpv (эта репа не заморожена - поэтому закомментирована в pacman.conf)
Репозиторий переведен на https://archlinuxarm.org/ и заморожен
Можно распаковать , разморозить и обновлять стандартным способом. Т.е. все аналогично pra-roll (http://wiki.puppyrus.org/puppyrus/pra-roll)
Известные проблемы :
1. Сине-зеленый фон экрана
Для моделей, основанных на g12 (s905x2 s922),
на SD-карте , переименовывать u-boot.sd в и-boot.ext
на USB-флэшке переименовать u-boot.usb в и-boot.ext
2. Нет звука через HDMI (http://forum.puppyrus.org/index.php?topic=22727.msg168526#msg168526)
После :: running hook [subdir2] всегда ERROR.
Т.е. дело точно не в LABEL="ROOTFS" ?
frugal отказывается монтировать *.pfs
Подобное было у меня на RK3328. Причем на загруженной системе скрипт типа
mkdir -p /mnt/dir &&
mkdir -p /tmp/root &&
mount -t aufs -o udba=reval,diropq=w,dirs=/mnt/dir=rw:/etc=ro unionfs /tmp/root
А на стадии initrd не работало
Ядро 5.0 или 5.1 отсюда (https://mirror.yandex.ru/puppyrus/2a-aarch64/kernel/new/)?
Если с фругалом не получается - можно попробовать прикрутить к фул линуксу
http://wiki.puppyrus.org/soft/arch-initrd#mkinitcpio-overlayfs_mkinitcpio-lf-overlayfs_mkinitcpio-lf-aufs
С overlayfs везде получалось, но там нет горячего подключения модулей
Для него возьмите ftp://ftp.yandex.ru/puppyrus/2a-aarch64/kernel/uInitrd-lf02
glmark2 geany gparted(чтобы растянуть раздел на флэшке после dd установки дистра) - лучше отдельными модулями, которые как и хром пересобирать при обновлении. Иначе - зачем вообще было с фругалом морочиться...
inxi sudo - ok
скрипт, который это сделает одной командой?
Надо ли...
Продвинутые юзера и сами обновят:
unsquashfs 001*.pfs
chroot.sh squashfs-root
сменить в /etc/pacman.d/mirrorlist срез архива репы на вчерашний
pacman -Syu - посмотреть не лезет ли чего лишнего. Если лезет - заменить на fake пакеты (пустышки имитирующие наличие пакета - например http://mirror.yandex.ru/puppyrus/2a-aarch64/pkg-repo/2a-any/perl-fake-2019.01-5-any.pkg.tar.xz )
pacman -Qt - посмотреть не образовалось ли чего лишнего
exit - выходим из чрута
trim squashfs-root
mksquashfs squashfs-root 001-new.pfs -comp zstd
Обычные - дождутся апдейта
Добавил голосование в шапку темы
посмотрел статистику жизни emmc-30%
Как смотрели?
если бы изначально стоял фругал, снизило бы скорость износа?
Логически мысля: в сжатом виде нужно меньше прочитать = износ меньше
молотит 24/7
Какие задачи? copy2ram не запустить?
Перенес на sd карту настроенный armbian и хочу сделать LFA-MX
Ставите LFA-MX по инструкции выше.
Папку dir=lfamx можно разместить на любом носителе, который должен быть указан в root=
Удобнее на ROOT , т.к. он , вероятно ext4. В армбиан папок с таким названием нет - в корне армбиана lfamx не помешает
Удобнее создать для армбиана папку armb, в которую переместить все содержимое корня + добавить /usr/lib/modules от 000-kernel-5.10.9-au.pfs - распаковать и перенести)
Тогда
LABEL armb FULL-AUFS save2ram
LINUX /vmlinuz-5.10.9-1-MANJARO-ARM
INITRD /initramfs-raf2-5.10.12-meson64.img
FDT /dtb-vmlinuz-5.10.9-1-MANJARO-ARM/amlogic/meson-g12a-x96-max.dtb
APPEND rootdir=armb rootdelay=10 root=LABEL=ROOT_MNJRO rootflags=data=writeback rw console=ttyAML0,115200n8 console=tty0 no_cons
Подробности (https://wiki.puppyrus.org/soft/arch-initrd-rootaufs2#full_%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0)
Мультидистриб (https://forum.puppyrus.org/index.php?topic=23276.msg175700#msg175700)
Ну или сделать из армбиана фругал (запаковать armb в squashfs)