penguins-eggs 9.3.4 → 9.3.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.oclif.manifest.json +1 -1
- package/README.md +34 -30
- package/conf/distros/rolling/calamares/modules/packages.yml +1 -4
- package/conf/tools.yaml +1 -1
- package/dist/classes/distro.js +7 -18
- package/dist/classes/incubation/fisherman-helper/packages.js +9 -9
- package/dist/classes/incubation/fisherman.js +2 -2
- package/dist/classes/ovary.js +18 -22
- package/dist/classes/pxe.js +74 -28
- package/dist/krill/krill-sequence.js +22 -17
- package/dist/krill/modules/bootloader.js +3 -12
- package/dist/krill/modules/initramfs.js +4 -1
- package/dist/krill/modules/mount-vfs.js +1 -1
- package/dist/krill/modules/unpackfs.js +2 -1
- package/mkinitcpio/archlinux/README.md +97 -1
- package/mkinitcpio/archlinux/archinstall/user_configuration.json +42 -0
- package/mkinitcpio/archlinux/archinstall/user_credentials.json +9 -0
- package/mkinitcpio/archlinux/archinstall/user_disk_layout.json +31 -0
- package/mkinitcpio/archlinux/mkinitcpio-install.conf +0 -1
- package/mkinitcpio/archlinux/mkinitcpio-produce.conf +0 -5
- package/mkinitcpio/manjaro/mkinitcpio-produce.conf +4 -2
- package/package.json +1 -1
package/.oclif.manifest.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"9.3.4","commands":{"adapt":{"id":"adapt","description":"adapt monitor resolution for VM only","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"analyze":{"id":"analyze","description":"analyze for syncto","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ sudo eggs analyze"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"calamares":{"id":"calamares","description":"calamares or install or configure it","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["~$ sudo eggs calamares \ncreate/renew calamares configuration's files\n","~$ sudo eggs calamares -i \ninstall calamares and create it's configuration's files\n"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"install":{"name":"install","type":"boolean","char":"i","description":"install calamares and it's dependencies","allowNo":false},"release":{"name":"release","type":"boolean","char":"r","description":"release: remove calamares and all it's dependencies after the installation","allowNo":false},"remove":{"name":"remove","type":"boolean","description":"remove calamares and it's dependencies","allowNo":false},"theme":{"name":"theme","type":"option","description":"theme/branding for eggs and calamares","multiple":false}},"args":[]},"config":{"id":"config","description":"Configure and install prerequisites deb packages to run it","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["~$ sudo eggs config\nConfigure and install prerequisites deb packages to run it"],"flags":{"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"assume yes","allowNo":false},"clean":{"name":"clean","type":"boolean","char":"c","description":"remove old configuration before to create new one","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"cuckoo":{"id":"cuckoo","description":"PXE start with proxy-dhcp","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ sudo eggs cuckoo\nstart a PXE server with dhcp-proxy (can coexists with a real dhcp server)\n"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"dad":{"id":"dad","description":"ask help from daddy - configuration helper","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"clean":{"name":"clean","type":"boolean","char":"c","description":"remove old configuration before to create","allowNo":false},"default":{"name":"default","type":"boolean","char":"d","description":"remove old configuration and force default","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"install":{"id":"install","description":"command-line system installer - the egg became a penguin!","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ eggs install\nInstall the system using krill installer\n"],"flags":{"unattended":{"name":"unattended","type":"boolean","char":"u","description":"Unattended installation","allowNo":false},"ip":{"name":"ip","type":"boolean","char":"i","description":"hostname as ip, eg: ip-192-168-1-33","allowNo":false},"random":{"name":"random","type":"boolean","char":"r","description":"Add random to hostname, eg: colibri-ay412dt","allowNo":false},"domain":{"name":"domain","type":"option","char":"d","description":"Domain name, defult: .local","multiple":false},"suspend":{"name":"suspend","type":"boolean","char":"S","description":"Swap suspend: RAM x 2","allowNo":false},"small":{"name":"small","type":"boolean","char":"s","description":"Swap small: RAM","allowNo":false},"none":{"name":"none","type":"boolean","char":"n","description":"Swap none: 256M","allowNo":false},"crypted":{"name":"crypted","type":"boolean","char":"k","description":"Crypted CLI installation","allowNo":false},"pve":{"name":"pve","type":"boolean","char":"p","description":"Proxmox VE install","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose","allowNo":false}},"args":[]},"kill":{"id":"kill","description":"kill the eggs/free the nest","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ eggs kill\nkill the eggs/free the nest"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"mom":{"id":"mom","description":"ask for mommy - gui helper","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"produce":{"id":"produce","description":"produce a live image from your system whithout your data","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ sudo eggs produce \nproduce an ISO called [hostname]-[arch]-YYYY-MM-DD_HHMM.iso, compressed xz (standard compression).\nIf hostname=ugo and arch=i386 ugo-x86-2020-08-25_1215.iso\n","$ sudo eggs produce -v\nsame as previuos, but with --verbose output\n","$ sudo eggs produce -vf\nsame as previuos, compression zstd, lz4 or gzip (depend from system capability)\n","$ sudo eggs produce -vm\nsame as previuos, compression xz -Xbcj x86 (max compression, about 10%\nmore compressed)\n","$ sudo eggs produce -vf --basename leo --theme debian --addons adapt \nproduce an ISO called leo-i386-2020-08-25_1215.iso compression fast,\nusing Debian theme and link to adapt\n","$ sudo eggs produce -v --basename leo --theme debian --addons rsupport \nproduce an ISO called leo-i386-2020-08-25_1215.iso compression xz,\nusing Debian theme and link to dwagent\n","$ sudo eggs produce -v --basename leo --rsupport \nproduce an ISO called leo-i386-2020-08-25_1215.iso compression xz, using eggs\ntheme and link to dwagent\n","$ sudo eggs produce -vs --basename leo --rsupport \nproduce scripts to build an ISO as the previus example. Scripts can be found\nin /home/eggs/ovarium and you can customize all you need\n"],"flags":{"prefix":{"name":"prefix","type":"option","char":"p","description":"prefix","multiple":false},"basename":{"name":"basename","type":"option","description":"basename","multiple":false},"backup":{"name":"backup","type":"boolean","char":"b","description":"backup mode (CRYPTED)","allowNo":false},"clone":{"name":"clone","type":"boolean","char":"c","description":"clone mode","allowNo":false},"fast":{"name":"fast","type":"boolean","char":"f","description":"fast compression","allowNo":false},"normal":{"name":"normal","type":"boolean","char":"n","description":"normal compression","allowNo":false},"max":{"name":"max","type":"boolean","char":"m","description":"max compression","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false},"yolk":{"name":"yolk","type":"boolean","char":"y","description":"-y force yolk renew","allowNo":false},"script":{"name":"script","type":"boolean","char":"s","description":"script mode. Generate scripts to manage iso build","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"theme":{"name":"theme","type":"option","description":"theme for livecd, calamares branding and partitions","multiple":false},"addons":{"name":"addons","type":"option","description":"addons to be used: adapt, ichoice, pve, rsupport","multiple":true},"release":{"name":"release","type":"boolean","description":"release: max compression, remove penguins-eggs and calamares after installation","allowNo":false}},"args":[]},"status":{"id":"status","description":"informations about eggs status","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"syncfrom":{"id":"syncfrom","description":"restore users and user data from a LUKS volumes","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ sudo eggs restore"],"flags":{"delete":{"name":"delete","type":"option","description":"rsync --delete delete extraneous files from dest dirs","multiple":false},"file":{"name":"file","type":"option","char":"f","description":"file LUKS volume encrypted","multiple":false},"rootdir":{"name":"rootdir","type":"option","char":"r","description":"rootdir of the installed system, when used from live","multiple":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"syncto":{"id":"syncto","description":"saves users and user data in a LUKS volume inside the iso","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ sudo eggs syncto"],"flags":{"delete":{"name":"delete","type":"option","description":"rsync --delete delete extraneous files from dest dirs","multiple":false},"file":{"name":"file","type":"option","char":"f","description":"file LUKS volume encrypted","multiple":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"update":{"id":"update","description":"update the penguin's eggs tool","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ eggs update\nupdate/upgrade the penguin's eggs tool"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"export:deb":{"id":"export:deb","description":"export deb/docs/iso to the destination host","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"all":{"name":"all","type":"boolean","char":"a","description":"export all archs","allowNo":false},"clean":{"name":"clean","type":"boolean","char":"c","description":"remove old .deb before to copy","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"export:iso":{"id":"export:iso","description":"export iso in the destination host","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"backup":{"name":"backup","type":"boolean","char":"b","description":"export backup ISOs","allowNo":false},"clean":{"name":"clean","type":"boolean","char":"c","description":"delete old ISOs before to copy","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"tools:clean":{"id":"tools:clean","description":"clean system log, apt, etc","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"tools:ppa":{"id":"tools:ppa","description":"add/remove PPA repositories (Debian family)","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"add":{"name":"add","type":"boolean","char":"a","description":"add penguins-eggs PPA repository","allowNo":false},"remove":{"name":"remove","type":"boolean","char":"r","description":"remove penguins-eggs PPA repository","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"tools:skel":{"id":"tools:skel","description":"update skel from home configuration","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ eggs skel --user mauro\ndesktop configuration of user mauro will get used as default"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"user":{"name":"user","type":"option","char":"u","description":"user to be used","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"tools:stat":{"id":"tools:stat","description":"get statistics from sourceforge","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"month":{"name":"month","type":"boolean","char":"m","description":"current month","allowNo":false},"year":{"name":"year","type":"boolean","char":"y","description":"current year","allowNo":false}},"args":[]},"tools:yolk":{"id":"tools:yolk","description":"configure eggs to install without internet","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ eggs yolk -v"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[],"dir":"/var/local/yolk"},"wardrobe:get":{"id":"wardrobe:get","description":"get warorobe","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[{"name":"repo","description":"repository to get","required":false}]},"wardrobe:ironing":{"id":"wardrobe:ironing","description":"ordered show of costumes or accessories in wardrobe","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"wardrobe":{"name":"wardrobe","type":"option","char":"w","description":"wardrobe","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[{"name":"costume","description":"costume","required":false}]},"wardrobe:list":{"id":"wardrobe:list","description":"list costumes and accessoires in wardrobe","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[{"name":"wardrobe","description":"wardrobe","required":false}]},"wardrobe:show":{"id":"wardrobe:show","description":"show costumes/accessories in wardrobe","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"wardrobe":{"name":"wardrobe","type":"option","char":"w","description":"wardrobe","multiple":false},"json":{"name":"json","type":"boolean","char":"j","description":"output JSON","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[{"name":"costume","description":"costume","required":false}]},"wardrobe:wear":{"id":"wardrobe:wear","description":"wear costume/accessories from wardrobe","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"wardrobe":{"name":"wardrobe","type":"option","char":"w","description":"wardrobe","multiple":false},"no_accessories":{"name":"no_accessories","type":"boolean","char":"a","description":"not install accessories","allowNo":false},"no_firmwares":{"name":"no_firmwares","type":"boolean","char":"f","description":"not install firmwares","allowNo":false},"silent":{"name":"silent","type":"boolean","char":"s","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[{"name":"costume","description":"costume","required":false}]}}}
|
|
1
|
+
{"version":"9.3.7","commands":{"adapt":{"id":"adapt","description":"adapt monitor resolution for VM only","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"analyze":{"id":"analyze","description":"analyze for syncto","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ sudo eggs analyze"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"calamares":{"id":"calamares","description":"calamares or install or configure it","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["~$ sudo eggs calamares \ncreate/renew calamares configuration's files\n","~$ sudo eggs calamares -i \ninstall calamares and create it's configuration's files\n"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"install":{"name":"install","type":"boolean","char":"i","description":"install calamares and it's dependencies","allowNo":false},"release":{"name":"release","type":"boolean","char":"r","description":"release: remove calamares and all it's dependencies after the installation","allowNo":false},"remove":{"name":"remove","type":"boolean","description":"remove calamares and it's dependencies","allowNo":false},"theme":{"name":"theme","type":"option","description":"theme/branding for eggs and calamares","multiple":false}},"args":[]},"config":{"id":"config","description":"Configure and install prerequisites deb packages to run it","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["~$ sudo eggs config\nConfigure and install prerequisites deb packages to run it"],"flags":{"nointeractive":{"name":"nointeractive","type":"boolean","char":"n","description":"assume yes","allowNo":false},"clean":{"name":"clean","type":"boolean","char":"c","description":"remove old configuration before to create new one","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"cuckoo":{"id":"cuckoo","description":"PXE start with proxy-dhcp","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ sudo eggs cuckoo\nstart a PXE server with dhcp-proxy (can coexists with a real dhcp server)\n"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"dad":{"id":"dad","description":"ask help from daddy - configuration helper","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"clean":{"name":"clean","type":"boolean","char":"c","description":"remove old configuration before to create","allowNo":false},"default":{"name":"default","type":"boolean","char":"d","description":"remove old configuration and force default","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"install":{"id":"install","description":"command-line system installer - the egg became a penguin!","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ eggs install\nInstall the system using krill installer\n"],"flags":{"unattended":{"name":"unattended","type":"boolean","char":"u","description":"Unattended installation","allowNo":false},"ip":{"name":"ip","type":"boolean","char":"i","description":"hostname as ip, eg: ip-192-168-1-33","allowNo":false},"random":{"name":"random","type":"boolean","char":"r","description":"Add random to hostname, eg: colibri-ay412dt","allowNo":false},"domain":{"name":"domain","type":"option","char":"d","description":"Domain name, defult: .local","multiple":false},"suspend":{"name":"suspend","type":"boolean","char":"S","description":"Swap suspend: RAM x 2","allowNo":false},"small":{"name":"small","type":"boolean","char":"s","description":"Swap small: RAM","allowNo":false},"none":{"name":"none","type":"boolean","char":"n","description":"Swap none: 256M","allowNo":false},"crypted":{"name":"crypted","type":"boolean","char":"k","description":"Crypted CLI installation","allowNo":false},"pve":{"name":"pve","type":"boolean","char":"p","description":"Proxmox VE install","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"Verbose","allowNo":false}},"args":[]},"kill":{"id":"kill","description":"kill the eggs/free the nest","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ eggs kill\nkill the eggs/free the nest"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"mom":{"id":"mom","description":"ask for mommy - gui helper","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"produce":{"id":"produce","description":"produce a live image from your system whithout your data","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ sudo eggs produce \nproduce an ISO called [hostname]-[arch]-YYYY-MM-DD_HHMM.iso, compressed xz (standard compression).\nIf hostname=ugo and arch=i386 ugo-x86-2020-08-25_1215.iso\n","$ sudo eggs produce -v\nsame as previuos, but with --verbose output\n","$ sudo eggs produce -vf\nsame as previuos, compression zstd, lz4 or gzip (depend from system capability)\n","$ sudo eggs produce -vm\nsame as previuos, compression xz -Xbcj x86 (max compression, about 10%\nmore compressed)\n","$ sudo eggs produce -vf --basename leo --theme debian --addons adapt \nproduce an ISO called leo-i386-2020-08-25_1215.iso compression fast,\nusing Debian theme and link to adapt\n","$ sudo eggs produce -v --basename leo --theme debian --addons rsupport \nproduce an ISO called leo-i386-2020-08-25_1215.iso compression xz,\nusing Debian theme and link to dwagent\n","$ sudo eggs produce -v --basename leo --rsupport \nproduce an ISO called leo-i386-2020-08-25_1215.iso compression xz, using eggs\ntheme and link to dwagent\n","$ sudo eggs produce -vs --basename leo --rsupport \nproduce scripts to build an ISO as the previus example. Scripts can be found\nin /home/eggs/ovarium and you can customize all you need\n"],"flags":{"prefix":{"name":"prefix","type":"option","char":"p","description":"prefix","multiple":false},"basename":{"name":"basename","type":"option","description":"basename","multiple":false},"backup":{"name":"backup","type":"boolean","char":"b","description":"backup mode (CRYPTED)","allowNo":false},"clone":{"name":"clone","type":"boolean","char":"c","description":"clone mode","allowNo":false},"fast":{"name":"fast","type":"boolean","char":"f","description":"fast compression","allowNo":false},"normal":{"name":"normal","type":"boolean","char":"n","description":"normal compression","allowNo":false},"max":{"name":"max","type":"boolean","char":"m","description":"max compression","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false},"yolk":{"name":"yolk","type":"boolean","char":"y","description":"-y force yolk renew","allowNo":false},"script":{"name":"script","type":"boolean","char":"s","description":"script mode. Generate scripts to manage iso build","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"theme":{"name":"theme","type":"option","description":"theme for livecd, calamares branding and partitions","multiple":false},"addons":{"name":"addons","type":"option","description":"addons to be used: adapt, ichoice, pve, rsupport","multiple":true},"release":{"name":"release","type":"boolean","description":"release: max compression, remove penguins-eggs and calamares after installation","allowNo":false}},"args":[]},"status":{"id":"status","description":"informations about eggs status","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[]},"syncfrom":{"id":"syncfrom","description":"restore users and user data from a LUKS volumes","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ sudo eggs restore"],"flags":{"delete":{"name":"delete","type":"option","description":"rsync --delete delete extraneous files from dest dirs","multiple":false},"file":{"name":"file","type":"option","char":"f","description":"file LUKS volume encrypted","multiple":false},"rootdir":{"name":"rootdir","type":"option","char":"r","description":"rootdir of the installed system, when used from live","multiple":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"syncto":{"id":"syncto","description":"saves users and user data in a LUKS volume inside the iso","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ sudo eggs syncto"],"flags":{"delete":{"name":"delete","type":"option","description":"rsync --delete delete extraneous files from dest dirs","multiple":false},"file":{"name":"file","type":"option","char":"f","description":"file LUKS volume encrypted","multiple":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"update":{"id":"update","description":"update the penguin's eggs tool","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ eggs update\nupdate/upgrade the penguin's eggs tool"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"export:deb":{"id":"export:deb","description":"export deb/docs/iso to the destination host","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"all":{"name":"all","type":"boolean","char":"a","description":"export all archs","allowNo":false},"clean":{"name":"clean","type":"boolean","char":"c","description":"remove old .deb before to copy","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"export:iso":{"id":"export:iso","description":"export iso in the destination host","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"backup":{"name":"backup","type":"boolean","char":"b","description":"export backup ISOs","allowNo":false},"clean":{"name":"clean","type":"boolean","char":"c","description":"delete old ISOs before to copy","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"tools:clean":{"id":"tools:clean","description":"clean system log, apt, etc","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"tools:ppa":{"id":"tools:ppa","description":"add/remove PPA repositories (Debian family)","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"add":{"name":"add","type":"boolean","char":"a","description":"add penguins-eggs PPA repository","allowNo":false},"remove":{"name":"remove","type":"boolean","char":"r","description":"remove penguins-eggs PPA repository","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","description":"verbose","allowNo":false}},"args":[]},"tools:skel":{"id":"tools:skel","description":"update skel from home configuration","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ eggs skel --user mauro\ndesktop configuration of user mauro will get used as default"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"user":{"name":"user","type":"option","char":"u","description":"user to be used","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[]},"tools:stat":{"id":"tools:stat","description":"get statistics from sourceforge","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"month":{"name":"month","type":"boolean","char":"m","description":"current month","allowNo":false},"year":{"name":"year","type":"boolean","char":"y","description":"current year","allowNo":false}},"args":[]},"tools:yolk":{"id":"tools:yolk","description":"configure eggs to install without internet","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"examples":["$ eggs yolk -v"],"flags":{"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false}},"args":[],"dir":"/var/local/yolk"},"wardrobe:get":{"id":"wardrobe:get","description":"get warorobe","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[{"name":"repo","description":"repository to get","required":false}]},"wardrobe:ironing":{"id":"wardrobe:ironing","description":"ordered show of costumes or accessories in wardrobe","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"wardrobe":{"name":"wardrobe","type":"option","char":"w","description":"wardrobe","multiple":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[{"name":"costume","description":"costume","required":false}]},"wardrobe:list":{"id":"wardrobe:list","description":"list costumes and accessoires in wardrobe","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[{"name":"wardrobe","description":"wardrobe","required":false}]},"wardrobe:show":{"id":"wardrobe:show","description":"show costumes/accessories in wardrobe","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"wardrobe":{"name":"wardrobe","type":"option","char":"w","description":"wardrobe","multiple":false},"json":{"name":"json","type":"boolean","char":"j","description":"output JSON","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[{"name":"costume","description":"costume","required":false}]},"wardrobe:wear":{"id":"wardrobe:wear","description":"wear costume/accessories from wardrobe","strict":true,"pluginName":"penguins-eggs","pluginAlias":"penguins-eggs","pluginType":"core","aliases":[],"flags":{"wardrobe":{"name":"wardrobe","type":"option","char":"w","description":"wardrobe","multiple":false},"no_accessories":{"name":"no_accessories","type":"boolean","char":"a","description":"not install accessories","allowNo":false},"no_firmwares":{"name":"no_firmwares","type":"boolean","char":"f","description":"not install firmwares","allowNo":false},"silent":{"name":"silent","type":"boolean","char":"s","allowNo":false},"verbose":{"name":"verbose","type":"boolean","char":"v","allowNo":false},"help":{"name":"help","type":"boolean","char":"h","description":"Show CLI help.","allowNo":false}},"args":[{"name":"costume","description":"costume","required":false}]}}}
|
package/README.md
CHANGED
|
@@ -40,20 +40,24 @@ Thanks to the wardrobe, you can create or use scripts to switch from a "naked" v
|
|
|
40
40
|
|
|
41
41
|
The whole thing is written in pure typescript, so ideally it can be used with different Linux distributions. Yes, there are major differences in terms of the package manager used, but not so much on the way the various programs used to build the isos work. Actually eggs support: Debian, Devuan, Ubuntu, Arch and ManjaroLinux.
|
|
42
42
|
|
|
43
|
-
You can read more on the [blog](https://penguins-eggs.net/2021/11/02/distros-that-can-be-remastered-with-eggs/), some examples of iso images remastered with eggs are in the [sourceforge page of the project](https://sourceforge.net/projects/penguins-eggs/files/
|
|
43
|
+
You can read more on the [blog](https://penguins-eggs.net/2021/11/02/distros-that-can-be-remastered-with-eggs/), some examples of iso images remastered with eggs are in the [sourceforge page of the project](https://sourceforge.net/projects/penguins-eggs/files/ISOS/).
|
|
44
44
|
|
|
45
45
|
# Features
|
|
46
46
|
|
|
47
|
-
##
|
|
48
|
-
|
|
47
|
+
## addons and themes
|
|
48
|
+
Addons are used mostly to let third parties to develop extensions. Note that currently we have an extension for the theme that includes both branding calamares, link and installer icon. In addition, also as an addon has been developed choose between GUI or CLI installation, adapt the video resolution, link to remote support, etc.
|
|
49
49
|
|
|
50
50
|
## backup/clone
|
|
51
51
|
|
|
52
52
|
We have two methods to save in the live system all our data: clone and backup.
|
|
53
53
|
|
|
54
|
-
```eggs produce --fast --clone```
|
|
54
|
+
```eggs produce --fast --clone```
|
|
55
|
+
|
|
56
|
+
saves our users and our data directly in the generated iso. The data will be visible directly from the live and accessible to anyone who gets a copy.
|
|
55
57
|
|
|
56
|
-
```eggs produce --fast --backup```
|
|
58
|
+
```eggs produce --fast --backup```
|
|
59
|
+
|
|
60
|
+
saves our data within the generated iso using a LUKS volume. Our data will NOT be visible in the live system but can be reinstalled automatically with krill installer. Even having the generated image available, our data will be protected by the LUKS passphrase.
|
|
57
61
|
|
|
58
62
|
* ```eggs produce``` this is the default: all private data are removed on the live.
|
|
59
63
|
* ```eggs produce --clone``` include all users data UNCRYPTED directly on the live.
|
|
@@ -61,25 +65,25 @@ We have two methods to save in the live system all our data: clone and backup.
|
|
|
61
65
|
|
|
62
66
|
Using ```sudo eggs install --cli``` will automaticaly restore your CRYPTED backup automatically during the installation.
|
|
63
67
|
|
|
64
|
-
##
|
|
65
|
-
|
|
68
|
+
## calamares and krill
|
|
69
|
+
eggs was developed to use the excellent [calamares](https://calamares.io) as a system installer and allows customization. It also includes its own installer called krill, which allows you to produce and install CLI systems such as servers. krill uses a CLI interface that mimics calamares and uses the same configuration files created by eggs for calamares itself. This results in having "about the same" installation experience from old distros to new ones, desktop or server installations. With krill it is also possible to have unattended installations, simply by adding the ``--unattended`` flag, the configuration values can be changed in ``/etc/penguins-eggs.d/krill.yaml`` and they will be used for the configuration.
|
|
66
70
|
|
|
67
|
-
##
|
|
68
|
-
|
|
71
|
+
## cuckoo
|
|
72
|
+
The cuckoo lays its eggs in the nests of other birds, and the eggs are hatched by the latter. Similarly eggs can start a self-configuring PXE service to allow you to boot and install your iso on third party networked computers. Command cuckoo can be used either to deploy a newly created iso on an installed system or by live booting the iso itself.
|
|
69
73
|
|
|
70
74
|
## mom and dad
|
|
71
75
|
I've added two lightweight assistants integrated with eggs: mom and dad. While mom is a bash script with whiptail - and guides the user to the various commands and documentation, dad started as a short way to create isos. All you have to do is type **sudo eggs dad** and follow simple instructions. You can also shortcut the way to reset the configuration **sudo dad -c** or - even faster - reset the configuration, load defaults, kill created isos: simply type **sudo eggs dad -d** and you will immediately be able to produce the egg in the default /home/eggs nest.
|
|
72
76
|
|
|
73
|
-
|
|
74
|
-
## addons and themes
|
|
75
|
-
Addons are used mostly to let third parties to develop extensions. Note that currently we have an extension for the theme that includes both branding calamares, link and installer icon. In addition, also as an addon has been developed choose between GUI or CLI installation, adapt the video resolution, link to remote support, etc.
|
|
76
|
-
|
|
77
77
|
## wardrobe
|
|
78
78
|
wardrobe was added to eggs on april 2022, it's is a way to guide and consolidate the process of creating a custom version of Linux, starting from a CLI system. All my personal editions are passed to use wardrobe for their convenience, in that way I can organize, consolidate and manage better my work. I used birds names for my customizations, we have: colibri, duck, eagle, owl, wagtail and warbier.
|
|
79
79
|
|
|
80
80
|
I hope peoples will be interested in wardrobe and you will end to fork the main repository and add your customizations: together will be possibile to make great steps impossible for a single developer.
|
|
81
81
|
|
|
82
|
-
You can read more in wardrobe on [penguin's eggs blog](https://penguins-eggs.net/2022/04/12/wardrobe-colibri-duck-eagle-and-owl/). The results of mine customizations are mostly under [Debian bullseye](https://sourceforge.net/projects/penguins-eggs/files/ISOS/debian/bullseye/), [Devuan chimaera](
|
|
82
|
+
You can read more in wardrobe on [penguin's eggs blog](https://penguins-eggs.net/2022/04/12/wardrobe-colibri-duck-eagle-and-owl/). The results of mine customizations are mostly under [Debian bullseye](https://sourceforge.net/projects/penguins-eggs/files/ISOS/debian/bullseye/), [Devuan chimaera](https://sourceforge.net/projects/penguins-eggs/files/ISOS/devuan/chimaera/) and [Ubuntu jammy](https://sourceforge.net/projects/penguins-eggs/files/ISOS/ubuntu/jammy/) on my sourgeforce page.
|
|
83
|
+
|
|
84
|
+
## yolk
|
|
85
|
+
yolk - so called staying on the subject of eggs - is a local repository included in the livecd that contains a minimum of indispensable packages during installation. Thanks to yolk, you can safely install your system without the need of an active internet connection. Yolk, It is used only for Debian families and derivated.
|
|
86
|
+
|
|
83
87
|
|
|
84
88
|
# Packages
|
|
85
89
|
Supporting various distributions, we need to have different packages. Debian, Devuan and Ubuntu share the .deb packages of eggs, while for Arch Linux and ManjaroLinux they use their PKGBUILD.
|
|
@@ -123,12 +127,12 @@ sudo dpkg -i eggs_8.17.17-1_i386.deb
|
|
|
123
127
|
If you are using penguins-eggs-ppa You can ugrade eggs as others packages just: **sudo apt upgrade**, else simply download new versions of eggs from [sourgeforge page](https://sourceforge.net/projects/penguins-eggs/files/DEBS/) and install it with the standard command **sudo dpkg -i eggs_.9.2.2-1_amd64.deb**.
|
|
124
128
|
|
|
125
129
|
## Arch families: Arch and ManjaroLinux
|
|
126
|
-
eggs has been present in AUR for a long time, even without my knowledge thanks the support of Arch peoples. I am currently directly maintaining the AUR version of [penguins-eggs](https://aur.archlinux.org/packages/penguins-eggs) for Arch
|
|
130
|
+
eggs has been present in AUR for a long time, even without my knowledge thanks the support of Arch peoples. I am currently directly maintaining the AUR version of [penguins-eggs](https://aur.archlinux.org/packages/penguins-eggs) for Arch, however you can refer to the versions for Arch and manjaro in their respective repositories on github.
|
|
127
131
|
|
|
128
132
|
To install eggs on Arch, simply ```git clone https://github.com/pieroproietti/penguins-eggs-arch```, ```cd penguins-eggs-arch```, then ```makepkg -si```.
|
|
129
133
|
|
|
130
134
|
|
|
131
|
-
The same for
|
|
135
|
+
The same for manjaro: ```git clone https://github.com/pieroproietti/penguins-eggs-manjaro```, ```cd penguins-eggs-manjaro```, then ```makepkg -si```.
|
|
132
136
|
|
|
133
137
|
# Usage
|
|
134
138
|
|
|
@@ -201,7 +205,7 @@ DESCRIPTION
|
|
|
201
205
|
adapt monitor resolution for VM only
|
|
202
206
|
```
|
|
203
207
|
|
|
204
|
-
_See code: [dist/commands/adapt.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
208
|
+
_See code: [dist/commands/adapt.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.7/dist/commands/adapt.js)_
|
|
205
209
|
|
|
206
210
|
## `eggs analyze`
|
|
207
211
|
|
|
@@ -222,7 +226,7 @@ EXAMPLES
|
|
|
222
226
|
$ sudo eggs analyze
|
|
223
227
|
```
|
|
224
228
|
|
|
225
|
-
_See code: [dist/commands/analyze.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
229
|
+
_See code: [dist/commands/analyze.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.7/dist/commands/analyze.js)_
|
|
226
230
|
|
|
227
231
|
## `eggs autocomplete [SHELL]`
|
|
228
232
|
|
|
@@ -280,7 +284,7 @@ EXAMPLES
|
|
|
280
284
|
install calamares and create it's configuration's files
|
|
281
285
|
```
|
|
282
286
|
|
|
283
|
-
_See code: [dist/commands/calamares.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
287
|
+
_See code: [dist/commands/calamares.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.7/dist/commands/calamares.js)_
|
|
284
288
|
|
|
285
289
|
## `eggs config`
|
|
286
290
|
|
|
@@ -304,7 +308,7 @@ EXAMPLES
|
|
|
304
308
|
Configure and install prerequisites deb packages to run it
|
|
305
309
|
```
|
|
306
310
|
|
|
307
|
-
_See code: [dist/commands/config.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
311
|
+
_See code: [dist/commands/config.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.7/dist/commands/config.js)_
|
|
308
312
|
|
|
309
313
|
## `eggs cuckoo`
|
|
310
314
|
|
|
@@ -325,7 +329,7 @@ EXAMPLES
|
|
|
325
329
|
start a PXE server with dhcp-proxy (can coexists with a real dhcp server)
|
|
326
330
|
```
|
|
327
331
|
|
|
328
|
-
_See code: [dist/commands/cuckoo.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
332
|
+
_See code: [dist/commands/cuckoo.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.7/dist/commands/cuckoo.js)_
|
|
329
333
|
|
|
330
334
|
## `eggs dad`
|
|
331
335
|
|
|
@@ -345,7 +349,7 @@ DESCRIPTION
|
|
|
345
349
|
ask help from daddy - configuration helper
|
|
346
350
|
```
|
|
347
351
|
|
|
348
|
-
_See code: [dist/commands/dad.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
352
|
+
_See code: [dist/commands/dad.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.7/dist/commands/dad.js)_
|
|
349
353
|
|
|
350
354
|
## `eggs export deb`
|
|
351
355
|
|
|
@@ -432,7 +436,7 @@ EXAMPLES
|
|
|
432
436
|
Install the system using krill installer
|
|
433
437
|
```
|
|
434
438
|
|
|
435
|
-
_See code: [dist/commands/install.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
439
|
+
_See code: [dist/commands/install.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.7/dist/commands/install.js)_
|
|
436
440
|
|
|
437
441
|
## `eggs kill`
|
|
438
442
|
|
|
@@ -454,7 +458,7 @@ EXAMPLES
|
|
|
454
458
|
kill the eggs/free the nest
|
|
455
459
|
```
|
|
456
460
|
|
|
457
|
-
_See code: [dist/commands/kill.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
461
|
+
_See code: [dist/commands/kill.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.7/dist/commands/kill.js)_
|
|
458
462
|
|
|
459
463
|
## `eggs mom`
|
|
460
464
|
|
|
@@ -471,7 +475,7 @@ DESCRIPTION
|
|
|
471
475
|
ask for mommy - gui helper
|
|
472
476
|
```
|
|
473
477
|
|
|
474
|
-
_See code: [dist/commands/mom.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
478
|
+
_See code: [dist/commands/mom.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.7/dist/commands/mom.js)_
|
|
475
479
|
|
|
476
480
|
## `eggs produce`
|
|
477
481
|
|
|
@@ -533,7 +537,7 @@ EXAMPLES
|
|
|
533
537
|
in /home/eggs/ovarium and you can customize all you need
|
|
534
538
|
```
|
|
535
539
|
|
|
536
|
-
_See code: [dist/commands/produce.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
540
|
+
_See code: [dist/commands/produce.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.7/dist/commands/produce.js)_
|
|
537
541
|
|
|
538
542
|
## `eggs status`
|
|
539
543
|
|
|
@@ -551,7 +555,7 @@ DESCRIPTION
|
|
|
551
555
|
informations about eggs status
|
|
552
556
|
```
|
|
553
557
|
|
|
554
|
-
_See code: [dist/commands/status.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
558
|
+
_See code: [dist/commands/status.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.7/dist/commands/status.js)_
|
|
555
559
|
|
|
556
560
|
## `eggs syncfrom`
|
|
557
561
|
|
|
@@ -575,7 +579,7 @@ EXAMPLES
|
|
|
575
579
|
$ sudo eggs restore
|
|
576
580
|
```
|
|
577
581
|
|
|
578
|
-
_See code: [dist/commands/syncfrom.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
582
|
+
_See code: [dist/commands/syncfrom.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.7/dist/commands/syncfrom.js)_
|
|
579
583
|
|
|
580
584
|
## `eggs syncto`
|
|
581
585
|
|
|
@@ -598,7 +602,7 @@ EXAMPLES
|
|
|
598
602
|
$ sudo eggs syncto
|
|
599
603
|
```
|
|
600
604
|
|
|
601
|
-
_See code: [dist/commands/syncto.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
605
|
+
_See code: [dist/commands/syncto.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.7/dist/commands/syncto.js)_
|
|
602
606
|
|
|
603
607
|
## `eggs tools clean`
|
|
604
608
|
|
|
@@ -711,7 +715,7 @@ EXAMPLES
|
|
|
711
715
|
update/upgrade the penguin's eggs tool
|
|
712
716
|
```
|
|
713
717
|
|
|
714
|
-
_See code: [dist/commands/update.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
718
|
+
_See code: [dist/commands/update.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.7/dist/commands/update.js)_
|
|
715
719
|
|
|
716
720
|
## `eggs version`
|
|
717
721
|
|
package/conf/tools.yaml
CHANGED
package/dist/classes/distro.js
CHANGED
|
@@ -50,7 +50,7 @@ class Distro {
|
|
|
50
50
|
this.pxelinuxPath = '';
|
|
51
51
|
this.memdiskPath = '';
|
|
52
52
|
this.liveMediumPath = `/run/live/medium/`;
|
|
53
|
-
this.
|
|
53
|
+
this.squashfs = `live/filesystem.squashfs`;
|
|
54
54
|
this.homeUrl = '';
|
|
55
55
|
this.supportUrl = '';
|
|
56
56
|
this.bugReportUrl = '';
|
|
@@ -294,23 +294,27 @@ class Distro {
|
|
|
294
294
|
}
|
|
295
295
|
/**
|
|
296
296
|
* Arch Linux
|
|
297
|
-
* distroId= "Arch"
|
|
298
297
|
*/
|
|
299
298
|
case 'n/a': {
|
|
300
299
|
this.familyId = 'archlinux';
|
|
301
300
|
this.distroLike = 'Arch';
|
|
302
301
|
this.codenameId = 'rolling';
|
|
303
302
|
this.codenameLikeId = 'rolling';
|
|
303
|
+
this.liveMediumPath = `/run/archiso/copytoram/`;
|
|
304
|
+
this.squashfs = `airootfs.sfs`;
|
|
304
305
|
break;
|
|
305
306
|
}
|
|
306
307
|
/**
|
|
307
308
|
* Manjaro
|
|
308
309
|
*/
|
|
309
310
|
case 'Qonos':
|
|
310
|
-
case 'Ruah':
|
|
311
|
+
case 'Ruah':
|
|
312
|
+
case 'Sikaris': {
|
|
311
313
|
this.familyId = 'archlinux';
|
|
312
314
|
this.distroLike = 'Arch';
|
|
313
315
|
this.codenameLikeId = 'rolling';
|
|
316
|
+
this.liveMediumPath = `/run/miso/bootmnt/`;
|
|
317
|
+
this.squashfs = `manjaro/x86_64/livefs.sfs`;
|
|
314
318
|
break;
|
|
315
319
|
}
|
|
316
320
|
/**
|
|
@@ -351,21 +355,6 @@ class Distro {
|
|
|
351
355
|
this.codenameLikeId = 'buster';
|
|
352
356
|
}
|
|
353
357
|
}
|
|
354
|
-
/**
|
|
355
|
-
* Selezione il mountpoint per squashfs
|
|
356
|
-
*/
|
|
357
|
-
if (this.codenameLikeId === 'jessie' || this.codenameLikeId === 'stretch' || this.codenameLikeId === 'bionic' || this.codenameLikeId === 'xenial') {
|
|
358
|
-
this.mountpointSquashFs = '/lib/live/mount/medium/live/filesystem.squashfs';
|
|
359
|
-
}
|
|
360
|
-
else {
|
|
361
|
-
this.mountpointSquashFs = '/run/live/medium/live/filesystem.squashfs';
|
|
362
|
-
}
|
|
363
|
-
if (this.distroId === "ManjaroLinux") {
|
|
364
|
-
this.mountpointSquashFs = "/run/miso/bootmnt/live/filesystem.squashfs";
|
|
365
|
-
}
|
|
366
|
-
else if (this.distroId === "Arch") {
|
|
367
|
-
this.mountpointSquashFs = "/run/archiso/bootmnt/live/filesystem.squashfs";
|
|
368
|
-
}
|
|
369
358
|
/**
|
|
370
359
|
* setting paths: syslinux, isolinux, usrLib
|
|
371
360
|
*/
|
|
@@ -18,7 +18,7 @@ function remove(distro) {
|
|
|
18
18
|
}
|
|
19
19
|
let yaml = '';
|
|
20
20
|
for (const elem of packages) {
|
|
21
|
-
yaml += `
|
|
21
|
+
yaml += ` - ${elem.trim()}\n`;
|
|
22
22
|
}
|
|
23
23
|
if (yaml !== '') {
|
|
24
24
|
yaml = '- remove:\n' + yaml;
|
|
@@ -37,27 +37,27 @@ function tryInstall(distro) {
|
|
|
37
37
|
* Depending on the distro
|
|
38
38
|
*/
|
|
39
39
|
if (distro.distroLike === 'Ubuntu') {
|
|
40
|
-
yaml += '
|
|
40
|
+
yaml += ' - language-pack-$LOCALE\n';
|
|
41
41
|
}
|
|
42
42
|
// Da localizzare se presenti
|
|
43
43
|
if (pacman_1.default.packageIsInstalled('hunspell')) {
|
|
44
|
-
yaml += '
|
|
44
|
+
yaml += ' - hunspell-$LOCALE\n';
|
|
45
45
|
}
|
|
46
46
|
if (pacman_1.default.packageIsInstalled('libreoffice-base-core')) {
|
|
47
|
-
yaml += `
|
|
48
|
-
yaml += `
|
|
47
|
+
yaml += ` - libreoffice-l10n-$LOCALE\n`;
|
|
48
|
+
yaml += ` - libreoffice-help-$LOCALE\n`;
|
|
49
49
|
}
|
|
50
50
|
if (pacman_1.default.packageIsInstalled('firefox-esr')) {
|
|
51
|
-
yaml += `
|
|
51
|
+
yaml += ` - firefox-esr-$LOCALE\n`;
|
|
52
52
|
}
|
|
53
53
|
if (pacman_1.default.packageIsInstalled('firefox')) {
|
|
54
|
-
yaml += `
|
|
54
|
+
yaml += ` - firefox-$LOCALE\n`;
|
|
55
55
|
}
|
|
56
56
|
if (pacman_1.default.packageIsInstalled('thunderbird')) {
|
|
57
|
-
yaml += `
|
|
57
|
+
yaml += ` - thunderbird-locale-$LOCALE\n`;
|
|
58
58
|
}
|
|
59
59
|
if (yaml !== '') {
|
|
60
|
-
yaml = '
|
|
60
|
+
yaml = '- try_install:\n' + yaml;
|
|
61
61
|
}
|
|
62
62
|
return yaml;
|
|
63
63
|
}
|
|
@@ -37,7 +37,7 @@ class Fisherman {
|
|
|
37
37
|
*/
|
|
38
38
|
let filePersonal = `/home/eggs/ovarium/iso/live/is-clone.md`;
|
|
39
39
|
if (utils_1.default.isLive()) {
|
|
40
|
-
filePersonal = node_path_1.default.dirname(this.distro.
|
|
40
|
+
filePersonal = node_path_1.default.dirname(this.distro.liveMediumPath) + `/is-clone.md`;
|
|
41
41
|
}
|
|
42
42
|
let hasDisplaymanager = '# ';
|
|
43
43
|
let createUsers = '# ';
|
|
@@ -213,7 +213,7 @@ class Fisherman {
|
|
|
213
213
|
async moduleUnpackfs() {
|
|
214
214
|
const name = 'unpackfs';
|
|
215
215
|
this.buildModule(name);
|
|
216
|
-
shelljs_1.default.sed('-i', '{{source}}', this.distro.
|
|
216
|
+
shelljs_1.default.sed('-i', '{{source}}', this.distro.liveMediumPath + this.distro.squashfs, this.installer.modules + name + '.conf');
|
|
217
217
|
}
|
|
218
218
|
/**
|
|
219
219
|
* usa i moduli-ts
|
package/dist/classes/ovary.js
CHANGED
|
@@ -216,15 +216,15 @@ class Ovary {
|
|
|
216
216
|
* patch to emulate miso/archiso on archilinux
|
|
217
217
|
*/
|
|
218
218
|
if (this.familyId === 'archlinux') {
|
|
219
|
-
await (0, utils_1.exec)(`mkdir ${this.settings.work_dir.pathIso}/live/x86_64`, this.echo);
|
|
220
219
|
if (this.settings.distro.distroId === 'ManjaroLinux') {
|
|
221
|
-
await (0, utils_1.exec)(`
|
|
222
|
-
await (0, utils_1.exec)(`
|
|
220
|
+
await (0, utils_1.exec)(`mkdir ${this.settings.work_dir.pathIso}manjaro/x86_64 -p`, this.echo);
|
|
221
|
+
await (0, utils_1.exec)(`ln ${this.settings.work_dir.pathIso}live/filesystem.squashfs ${this.settings.work_dir.pathIso}manjaro/x86_64/livefs.sfs`, this.echo);
|
|
222
|
+
await (0, utils_1.exec)(`md5sum ${this.settings.work_dir.pathIso}live/filesystem.squashfs > ${this.settings.work_dir.pathIso}manjaro/x86_64/livefs.md5`, this.echo);
|
|
223
223
|
}
|
|
224
224
|
else if (this.settings.distro.distroId === 'Arch') {
|
|
225
|
-
await (0, utils_1.exec)(`
|
|
226
|
-
await (0, utils_1.exec)(`
|
|
227
|
-
|
|
225
|
+
await (0, utils_1.exec)(`mkdir ${this.settings.work_dir.pathIso}arch/x86_64 -p`, this.echo);
|
|
226
|
+
await (0, utils_1.exec)(`ln ${this.settings.work_dir.pathIso}live/filesystem.squashfs ${this.settings.work_dir.pathIso}arch/x86_64/airootfs.sfs`, this.echo);
|
|
227
|
+
await (0, utils_1.exec)(`sha512sum ${this.settings.work_dir.pathIso}live/filesystem.squashfs > ${this.settings.work_dir.pathIso}arch/x86_64/airootfs.sha512`, this.echo);
|
|
228
228
|
}
|
|
229
229
|
}
|
|
230
230
|
await this.makeIso(xorrisoCommand, scriptOnly);
|
|
@@ -272,9 +272,10 @@ class Ovary {
|
|
|
272
272
|
this.tryCatch(cmd);
|
|
273
273
|
cmd = `mkdir -p ${this.settings.work_dir.pathIso}/efi/boot`;
|
|
274
274
|
this.tryCatch(cmd);
|
|
275
|
+
let liveBsseDir = 'live';
|
|
275
276
|
cmd = `mkdir -p ${this.settings.work_dir.pathIso}/isolinux`;
|
|
276
277
|
this.tryCatch(cmd);
|
|
277
|
-
cmd = `mkdir -p ${this.settings.work_dir.pathIso}
|
|
278
|
+
cmd = `mkdir -p ${this.settings.work_dir.pathIso}live`;
|
|
278
279
|
this.tryCatch(cmd);
|
|
279
280
|
}
|
|
280
281
|
}
|
|
@@ -545,10 +546,10 @@ class Ovary {
|
|
|
545
546
|
if (this.familyId === 'archlinux') {
|
|
546
547
|
let volid = utils_2.default.getVolid(this.settings.remix.name);
|
|
547
548
|
if (this.settings.distro.distroId === 'ManjaroLinux') {
|
|
548
|
-
kernel_parameters += ` misobasedir=
|
|
549
|
+
kernel_parameters += ` misobasedir=manjaro misolabel=${volid}`;
|
|
549
550
|
}
|
|
550
551
|
else if (this.settings.distro.distroId === 'Arch') {
|
|
551
|
-
kernel_parameters += ` archisobasedir=
|
|
552
|
+
kernel_parameters += ` archisobasedir=arch archisolabel=${volid} cow_spacesize=4G`;
|
|
552
553
|
}
|
|
553
554
|
}
|
|
554
555
|
const template = fs_1.default.readFileSync(isolinuxTemplate, 'utf8');
|
|
@@ -1023,8 +1024,8 @@ class Ovary {
|
|
|
1023
1024
|
if (myAddons.adapt) {
|
|
1024
1025
|
const dirAddon = node_path_1.default.resolve(__dirname, `../../addons/eggs/adapt/`);
|
|
1025
1026
|
shelljs_1.default.cp(`${dirAddon}/applications/eggs-adapt.desktop`, `${this.settings.work_dir.merged}/usr/share/applications/`);
|
|
1026
|
-
shelljs_1.default.cp(`${dirAddon}/bin/adapt`, `${this.settings.work_dir.merged}/usr/
|
|
1027
|
-
shelljs_1.default.chmod('+x', `${this.settings.work_dir.merged}/usr/
|
|
1027
|
+
shelljs_1.default.cp(`${dirAddon}/bin/adapt`, `${this.settings.work_dir.merged}/usr/bin/`);
|
|
1028
|
+
shelljs_1.default.chmod('+x', `${this.settings.work_dir.merged}/usr/bin/adapt`);
|
|
1028
1029
|
}
|
|
1029
1030
|
// ichoice
|
|
1030
1031
|
if (myAddons.ichoice) {
|
|
@@ -1032,8 +1033,8 @@ class Ovary {
|
|
|
1032
1033
|
installerIcon = 'system-software-install';
|
|
1033
1034
|
const dirAddon = node_path_1.default.resolve(__dirname, '../../addons/eggs/ichoice/');
|
|
1034
1035
|
shelljs_1.default.cp(`${dirAddon}/applications/eggs-ichoice.desktop`, `${this.settings.work_dir.merged}/usr/share/applications/`);
|
|
1035
|
-
shelljs_1.default.cp(`${dirAddon}/bin/eggs-ichoice.sh`, `${this.settings.work_dir.merged}/usr/
|
|
1036
|
-
shelljs_1.default.chmod('+x', `${this.settings.work_dir.merged}/usr/
|
|
1036
|
+
shelljs_1.default.cp(`${dirAddon}/bin/eggs-ichoice.sh`, `${this.settings.work_dir.merged}/usr/bin/`);
|
|
1037
|
+
shelljs_1.default.chmod('+x', `${this.settings.work_dir.merged}/usr/bin/eggs-ichoice.sh`);
|
|
1037
1038
|
}
|
|
1038
1039
|
// pve
|
|
1039
1040
|
if (myAddons.pve) {
|
|
@@ -1278,8 +1279,8 @@ class Ovary {
|
|
|
1278
1279
|
// chown -R 1000:1000 $(pwd) 2>/dev/null
|
|
1279
1280
|
// Cleanup efi temps
|
|
1280
1281
|
await (0, utils_1.exec)(`umount ${efiWorkDir}/img-mnt`, this.echo);
|
|
1281
|
-
|
|
1282
|
-
|
|
1282
|
+
await (0, utils_1.exec)(`rmdir ${efiWorkDir}/img-mnt`, this.echo);
|
|
1283
|
+
await (0, utils_1.exec)(`rm ${memdiskDir}/img-mnt -rf`, this.echo);
|
|
1283
1284
|
// popd
|
|
1284
1285
|
// Copy efi files to iso
|
|
1285
1286
|
await (0, utils_1.exec)(`rsync -avx ${efiWorkDir}/boot ${isoDir}/`, this.echo);
|
|
@@ -1308,25 +1309,20 @@ class Ovary {
|
|
|
1308
1309
|
if (this.familyId === 'archlinux') {
|
|
1309
1310
|
let volid = utils_2.default.getVolid(this.settings.remix.name);
|
|
1310
1311
|
if (this.settings.distro.distroId === 'ManjaroLinux') {
|
|
1311
|
-
kernel_parameters += ` misobasedir=
|
|
1312
|
+
kernel_parameters += ` misobasedir=manjaro misolabel=${volid}`;
|
|
1312
1313
|
}
|
|
1313
1314
|
else if (this.settings.distro.distroId === 'Arch') {
|
|
1314
|
-
kernel_parameters += ` archisobasedir=
|
|
1315
|
+
kernel_parameters += ` archisobasedir=arch archisolabel=${volid} cow_spacesize=4G`;
|
|
1315
1316
|
}
|
|
1316
1317
|
}
|
|
1317
1318
|
const grubDest = `${isoDir}/boot/grub/grub.cfg`;
|
|
1318
1319
|
const template = fs_1.default.readFileSync(grubTemplate, 'utf8');
|
|
1319
|
-
// let rmModules = ''
|
|
1320
|
-
// if (this.settings.distro.codenameLikeId === 'focal') {
|
|
1321
|
-
// rmModules = 'rmmod tpm'
|
|
1322
|
-
// }
|
|
1323
1320
|
const view = {
|
|
1324
1321
|
fullname: this.settings.remix.fullname.toUpperCase(),
|
|
1325
1322
|
kernel: utils_2.default.kernelVersion(),
|
|
1326
1323
|
vmlinuz: `/live${this.settings.vmlinuz}`,
|
|
1327
1324
|
initrdImg: `/live${this.settings.initrdImg}`,
|
|
1328
1325
|
kernel_parameters: kernel_parameters,
|
|
1329
|
-
// rmModules: rmModules,
|
|
1330
1326
|
};
|
|
1331
1327
|
fs_1.default.writeFileSync(grubDest, mustache_1.default.render(template, view));
|
|
1332
1328
|
/**
|
package/dist/classes/pxe.js
CHANGED
|
@@ -29,7 +29,7 @@ class Pxe {
|
|
|
29
29
|
this.pxeRoot = '';
|
|
30
30
|
this.eggRoot = '';
|
|
31
31
|
this.vmlinuz = '';
|
|
32
|
-
this.
|
|
32
|
+
this.initrdImg = '';
|
|
33
33
|
this.isos = [];
|
|
34
34
|
}
|
|
35
35
|
/**
|
|
@@ -42,6 +42,11 @@ class Pxe {
|
|
|
42
42
|
await this.settings.load();
|
|
43
43
|
if (utils_1.default.isLive()) {
|
|
44
44
|
this.eggRoot = this.settings.distro.liveMediumPath;
|
|
45
|
+
if (this.settings.distro.distroId === 'Arch') {
|
|
46
|
+
this.eggRoot = '/run/archiso/bootmnt/';
|
|
47
|
+
await (0, utils_2.exec)(`mkdir ${this.eggRoot} -p`);
|
|
48
|
+
await (0, utils_2.exec)(`mount /dev/sr0 ${this.eggRoot}`);
|
|
49
|
+
}
|
|
45
50
|
}
|
|
46
51
|
else {
|
|
47
52
|
this.eggRoot = node_path_1.default.dirname(this.settings.work_dir.path) + '/ovarium/iso/';
|
|
@@ -52,9 +57,6 @@ class Pxe {
|
|
|
52
57
|
}
|
|
53
58
|
this.nest = '/home/eggs';
|
|
54
59
|
this.pxeRoot = this.nest + '/pxe';
|
|
55
|
-
// console.log('nest: ' + this.nest)
|
|
56
|
-
// console.log('pxeRoot: ' + this.pxeRoot)
|
|
57
|
-
// console.log('eggRoot: ' + this.eggRoot)
|
|
58
60
|
/**
|
|
59
61
|
* se pxeRoot non esiste viene creato
|
|
60
62
|
*/
|
|
@@ -78,7 +80,7 @@ class Pxe {
|
|
|
78
80
|
* installed: /home/eggs/ovarium/iso/live
|
|
79
81
|
* live: this.iso/live
|
|
80
82
|
*/
|
|
81
|
-
let pathFiles = this.eggRoot + '
|
|
83
|
+
let pathFiles = this.eggRoot + 'live';
|
|
82
84
|
let files = fs_1.default.readdirSync(pathFiles);
|
|
83
85
|
for (const file of files) {
|
|
84
86
|
if (this.settings.distro.familyId === 'debian') {
|
|
@@ -86,28 +88,31 @@ class Pxe {
|
|
|
86
88
|
this.vmlinuz = node_path_1.default.basename(file);
|
|
87
89
|
}
|
|
88
90
|
if (node_path_1.default.basename(file).substring(0, 6) === 'initrd') {
|
|
89
|
-
this.
|
|
91
|
+
this.initrdImg = node_path_1.default.basename(file);
|
|
90
92
|
}
|
|
91
93
|
}
|
|
92
94
|
else if (this.settings.distro.familyId === 'archlinux') {
|
|
93
95
|
if (node_path_1.default.basename(file).substring(0, 7) === 'vmlinuz') {
|
|
94
96
|
this.vmlinuz = node_path_1.default.basename(file);
|
|
95
97
|
}
|
|
96
|
-
if (node_path_1.default.basename(file) === 'initramfs
|
|
97
|
-
this.
|
|
98
|
+
if (node_path_1.default.basename(file).substring(0, 9) === 'initramfs') {
|
|
99
|
+
this.initrdImg = node_path_1.default.basename(file);
|
|
98
100
|
}
|
|
99
101
|
}
|
|
100
102
|
}
|
|
101
103
|
/**
|
|
102
104
|
* bootLabel
|
|
103
105
|
*/
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
106
|
+
this.bootLabel = 'not found';
|
|
107
|
+
if (fs_1.default.existsSync(this.eggRoot + '/.disk/mkisofs')) {
|
|
108
|
+
const a = fs_1.default.readFileSync(this.eggRoot + '/.disk/mkisofs', "utf-8");
|
|
109
|
+
const b = a.substring(a.indexOf('-o ') + 3);
|
|
110
|
+
const c = b.substring(0, b.indexOf(' '));
|
|
111
|
+
this.bootLabel = c.substring(c.lastIndexOf('/') + 1);
|
|
112
|
+
}
|
|
113
|
+
console.log(`bootLabel: ${this.bootLabel}`);
|
|
114
|
+
console.log(`vmlinuz: ${this.vmlinuz}`);
|
|
115
|
+
console.log(`initrd: ${this.initrdImg}`);
|
|
111
116
|
}
|
|
112
117
|
/**
|
|
113
118
|
* build
|
|
@@ -118,12 +123,18 @@ class Pxe {
|
|
|
118
123
|
}
|
|
119
124
|
await this.tryCatch(`mkdir ${this.pxeRoot} -p`);
|
|
120
125
|
await this.tryCatch(`mkdir ${this.pxeRoot} -p`);
|
|
121
|
-
await this.tryCatch(`ln -s ${this.eggRoot}
|
|
126
|
+
await this.tryCatch(`ln -s ${this.eggRoot}live ${this.pxeRoot}/live`);
|
|
122
127
|
await this.tryCatch(`ln -s ${this.nest}.disk ${this.pxeRoot}/.disk`);
|
|
128
|
+
if (this.settings.distro.distroId === 'ManjaroLinux') {
|
|
129
|
+
await this.tryCatch(`ln -s ${this.eggRoot}manjaro ${this.pxeRoot}/manjaro`);
|
|
130
|
+
}
|
|
131
|
+
else if (this.settings.distro.distroId === 'Arch') {
|
|
132
|
+
await this.tryCatch(`ln -s ${this.eggRoot}arch ${this.pxeRoot}/arch`);
|
|
133
|
+
}
|
|
123
134
|
if (fs_1.default.existsSync(this.eggRoot)) {
|
|
124
|
-
await this.tryCatch(`cp ${this.eggRoot}live/${this.vmlinuz} ${this.pxeRoot}/vmlinuz
|
|
135
|
+
await this.tryCatch(`cp ${this.eggRoot}live/${this.vmlinuz} ${this.pxeRoot}/vmlinuz`, true);
|
|
125
136
|
await this.tryCatch(`chmod 777 ${this.pxeRoot}/vmlinuz`);
|
|
126
|
-
await this.tryCatch(`cp ${this.eggRoot}live/${this.
|
|
137
|
+
await this.tryCatch(`cp ${this.eggRoot}live/${this.initrdImg} ${this.pxeRoot}/initrd`, true);
|
|
127
138
|
await this.tryCatch(`chmod 777 ${this.pxeRoot}/initrd`);
|
|
128
139
|
}
|
|
129
140
|
// link iso images in pxe
|
|
@@ -169,17 +180,33 @@ class Pxe {
|
|
|
169
180
|
content += `\n`;
|
|
170
181
|
content += `label egg\n`;
|
|
171
182
|
content += `menu label ${this.bootLabel.replace('.iso', '')}\n`;
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
183
|
+
if (this.settings.distro.familyId === 'debian') {
|
|
184
|
+
/**
|
|
185
|
+
* DEBIAN
|
|
186
|
+
*/
|
|
187
|
+
let clid = this.settings.distro.codenameLikeId;
|
|
188
|
+
if (clid === 'bionic' || clid === 'stretch' || clid === 'jessie') {
|
|
189
|
+
content += `kernel vmlinuz\n`;
|
|
190
|
+
content += `append initrd=initrd boot=live config noswap noprompt fetch=http://${utils_1.default.address()}/live/filesystem.squashfs\n`;
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
content += `kernel http://${utils_1.default.address()}/vmlinuz\n`;
|
|
194
|
+
content += `append initrd=http://${utils_1.default.address()}/initrd boot=live config noswap noprompt fetch=http://${utils_1.default.address()}/live/filesystem.squashfs\n`;
|
|
195
|
+
}
|
|
176
196
|
}
|
|
177
|
-
else {
|
|
197
|
+
else if (distro.familyId === 'archlinux') {
|
|
198
|
+
/**
|
|
199
|
+
* ARCH LINUX
|
|
200
|
+
*/
|
|
201
|
+
let tool = 'archiso';
|
|
202
|
+
if (distro.codenameId === 'Qonos' || distro.codenameId === 'Ruah' || distro.codenameId === 'Sikaris') {
|
|
203
|
+
tool = 'miso';
|
|
204
|
+
}
|
|
178
205
|
content += `kernel http://${utils_1.default.address()}/vmlinuz\n`;
|
|
179
|
-
content += `append initrd=http://${utils_1.default.address()}/initrd boot=live config noswap noprompt
|
|
206
|
+
content += `append initrd=http://${utils_1.default.address()}/initrd boot=live config noswap noprompt ${tool}_http_srv=http://${utils_1.default.address()}/\n`;
|
|
207
|
+
content += `sysappend 3\n`;
|
|
208
|
+
content += `\n`;
|
|
180
209
|
}
|
|
181
|
-
content += `sysappend 3\n`;
|
|
182
|
-
content += `\n`;
|
|
183
210
|
if (this.isos.length > 0) {
|
|
184
211
|
content += `menu separator\n`;
|
|
185
212
|
for (const iso of this.isos) {
|
|
@@ -231,7 +258,23 @@ class Pxe {
|
|
|
231
258
|
* CORRECT:
|
|
232
259
|
* content += `imgargs vmlinuz fetch=http://${Utils.address()}/live/filesystem.squashfs boot=live dhcp initrd=initrd ro\n`
|
|
233
260
|
*/
|
|
234
|
-
|
|
261
|
+
if (this.settings.distro.familyId === 'debian') {
|
|
262
|
+
/**
|
|
263
|
+
* DEBIAN
|
|
264
|
+
*/
|
|
265
|
+
content += `imgargs vmlinuz fetch=http://${utils_1.default.address()}/live/filesystem.squashfs boot=live dhcp initrd=initrd ro\n`;
|
|
266
|
+
}
|
|
267
|
+
else if (this.settings.distro.familyId === 'archlinux') {
|
|
268
|
+
/**
|
|
269
|
+
* ARCH LINUX
|
|
270
|
+
*/
|
|
271
|
+
let tool = 'archiso';
|
|
272
|
+
if (this.settings.distro.codenameId === 'Qonos' || this.settings.distro.codenameId === 'Ruah' || this.settings.distro.codenameId === 'Sikaris') {
|
|
273
|
+
tool = 'miso';
|
|
274
|
+
}
|
|
275
|
+
content += `imgargs vmlinuz ${tool}_http_srv=http://${utils_1.default.address()}/ boot=live dhcp initrd=initrd ro\n`;
|
|
276
|
+
//content += 'ipappend 3\n'
|
|
277
|
+
}
|
|
235
278
|
content += `sleep 5\n`;
|
|
236
279
|
content += `boot || goto start\n\n`;
|
|
237
280
|
if (this.isos.length > 0) {
|
|
@@ -324,8 +367,11 @@ class Pxe {
|
|
|
324
367
|
*
|
|
325
368
|
* @param cmd
|
|
326
369
|
*/
|
|
327
|
-
async tryCatch(cmd = '') {
|
|
370
|
+
async tryCatch(cmd = '', echo = false) {
|
|
328
371
|
try {
|
|
372
|
+
if (echo) {
|
|
373
|
+
console.log(cmd);
|
|
374
|
+
}
|
|
329
375
|
await (0, utils_2.exec)(cmd, this.echo);
|
|
330
376
|
}
|
|
331
377
|
catch (error) {
|
|
@@ -226,14 +226,16 @@ class Sequence {
|
|
|
226
226
|
await utils_1.default.pressKeyToExit(JSON.stringify(error));
|
|
227
227
|
}
|
|
228
228
|
// dpkg-unsafe-io
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
229
|
+
if (this.distro.familyId === 'debian') {
|
|
230
|
+
message = "dpkg-unsafe-io";
|
|
231
|
+
percent = 0.11;
|
|
232
|
+
try {
|
|
233
|
+
await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent }));
|
|
234
|
+
await this.execCalamaresModule('dpkg-unsafe-io');
|
|
235
|
+
}
|
|
236
|
+
catch (error) {
|
|
237
|
+
await utils_1.default.pressKeyToExit(JSON.stringify(error));
|
|
238
|
+
}
|
|
237
239
|
}
|
|
238
240
|
/**
|
|
239
241
|
* IF RESTORE USERS DATA
|
|
@@ -350,15 +352,17 @@ class Sequence {
|
|
|
350
352
|
catch (error) {
|
|
351
353
|
await utils_1.default.pressKeyToExit(JSON.stringify(error));
|
|
352
354
|
}
|
|
353
|
-
// dpkg-unsafe-io
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
355
|
+
// dpkg-unsafe-io-undo
|
|
356
|
+
if (this.distro.familyId === 'debian') {
|
|
357
|
+
message = "dpkg-unsafe-io-undo";
|
|
358
|
+
percent = 0.61;
|
|
359
|
+
try {
|
|
360
|
+
await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent }));
|
|
361
|
+
await this.execCalamaresModule('dpkg-unsafe-io-undo');
|
|
362
|
+
}
|
|
363
|
+
catch (error) {
|
|
364
|
+
await utils_1.default.pressKeyToExit(JSON.stringify(error));
|
|
365
|
+
}
|
|
362
366
|
}
|
|
363
367
|
/**
|
|
364
368
|
* IF NOT RESTORE USERS DATA OR PERSONAL BACKUP
|
|
@@ -453,6 +457,7 @@ class Sequence {
|
|
|
453
457
|
catch (error) {
|
|
454
458
|
await utils_1.default.pressKeyToExit(JSON.stringify(error));
|
|
455
459
|
}
|
|
460
|
+
// await Utils.pressKeyToExit('check bootloaded and continue...')
|
|
456
461
|
// sources-yolk-undo
|
|
457
462
|
if (this.distro.familyId === 'debian') {
|
|
458
463
|
message = "sources-yolk-undo";
|
|
@@ -7,19 +7,10 @@ const tslib_1 = require("tslib");
|
|
|
7
7
|
const utils_1 = require("../../lib/utils");
|
|
8
8
|
const utils_2 = tslib_1.__importDefault(require("../../classes/utils"));
|
|
9
9
|
/**
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
*/
|
|
10
|
+
*
|
|
11
|
+
* @param this
|
|
12
|
+
*/
|
|
14
13
|
async function bootloader() {
|
|
15
|
-
/**
|
|
16
|
-
* update-grub it's just a script:
|
|
17
|
-
#!/bin/sh
|
|
18
|
-
set -e
|
|
19
|
-
exec grub-mkconfig -o /boot/grub/grub.cfg "$@"
|
|
20
|
-
*
|
|
21
|
-
* not present on Arch, so we use grub-mkconfig
|
|
22
|
-
*/
|
|
23
14
|
let cmd = `chroot ${this.installTarget} grub-install ${this.partitions.installationDevice} ${this.toNull}`;
|
|
24
15
|
try {
|
|
25
16
|
await (0, utils_1.exec)(cmd, this.echo);
|
|
@@ -35,7 +35,10 @@ async function initramfs() {
|
|
|
35
35
|
else if (this.distro.familyId === 'archlinux') {
|
|
36
36
|
let initrdImg = utils_2.default.initrdImg();
|
|
37
37
|
initrdImg = initrdImg.substring(initrdImg.lastIndexOf('/') + 1);
|
|
38
|
-
|
|
38
|
+
let cmd = `mkinitcpio -c ${path_1.default.resolve(__dirname, '../../../mkinitcpio/arch/mkinitcpio-install.conf')} -g ${this.installTarget}/boot/${initrdImg}`; // ${this.toNull}
|
|
39
|
+
if (this.distro.codenameId === 'Qonos' || this.distro.codenameId === 'Ruah' || this.distro.codenameId === 'Sikaris') {
|
|
40
|
+
cmd = `mkinitcpio -c ${path_1.default.resolve(__dirname, '../../../mkinitcpio/manjaro/mkinitcpio-install.conf')} -g ${this.installTarget}/boot/${initrdImg}`; // ${this.toNull}
|
|
41
|
+
}
|
|
39
42
|
try {
|
|
40
43
|
await (0, utils_1.exec)(cmd, utils_2.default.setEcho(true));
|
|
41
44
|
}
|
|
@@ -26,7 +26,7 @@ async function mountVfs() {
|
|
|
26
26
|
if (this.efi) {
|
|
27
27
|
await (0, utils_1.exec)(`mount -o bind /sys/firmware/efi/efivars ${this.installTarget}/sys/firmware/efi/efivars ${this.toNull}`, this.echo);
|
|
28
28
|
}
|
|
29
|
-
await (0, utils_1.exec)(`mount -o
|
|
29
|
+
await (0, utils_1.exec)(`mount -o rbind /run ${this.installTarget}/run ${this.toNull}`, this.echo);
|
|
30
30
|
}
|
|
31
31
|
exports.mountVfs = mountVfs;
|
|
32
32
|
/**
|
|
@@ -15,7 +15,8 @@ const utils_2 = require("../../lib/utils");
|
|
|
15
15
|
* unpackfs
|
|
16
16
|
*/
|
|
17
17
|
async function unpackfs() {
|
|
18
|
-
const cmd = `unsquashfs -d ${this.installTarget} -f ${this.distro.
|
|
18
|
+
//const cmd = `unsquashfs -d ${this.installTarget} -f ${this.distro.liveMediumPath}`
|
|
19
|
+
const cmd = `unsquashfs -d ${this.installTarget} -f ${this.distro.liveMediumPath}${this.distro.squashfs}`;
|
|
19
20
|
const echoYes = utils_1.default.setEcho(true);
|
|
20
21
|
await (0, utils_2.exec)(cmd, echoYes);
|
|
21
22
|
}
|
|
@@ -1,5 +1,101 @@
|
|
|
1
|
-
# install Archlinux
|
|
2
1
|
|
|
2
|
+
# archinstall
|
|
3
|
+
|
|
4
|
+
Here I'm using archinstall, minimum installation, you can find configuration files in
|
|
5
|
+
[archinstall](./archinstall).
|
|
6
|
+
I added this packages:
|
|
7
|
+
|
|
8
|
+
```bash-completion git nano openssh```
|
|
9
|
+
|
|
10
|
+
and completed the installation.
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
## reboot
|
|
14
|
+
Here I enabled members of group wheel to sudo, after I just installed penguins-eggs:
|
|
15
|
+
|
|
16
|
+
### visudo
|
|
17
|
+
```sudo su```
|
|
18
|
+
|
|
19
|
+
```export EDITOR=nano```
|
|
20
|
+
|
|
21
|
+
```visudo```
|
|
22
|
+
|
|
23
|
+
find line:
|
|
24
|
+
```
|
|
25
|
+
## Uncomment to allow members of group wheel to execute any command
|
|
26
|
+
# %wheel ALL=(ALL:ALL) ALL
|
|
27
|
+
```
|
|
28
|
+
and remove # before %wheel
|
|
29
|
+
|
|
30
|
+
### install penguins-eggs
|
|
31
|
+
```git clone https://github.com/pieroproietti/penguins-eggs-arch```
|
|
32
|
+
|
|
33
|
+
```cd penguins-eggs-arch```
|
|
34
|
+
|
|
35
|
+
```./build```
|
|
36
|
+
|
|
37
|
+
### run eggs
|
|
38
|
+
```eggs dad -d```
|
|
39
|
+
|
|
40
|
+
```eggs produce --fast```
|
|
41
|
+
|
|
42
|
+
The iso was generated and I exported it to boot from the new iso.
|
|
43
|
+
|
|
44
|
+
## booting from eggs generated iso
|
|
45
|
+
boot is successfully, and I tryed to install with:
|
|
46
|
+
|
|
47
|
+
```sudo eggs install -u```
|
|
48
|
+
|
|
49
|
+
No signs of problems.
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
## booting from the new installed machine
|
|
53
|
+
|
|
54
|
+
grub start with just the option:
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
UEFI firmware settings
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### workaround
|
|
61
|
+
|
|
62
|
+
I tryed to reinstall grub, starting from the initial archiso.
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
```ssh root@192.168.61.102```
|
|
66
|
+
|
|
67
|
+
```
|
|
68
|
+
root@archiso ~ # lsblk
|
|
69
|
+
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
|
|
70
|
+
loop0 7:0 0 671M 1 loop /run/archiso/airootfs
|
|
71
|
+
sda 8:0 0 40G 0 disk
|
|
72
|
+
├─sda1 8:1 0 256M 0 part
|
|
73
|
+
├─sda2 8:2 0 4G 0 part
|
|
74
|
+
└─sda3 8:3 0 35.7G 0 part
|
|
75
|
+
sr0 11:0 1 782.3M 0 rom
|
|
76
|
+
root@archiso ~ # mount /dev/sda3 /mnt
|
|
77
|
+
root@archiso ~ # ls /mnt/boot/efi
|
|
78
|
+
root@archiso ~ # mount /dev/sda1 /mnt/boot/efi
|
|
79
|
+
root@archiso ~ # arch-chroot /mnt
|
|
80
|
+
```
|
|
81
|
+
and give:
|
|
82
|
+
```grub-mkconfig -o /boot/grub/grub.cfg```
|
|
83
|
+
|
|
84
|
+
Agein, it seem all OK, but grub-mkconfig cant create linux entry!
|
|
85
|
+
|
|
86
|
+
Saoeone can help?
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
## adding fstab
|
|
91
|
+
```genfstab -U /mnt >> /mnt/etc/fstab```
|
|
92
|
+
|
|
93
|
+
```arch-chroot /mnt```
|
|
94
|
+
|
|
95
|
+
```ln -sf /proc/self/mounts /etc/mtab```
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
# install Archlinux
|
|
3
99
|
```password```
|
|
4
100
|
|
|
5
101
|
```systemctl start sshd```
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"archinstall-language": "Italian",
|
|
3
|
+
"bootloader": "grub-install",
|
|
4
|
+
"config_version": "2.5.1",
|
|
5
|
+
"debug": false,
|
|
6
|
+
"harddrives": [
|
|
7
|
+
"/dev/sda"
|
|
8
|
+
],
|
|
9
|
+
"hostname": "naked",
|
|
10
|
+
"keyboard-layout": "it",
|
|
11
|
+
"mirror-region": {
|
|
12
|
+
"Italy": {
|
|
13
|
+
"http://archlinux.mirror.garr.it/archlinux/$repo/os/$arch": true,
|
|
14
|
+
"http://archlinux.mirror.server24.net/$repo/os/$arch": true,
|
|
15
|
+
"https://archlinux.mirror.server24.net/$repo/os/$arch": true,
|
|
16
|
+
"https://archmirror.it/repos/$repo/os/$arch": true
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"nic": {
|
|
20
|
+
"dhcp": true,
|
|
21
|
+
"dns": null,
|
|
22
|
+
"gateway": null,
|
|
23
|
+
"iface": null,
|
|
24
|
+
"ip": null,
|
|
25
|
+
"type": "nm"
|
|
26
|
+
},
|
|
27
|
+
"no_pkg_lookups": false,
|
|
28
|
+
"offline": false,
|
|
29
|
+
"packages": [
|
|
30
|
+
"bash-completion",
|
|
31
|
+
"git",
|
|
32
|
+
"nano"
|
|
33
|
+
],
|
|
34
|
+
"profile": {
|
|
35
|
+
"path": "/usr/lib/python3.10/site-packages/archinstall/profiles/minimal.py"
|
|
36
|
+
},
|
|
37
|
+
"script": "guided",
|
|
38
|
+
"silent": false,
|
|
39
|
+
"sys-language": "it_IT.UTF-8",
|
|
40
|
+
"timezone": "Europe/Rome",
|
|
41
|
+
"version": "2.5.1"
|
|
42
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"/dev/sda": {
|
|
3
|
+
"partitions": [
|
|
4
|
+
{
|
|
5
|
+
"boot": true,
|
|
6
|
+
"encrypted": false,
|
|
7
|
+
"filesystem": {
|
|
8
|
+
"format": "fat32"
|
|
9
|
+
},
|
|
10
|
+
"mountpoint": "/boot",
|
|
11
|
+
"size": "512MiB",
|
|
12
|
+
"start": "1MiB",
|
|
13
|
+
"type": "primary",
|
|
14
|
+
"wipe": true
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"encrypted": false,
|
|
18
|
+
"filesystem": {
|
|
19
|
+
"format": "ext4",
|
|
20
|
+
"mount_options": []
|
|
21
|
+
},
|
|
22
|
+
"mountpoint": "/",
|
|
23
|
+
"size": "100%",
|
|
24
|
+
"start": "513MiB",
|
|
25
|
+
"type": "primary",
|
|
26
|
+
"wipe": true
|
|
27
|
+
}
|
|
28
|
+
],
|
|
29
|
+
"wipe": true
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -6,8 +6,3 @@ FILES=()
|
|
|
6
6
|
HOOKS=(base udev modconf memdisk archiso archiso_loop_mnt archiso_pxe_common archiso_pxe_nbd archiso_pxe_http archiso_pxe_nfs archiso_kms block filesystems keyboard)
|
|
7
7
|
COMPRESSION="zsd"
|
|
8
8
|
#COMPRESSION_OPTIONS=()
|
|
9
|
-
|
|
10
|
-
# manjaro mkinitcpio-produce.conf
|
|
11
|
-
# MODULES="loop dm-snapshot"
|
|
12
|
-
# HOOKS="base udev miso_shutdown miso miso_loop_mnt miso_kms modconf block filesystems keyboard keymap"
|
|
13
|
-
# COMPRESSION="zstd"
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
# manjaro linux Qono krill producing iso
|
|
2
2
|
MODULES="loop dm-snapshot"
|
|
3
|
-
HOOKS="base udev miso_shutdown miso miso_loop_mnt miso_kms modconf block filesystems keyboard keymap"
|
|
3
|
+
#HOOKS="base udev miso_shutdown miso miso_loop_mnt miso_kms modconf block filesystems keyboard keymap"
|
|
4
|
+
HOOKS="base udev miso_shutdown miso miso_loop_mnt miso_kms miso_pxe_common miso_pxe_http modconf block filesystems keyboard keymap"
|
|
4
5
|
COMPRESSION="zstd"
|
|
5
|
-
|
|
6
|
+
# richiede mkinitcpio-nfs-utils
|
|
6
7
|
|
|
7
8
|
# HOOKS="base udev pe_miso_shutdown pe_miso pe_miso_loop_mnt pe_miso_kms modconf block filesystems keyboard keymap"
|
|
9
|
+
|