checkfs "${ROOT}" root "${FSTYPE}"
# Mount root
# shellcheck disable=SC2086
if ! mount ${roflag} ${FSTYPE:+-t "${FSTYPE}"} ${ROOTFLAGS} "${ROOT}" "${rootmnt?}"; then
panic "Failed to mount ${ROOT} as root file system."
fi
#checkfs "${ROOT}" root "${FSTYPE}"
# Mount root
# shellcheck disable=SC2086
mkdir /ramboottmp
mount ${roflag} -t ${FSTYPE} ${ROOTFLAGS} ${ROOT} /ramboottmp
mount -t tmpfs -o size=100% none ${rootmnt}
cd ${rootmnt}
cp -rfa /ramboottmp/* ${rootmnt}
umount /ramboottmp
mkinitramfs -o /boot/initrd.img-ramboot
UUID=35378150-4a4b-4405-b856-c5f533a971e2 / ext4 defaults 1 1
none / tmpfs defaults 0 0
menuentry 'MX 19.2 patito feo, with Linux 4.19.0-12-amd64' --class mx --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.19.0-12-amd64-advanced-35378250-4a4b-4405-b956-c5f546a970e2' {
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd2,msdos3'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd2,msdos3 --hint-efi=hd2,msdos3 --hint-baremetal=ahci2,msdos3 35378250-4a4b-4405-b956-c5f546a970e2
else
search --no-floppy --fs-uuid --set=root 35378250-4a4b-4405-b956-c5f546a970e2
fi
echo 'Loading Linux 4.19.0-12-amd64 ...'
linux /boot/vmlinuz-4.19.0-12-amd64 root=UUID=35378250-4a4b-4405-b956-c5f546a970e2 ro quiet hush
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-4.19.0-12-amd64
}
menuentry 'RAMBOOT' --class mx --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.19.0-12-amd64-advanced-35378250-4a4b-4405-b956-c5f546a970e2' {
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd2,msdos3'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd2,msdos3 --hint-efi=hd2,msdos3 --hint-baremetal=ahci2,msdos3 35378250-4a4b-4405-b956-c5f546a970e2
else
search --no-floppy --fs-uuid --set=root 35378250-4a4b-4405-b956-c5f546a970e2
fi
echo 'Loading Linux 4.19.0-12-amd64 ...'
linux /boot/vmlinuz-4.19.0-12-amd64 root=UUID=35378250-4a4b-4405-b956-c5f546a970e2 ro quiet hush
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-ramboot
}
menuentry 'MX 19.2 patito feo, with Linux 4.19.0-12-amd64' --class mx --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.19.0-12-amd64-advanced-35378250-4a4b-4405-b956-c5f546a970e2' {
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd2,msdos3'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd2,msdos3 --hint-efi=hd2,msdos3 --hint-baremetal=ahci2,msdos3 35378250-4a4b-4405-b956-c5f546a970e2
else
search --no-floppy --fs-uuid --set=root 35378250-4a4b-4405-b956-c5f546a970e2
fi
echo 'Loading Linux 4.19.0-12-amd64 ...'
linux /boot/vmlinuz-4.19.0-12-amd64 root=UUID=35378250-4a4b-4405-b956-c5f546a970e2 ro quiet hush
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-4.19.0-12-amd64
}
возможность загрузки полностью в ОЗУhttp://wiki.puppyrus.org/setups/start#frugal_initrd В большинстве live дистров такой функционал "из коробки"
Разница в том, что Debian использует mkinitrdМожете подсунуть любой инитрд от любого дистра с copy2ram. Только модули ядра поменяйте на свои или используйте наши или porteus ядра с монолитными ФС и пр.
Gentoo - dracuthttp://wiki.puppyrus.org/soft/uird
Моя заметка на эту темуДля каких задач, если не секрет, у Вас 20gb RAM ? ;)
Можете подсунуть любой инитрд от любого дистра с copy2ram.Хм, надо попробовать.
Чем нравится гента? Пересобрать ВСЕ полностью можно в любом дистрибе. А смысл?
Для каких задач, если не секрет, у Вас 20gb RAM ?В основном для виртуальных машин. Если запущены несколько, то нужно много оперативной памяти. Плюс, я присматриваюсь к Qubes OS. Но так как он пока на Fedora основан (а в ней всё тот же systemd), то буду ждать каких-нибудь кастомных сборок или изменения дистрибутива по умолчанию в Qubes OS.
Не изобретайте велосипед. Есть куча готовых решений. Подключайтесь к работе над наиболее Вам подходящимДа есть. И если бы в Puppyrus Linux было возможно создать свой чистый iso (без папирусовских утилит) и можно было бы подключить репозитарий Calculate, я бы выбрал такой Puppyrus. Просто сохранёнка, XFCE, работа полностью в RAM. Мне, по сути не так много нужно. Вы делаете большую работу, создавая отдельный дистрибутив, создаёте свои ядра и программы. Почему вы не посмотрите на готовые решения? Тот же AppImage позволит использовать программы и не надо создавать отдельный репозитарий своих программ. Более того, эти программы загружались бы где угодно.
Не надо переоценивать copy2ramЯ не переоцениваю, на самом деле. Просто это на самом деле удобно, быстро, безопасно и полностью имеешь контроль над системой. Что удалять, что сохранять всё в твоих руках, так как копия файлов расположена на HDD.
Не теряйтесь. Заинтересованные люди, способные что-то делать с результатом очень нужны нашему форумуДа я, как-бы, давний пользователь этого форума. Просто больше читаю, потому и захожу редко. А так, наблюдаю за развитием Puppyrus. Помню ещё пользовался вашим дистрибутивом SFSLinux (самоделка).
http://wiki.puppyrus.org/soft/uird
Calculate нравится.Пробовал Funtoo (https://www.funtoo.org/Install/ru) запустить с uird, фулл. Привлекла эта система подсобранными сборками под субархитектуру (https://www.funtoo.org/Subarches) процессора (core2, intel64-skylake...).
Выбор stage3 для ...
stage3 является более традиционной, минимальной и неграфической установкой Funtoo. YЗатем вы соберете свою систему до желаемого состояния, используя emerge.
Выбор gnome для...
gnome установочного образа, если таковой имеется, включает в себя полную среду GNOME, а также Firefox уже оптимизированый для вашего оборудования. После установки вы можете продолжить дальнейшую настройку системы.
Выбор lxd для...
Образ lxd предназначен для использования с LXD и не используется для установки непосредственно на настольный компьютер или ноутбук, поэтому вам не следует выбирать этот вариант для обычных установок.
невозможность убрать всё из Puppy мне не нравится. То есть, я хочу чистый Линукс, без всяких дополнительных утилит, которые невозможно удалить,Это вы пишете про классический puppy - woof. Вроде, там тоже есть ремастеринг
USE-флагами
оверлеи ГентуСлабо знаком с Генту. Можно подробнее
Арч мне разонравился, так как они изменили своей идеологии (KISS), впихнув в дистрибутив systemdhttp://forum.puppyrus.org/index.php?topic=23018.0
если бы в Puppyrus Linux было возможно создать свой чистый iso (без папирусовских утилит)Я же выше написал - как это сделать.
AppImage позволит использовать программы и не надо создавать отдельный репозитарий своих программhttp://forum.puppyrus.org/index.php?topic=20026.msg134598#msg134598
эти программы загружались бы где угодно.Это не так. Нередко либ не хватает
создать свой чистый isoДо какой степени "чистый"?
курсор мигает и не понятно, то ли копирует систему в память, то ли еще что
Там сейчас есть целая линейка дистров с apt - DebianDogТо что можно пересобрать, это как раз понятно. В принципе, любой Линукс можно пересобрать, но как раз в этом и состоит идея, чтобы изначально там ничего не было, кроме разве что Gparted. И всё устанавливалось бы дополнительно самим пользователем. Только то, что ему нужно. В Puppyrus Linux же утилит всяких забито, которыми и не воспользуешься никогда, а чтобы всё это удалить, надо пересобирать. А чтобы установить новую версию Puppyrus, надо его заново устанавливать, а потом опять его пересобирать и так каждый раз. В Calculate я этого лишён... устанавливаю только то, что нужно, не более, а изначально там и нет ничего.
Ну и мои дистры все с ПакетнымМенеджером. Можете пересобрать
Слабо знаком с Генту. Можно подробнееВся фишка Gentoo в том, что его оверлеи это как-бы параллельные срезы ОС, разных Генту, со своими настройками и тд. То есть, имея Calculate Linux я спокойно могу устанавливать пакеты из других оверлеев и даже настраивать их на свой лад, используя для этого USE-флаги.
впихнув в дистрибутив systemdЭто хорошо, что в Puppyrus его нет, но вам нужно проделывать каждый раз работу, чтобы от него избавиться, а в Генту этой проблемы нет. Есть Openrc... а остальное каждый настраивает сам.
http://forum.puppyrus.org/index.php?topic=23018.0
Я же выше написал - как это сделать.Так это получается каждый раз так надо делать, нужно более универсальное решение. Чтобы можно было нормально обновляться и тд. Но надо посмотреть, как это будет выглядеть, если скрестить Puppyrus с Calculate.
Ну или универсально : распаковываете нужный дистр + chroot + ПМ добавить \ удалить
Это не так. Нередко либ не хватаетЭто понятно. Но это более универсальное решение, чем всякие флатпаки и снапы. Во всяком случае, пересобирать пакеты надо куда как реже.
До какой степени "чистый"?
Перечисленными выше методами - любой чистоты в любом ее понимании
И кстати про фругализацию чего угодно (http://forum.puppyrus.org/index.php?topic=21204.0)
в этом и состоит идея, чтобы изначально там ничего не было,Любой мой дистр без подпапок /modules и /optional
всё устанавливалось бы дополнительно самим пользователемВозьмите squash из родного Arch исо. Там консоль+pacman
чтобы установить новую версию Puppyrus, надо его заново устанавливать, а потом опять его пересобирать и так каждый раз.Вы пересказали идею prar - установил 1 раз как фул. Обновляй штатно. Переводи во фругал по желанию
Вся фишка Gentoo в том, что его оверлеи это как-бы параллельные срезы ОС, разных Генту, со своими настройками и тд. То есть, имея Calculate Linux я спокойно могу устанавливать пакеты из других оверлеев и даже настраивать их на свой лад, используя для этого USE-флаги.Можно еще подробнее...
Компиляция, сборка под свою систему - это всё вторично на фоне гибкости Генту, в плане настроек.Давайте мухи отдельно - котлеты отдельно
Пусть будет сохранёнка и работа в RAM.Для этого достаточно инитрд
На самом деле, будь я разработчиком Puppyrus, я бы создал единый дистрибутив с разными графическими средами, более того, модули позволяют в Puppyrus менять всё, даже ядраhttp://forum.puppyrus.org/index.php?topic=22043.0 не смотрели?
с модулем для старого оборудованияЧем он должен отличаться от модуля для нового?
Обеспечил бы Puppyrus репозитарием программОбеспечил (http://wiki.puppyrus.org/puppyrus/pra-roll#%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%B8_pra)
Её можно будет обновлять по типу роллинг-релиза, держать в памяти, использовать сохранёнкуhttp://wiki.puppyrus.org/puppyrus/pra-roll
Любой мой дистр без подпапок /modules и /optionalДа, но все остальные утилиты присутствуют? В меню же много программ, откуда они? Во всяком случае, когда я последний раз пробовал Puppyrus PRA там все программы были, чистого Puppy я не видел...
Возьмите squash из родного Arch исо. Там консоль+pacmanТак в Calculate ещё лучше, без systemd.
Вы пересказали идею prar - установил 1 раз как фул. Обновляй штатно. Переводи во фругал по желаниюНемного не так, но похоже: Установи на диск. Обновляй штатно. Используй в RAM.
Допустим мне надо свежий transmission gtk2. А он есть только gtk3. Чем мне поможет USE=gtk2Он поможет как раз тем, что не надо пересобирать всю систему, а нужно будет пересобрать transmission c USE-флагом gtk2. И всё... На остальное это никак не повлияет. Срезы как раз и отличаются различными USE-флагами для программ. И как раз ничего глючного не будет, в этом то и фишка Gentoo, потому что у других дистрибутивов именно глюкодром и получается, так как нет единой системы. Для Генту сборка - это естественное поведение программ, для других дистрибутивов - нет. В этом вся разница.
В итоге если пересобирать всю систему что-то оптимизировать можно, но из неопытных рук, скорее всего выйдет нерабочее или глюкалово
Можете взять рецепты компиляции от деб и собрать их в ABSЕсли менять настолько глубоко, то да. Но я не говорю о менеджере пакетов, я говорю о настройках для него. В других дистрибутивах вам надо или создавать полностью свой репозитарий программ или как в Арче, замораживать его. А в Генту можно просто использовать свой оверлей только с необходимыми изменениями, не нужно полностью копировать другие оверлеи. Например, только свои бинарные сборки и всё. Не нарушается ни целостность дистрибутива, ничего.
получите дебиан с pacman
Минус такого - может получиться совместимо только само с собой.
Чем он должен отличаться от модуля для нового?
Обеспечил бы Puppyrus репозитарием программЯ имел ввиду не свой (свои программы должны быть, это понятно), я имел ввиду один из больших репозитариев программ. Свой тоже должен быть, но больше как дополнительный.
Обеспечил
Короче - ставьте prar2008 и подключайтесь к доработкеЕсли получится его перевести на Calculate оверлеи, то без проблем, я даже думал об этом когда-то. Настройки Puppyrus плюс мощь Генту оверлеев. Эх...
Там есть все вами перечисленное
Короче - ставьте prar2008Не-е-е... У меня уже сломался, при доработке. И initrd там дерьмо.
все остальные утилиты присутствуют?Они маленькие и никому не мешают
Установи на диск. Обновляй штатно. Используй в RAM.Фул в RAM - врядли заинтересует людей с RAM <20гб :)
Настройки Puppyrus плюс мощь Генту оверлеев. Эх...Не очень про это понял. Делайте. Рассмотрим на примерах. Мне интересно
не надо пересобирать всю систему,нигде не надо
пересобрать transmission c USE-флагом gtk2Он нигде не соберется (свежий) т.к. этот код там удален и гента ничем не поможет
Ни один не завёлся, кроме старого PuppyrusСкорее всего дело в ядре. Пробуйте совсем старые.
Выглядело бы понятнее...Еще раньше обсудили и уже сделал - см. шапку форума
Фул в RAM - врядли заинтересует людей с RAM <20гбС uird можно использовать zram для всей папки /memory, соответственно фул в рам будет пожат, раза в два я думаю.
Но невозможность убрать всё из Puppy мне не нравится- Ты суслика видишь?
Фул в RAM - врядли заинтересует людей с RAM <20гбСейчас память не такая дорогая, чтобы её было мало. Мне и 20GB мало, хотел бы 64GB, но это слишком много менять надо.
Они маленькие и никому не мешаютМне мешают. Я хочу, чтобы в системе не было ненужных мне графических программ. Вот поэтому мне нравится Calculate. Это даже немного смешно, но Генту-подобный дистрибутив не надо пересобирать, чтобы избавиться от лишнего.
Ну и пересобрать модуль по списку пакетов очень просто. редактируйте как хотите
Сделайте себе calculate+uird . Тут помогутДа, посмотрел на uird, система интересная, конечно. Но и там я не увидел конкретного решения, просто закачать всё с / в RAM. Куча разных настроек, но плохо с примерами.
Ну и я Вам написал вначале - полный copy2ram от сохраненки в ram будет отличаться только чуть более быстрым ПЕРВЫМ запуском прогиНе знаю, что за компы вы используете, но у меня быстродействие всех программ и визуально и на деле увеличилось. Более того, мне это интересно не только из-за быстродействия, но и по другим причинам.
Оно того не стоит
Он нигде не соберется (свежий) т.к. этот код там удален и гента ничем не поможетЭто понятно, если код поддержки gtk2 удалён, то ничего не сделаешь. Но я переделал тему MurrezaSilver под gtk3 и под gtk2 почти одинаково выглядит. Без этих огромных кнопок и большущих подменю.
# Script to copy / to tmpfs and continue boot from there
# Do not run this from a child shell. Use ". ramify" or exec.
# The shell running this script must be the only process on the system.
# Ensure this runs in /
cd /
# Create and mount tmpfs file system for /
mount -t tmpfs tmpfs mnt
# Copy everything from / filesystem to tmpfs
# Tar will restore proper owners and permissions when run as root
# FIXME: This is very slow because it reads / in many small pieces
# TODO: Add --exclude to prevent copying unneeded stuff
tar --one-file-system -c . | tar -C /mnt -x
# Move other mounts
mount --move dev mnt/dev
mount --move proc mnt/proc
mount --move run mnt/run
mount --move sys mnt/sys
# Create fstab with just new root file system
sed -i '/^[^#]/d;' mnt/etc/fstab
echo 'tmpfs / tmpfs defaults 0 0' >> mnt/etc/fstab
# Pivot root using instructions from pivot_root(8) man page
cd mnt
mkdir old_root
pivot_root . old_root
# Old root can only be unmounted once sh running from old root
# finishes. Continue startup normally using init.
exec chroot . bin/sh -c "umount old_root ; exec sbin/init"
mount -t tmpfs -o size="здесь что ли?" tmpfs mnt
Посмотрел CLS-20.6. Жирнющий. Пихать такое в RAM?? Сомнительно...
# Script to copy / to tmpfs and continue boot from there
# Do not run this from a child shell. Use ". ramify" or exec.
# The shell running this script must be the only process on the system.
# Ensure this runs in /
cd /
# Create and mount tmpfs file system for /
mount -t tmpfs -o size=80% tmpfs mnt/mnt
# Copy everything from / filesystem to tmpfs
# Tar will restore proper owners and permissions when run as root
# FIXME: This is very slow because it reads / in many small pieces
# TODO: Add --exclude to prevent copying unneeded stuff
tar --one-file-system -c . | tar -C /mnt/mnt -x
# Move other mounts
mount --move dev mnt/mnt/dev
mount --move proc mnt/mnt/proc
mount --move run mnt/mnt/run
mount --move sys mnt/mnt/sys
# Create fstab with just new root file system
sed -i '/^[^#]/d;' mnt/mnt/etc/fstab
echo 'tmpfs / tmpfs defaults 0 0' >> mnt/mnt/etc/fstab
# Pivot root using instructions from pivot_root(8) man page
cd mnt/mnt
mkdir old_root
pivot_root . old_root
# Old root can only be unmounted once sh running from old root
# finishes. Continue startup normally using init.
exec chroot . bin/sh -c "umount old_root ; exec sbin/init"
Ну, похожий MX Linux c 9.6GB против 11GB у Calculate запихал и нормально500Mb для "местных" систем - жирновато, а тут гигабайты
я не увидел конкретного решения, просто закачать всё с / в RAM.Вот же - автор подсказал. Спрашивайте - подробнее расскажет
Фул в RAM - врядли заинтересует людей с RAM <20гб
С uird можно использовать zram для всей папки /memory, соответственно фул в рам будет пожат, раза в два я думаю.
Куча разных настроек, но плохо с примерами.Я тоже из именно за это критиковал. Но для хитрых случаев типа вашего - лучший вариант и можно сделать пакеты (или как это в генту называется) UIRD. Для arch мы их сделали и написали примеры - см. prtar2008*.iso
попробовал подменить initrd от сохранёнкиМодули ядра внутри инитрд от используемого ядра?
может быть таки удастся скрестить как-нибудь Puppyrus и Calculate LinuxМне было бы интересно ближе познакомиться с генту. У нас есть спецю раздел для дистров форумчан
500Mb для "местных" систем - жирновато, а тут гигабайтыНу, так-то да. Но это просто для примера, что такое возможно... оптимизации будут, да даже та же возможность уменьшить размер дистрибутива... так-то я просто взял Calculate и полностью закачал его в RAM и он работает...
И эти гигабайты мусора будут впустую отжирать ОЗУ
Я тоже из именно за это критиковал. Но для хитрых случаев типа вашего - лучший вариант и можно сделать пакеты (или как это в генту называется) UIRD. Для arch мы их сделали и написали примеры - см. prtar2008*.isoДа, меня заинтересовала эта система тоже. Во всяком случае, она позволяет просто делать то, на что с другими надо мозг вывернуть наизнанку... В Генту это называется ебилды...
Модули ядра внутри инитрд от используемого ядра?Нет, надо более внимательно было к этому вопросу подойти... там я почти ничего не менял, поэтому собственно и не завелось...
Мне было бы интересно ближе познакомиться с генту.Ну, Генту - это на самом деле обычный дистрибутив, просто позволяет добиться чуть большей кастомизации. Хотя, если разбираешься в вопросе, это можно сделать в любом дистрибутиве.
Несжатая ФС в ram - крутовато. Надо как-то пожать. Без squash, те. RW : btrfs zramВ Calculate перешли на zram недавно. Если нет раздела свопа на диске, то его автоматом заменяет zram. У меня, например zram своп сейчас 41.1GB. Круто, так-то... вот надо придумать как его использовать...
Написать хук проще чем полностью инитрдДа, надо будет оптимизировать... Спасибо за примеры, буду смотреть... плюс ещё, должно по идее с SSD, быстрее копировать в память, чем с HDD, думаю вот... В Calculate/Генту есть тоже свои возможности, мне советовали передавать ядру параметр docache на этапе загрузки... должно полностью в память загрузиться...
В Calculate перешли на zram недавно. Если нет раздела свопа на диске, то его автоматом заменяет zram. У меня, например zram своп сейчас 41.1GB.При 20Gb оперативки?
Note:https://www.kernel.org/doc/Documentation/blockdev/zram.txt
There is little point creating a zram of greater than twice the size of memory
since we expect a 2:1 compression ratio. Note that zram uses about 0.1% of the
size of the disk when not in use so a huge zram is wasteful.
практику назначения zram > memory.по теме показалась интересной статья - https://manjaro.ru/how-to/uskoryaem-starye-mashinki---systemd-swap.html ( и еще - https://www.kernel.org/doc/Documentation/blockdev/zram.txt [бегло проглядел, привлекла - "авторитетность ресурса"])
В Calculate перешли на zram недавно. Если нет раздела свопа на диске, то его автоматом заменяет zram.Это очень распространенная ошибка. Zram это не swap. Zram это блочночное устройство в ram с прозрачным сжатием. Его можно.отформатировать в любую фс в том числе.swap. То есть своп это только один из вариантов использования. В uird можно испольэовать и как своп и в качестве замены tmpfs для верхнего слоя ауфс.
Ну, так-то да. Но это просто для примера, что такое возможно ... так-то я просто взял Calculate и полностью закачал его в RAM и он работает...понимаю, спортивный интерес :)
понимаю, спортивный интересНе только, но и как возможность работать полностью в оперативке... А если ещё сжать (как zram), а если ещё удалить всё лишнее (всякие локали там, логи)... то что тогда? Вот я буквально вчера установил Calculate на соседний раздел (её уменьшенную версию, CLS - 1.3GB). Сам я работал в это время в RAM-режиме и скачанный файл .iso перетащил в оперативку. Так вот, установка на соседний раздел заняла пару минут от силы, если не меньше. Разве не интересно?
Calculate пробовал лет 5 назад, была она тогда раз в десять толще паппиков, при одинаковой практически функциональности - не зацепила.Ненамного она располнела. Всё примерно на том же самом уровне в пару гигабайт, а при распакове CLS - это около 5GB. CLDX - примерно 10GB. С Puppyrus не сравнить, конечно... но, это ещё Гента, к тому же...
Сейчас смотрю еще пополнела
Предположу что SSD NVMe ?Да, SSD - тоже есть... один правда не так давно полетел и вот поэтому я захотел поработать в оперативке. Да и в ней всё равно быстрее, как ни крути. Никаких обращений к диску, всё крутится в одном месте. Так как есть zram, то система не уйдёт в медленный своп, так что с какой стороны ни посмотри - одни плюсы...
Если так то парится с загрузкой в RAM особого смысла нет - у людей винда с них грузится за секунды, не говоря о приложениях (имхо конечно)
Это очень распространенная ошибка. Zram это не swap. Zram это блочночное устройство в ram с прозрачным сжатием. Его можно.отформатировать в любую фс в том числе.swap. То есть своп это только один из вариантов использования.Так это понятно, в чём ошибка-то? Просто в Calculate zram используют как своп, вот и всё. А в MagOS или Puppyrus могут использовать вместо обычного диска.
Так вот, установка на соседний раздел заняла пару минут от силы, если не меньше. Разве не интересно?Все модульные так ставятся. Скопировал и загрузчик скриптом - все.
Так это понятно, в чём ошибка-тоЯ не к тому, что вы не правильно что-то сделали, я к тому, что многие думают, что zram это типа zswap только без своп раздела.
Введениеhttps://www.kernel.org/doc/Documentation/blockdev/zram.txt
Модуль zram создает блочные устройства на основе RAM с именем /dev/zram <id>
(<id> = 0, 1, ...). Страницы, записанные на эти диски, сжимаются и сохраняются в самой памяти. Эти диски обеспечивают очень быстрый ввод-вывод, а сжатие обеспечивает хорошая экономия памяти.
Некоторые варианты использования включают хранилище /tmp, использовать как диски подкачки, различные кеши в /var и, возможно, многое другое :)
Протестировал скрипт на SSD-дискекакой? какую задачу решали?
какую задачу решали?Памяти много, вот и балуется.
какой? какую задачу решали?Хотел сравнить скорость загрузки в память с HDD и с SDD. Разница велика, так что перенёс систему на SDD и теперь загружаюсь с него.
Памяти много, вот и балуется.Ищу удобный инструмент для комфортной работы. А здесь выкладываю результаты, так как это может быть кому-либо интересно. Если неинтересно, можно не читать...
я установил его на SSD и на сжатую btrfs, то он стал у меня занимать места 6.5GB и очень быстро распаковывается в память.Надо будет поискать (нет) тред, где sfs спорил со мной, что у фругала нет преимуществ перед фулл. Хотя одним из моих доводов и было сжатие и как следствие более быстрое чтение.
Надо будет поискать (нет) тред, где sfs спорил со мной, что у фругала нет преимуществ перед фулл. Хотя одним из моих доводов и было сжатие и как следствие более быстрое чтение.
Вот еще хуки от арчаУ Арча много всего, но всё это поддерживается неофициально сообществом, которое периодически забивает на свои инструменты. В этом плане мне больше нравится что-то новое. Например, вы пробовали Nix (https://forum.puppyrus.org/index.php?topic=23047.msg172693#msg172693)?
https://aur.archlinux.org/packages/mkinitcpio-loop-subdir/
https://aur.archlinux.org/packages/mkinitcpio-tarball-utils/
# Script to copy / to tmpfs and continue boot from there
# Do not run this from a child shell. Use ". ramify" or exec.
# The shell running this script must be the only process on the system.
# Ensure this runs in /
cd /
# Create and mount tmpfs file system for /
mkdir /mnt/new_root
mount -t tmpfs -o size=85% tmpfs mnt/new_root
# Copy everything from / filesystem to tmpfs
# Tar will restore proper owners and permissions when run as root
# FIXME: This is very slow because it reads / in many small pieces
# TODO: Add --exclude to prevent copying unneeded stuff
tar --one-file-system -c . | tar -C /mnt/new_root -x
# Move other mounts
mount --move dev mnt/new_root/dev
mount --move proc mnt/new_root/proc
mount --move run mnt/new_root/run
mount --move sys mnt/new_root/sys
# Create fstab with just new root file system
sed -i '/^[^#]/d;' mnt/new_root/etc/fstab
echo 'tmpfs / tmpfs defaults 0 0' >> mnt/new_root/etc/fstab
# Pivot root using instructions from pivot_root(8) man page
cd mnt/new_root
mkdir old_root
pivot_root . old_root
mount -n --move /old_root/root/.cache/gvfs /root/.cache/gvfs
# Перезапускаем службы
/etc/init.d/cupsd stop
/etc/init.d/bluetooth stop
/etc/init.d/local restart
/etc/init.d/sshd restart
/etc/init.d/syslog-ng restart
/etc/init.d/cronie restart
killall agetty
killall polkitd
killall upowerd
killall udisksd
killall ssh-agent
killall accounts-daemon
telinit u
/etc/init.d/fuse restart
/etc/init.d/root restart
/etc/init.d/devfs restart
/etc/init.d/NetworkManager restart
#Удаляем временный каталог
rmdir /old_root/mnt/new_root
# Old root can only be unmounted once sh running from old root
# finishes. Continue startup normally using init.
exec chroot . bin/sh -c "umount old_root ; exec sbin/init"
lsof /old_root
mount -t tmpfs -o size=85% tmpfs mnt/new_root
По сравнению с HDD выигрыш составил больше чем в два с половиной раза.Кто бы сомневался
Надо будет поискать (нет) тред, где sfs спорил со мной, что у фругала нет преимуществ перед фулл. Хотя одним из моих доводов и было сжатие и как следствие более быстрое чтение.Наверное это (https://forum.puppyrus.org/index.php?topic=22266.msg163564#msg163564) или это (https://forum.puppyrus.org/index.php?topic=22228.msg171126#msg171126)
Сжатие - это реально большое преимущество.Экий Вы упертый. Давайте протестируем
В ram эффективно переносить часто используемые каталоги:Достаточно home (https://wiki.archlinux.org/index.php/Firefox_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)/Profile_on_RAM_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)) в ram . Будет так же как всю систему в ram
Экий Вы упертый. Давайте протестируемПричём тут упёртость? Где я говорил, что-то про скорость самой программы? Я говорил про производительность системы в целом. Там где программа обращается за данными к диску - будет увеличение скорости, там где не обращается - не будет. Это и идиоту понятно. Если у системы больше памяти в два раза, то она и позволить себе может больше.
Внизу этой темы дописал про браузер
После загрузки почти любой проги с любого носителя она в памяти и разницы в скорости работы нет
Обратите внимание на голосование в той теме. Все аксакалы проголосовали против copy2ram
Можете привеcти какие-то тесты в пользу copy2ram ?
Такие как отвязка системы от носителя, с целью увеличить срок его службы, например. Или неубиваемость и возможность получить чистую систему без изменений после перезагрузки. Или внесение только тех изменений, которые тебе нужны и игнорирование всех остальных.У нас это давным давно решено и памяти тонну не надо.
Там где программа обращается за данными к диску - будет увеличение скорости, там где не обращается - не будет.да. И я рассказал где будет : /tmp /home. Остальное для домашних задач избыточно
Я говорил про производительность системы в целомПроизводительность системы должна настраиваться под конкретную задачу. "Вцелом" - это "забивать гвозди микроскопом" и "беситься с жиру"
Если кому-то ничего не надо и они живут в пещерах и занимаются собирательством, то это их дело и их проблемы.
занимаются собирательствомЗанимаюсь, зато всё своё.
Там где программа обращается за данными к диску - будет увеличение скорости, там где не обращается - не будет.- тут согласен ('имхо' - 'без выкладки доказательств' - 'но своим глазам - верю' ).