penguins-eggs 9.3.1 → 9.3.3
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 +32 -27
- package/conf/distros/bionic/README.md +1 -1
- package/conf/distros/bionic/calamares/settings.yml +1 -1
- package/conf/distros/buster/calamares/calamares-modules/dpkg-unsafe-io/module.yml +1 -1
- package/conf/distros/buster/calamares/calamares-modules/dpkg-unsafe-io-undo/module.yml +1 -1
- package/conf/distros/buster/calamares/calamares-modules/sources-yolk/sources-yolk.sh +56 -79
- package/conf/distros/buster/calamares/calamares-modules/{sources-yolk-unmount → sources-yolk-undo}/module.yml +2 -2
- package/conf/distros/buster/calamares/modules/packages.yml +2 -4
- package/conf/distros/buster/calamares/settings.yml +3 -3
- package/conf/distros/focal/calamares/settings.yml +1 -1
- package/conf/distros/jessie/krill/krill-modules/sources-yolk-unmount/module.yml +2 -2
- package/conf/distros/jessie/krill/settings.yml +1 -1
- package/conf/exclude.list +3 -0
- package/dist/classes/incubation/distros/bionic.js +1 -1
- package/dist/classes/incubation/distros/buster.js +2 -2
- package/dist/classes/incubation/distros/focal.js +1 -1
- package/dist/classes/incubation/distros/jessie.js +1 -1
- package/dist/classes/incubation/fisherman-helper/packages.js +24 -31
- package/dist/classes/incubation/fisherman.js +8 -5
- package/dist/classes/incubation/incubator.js +2 -1
- package/dist/classes/pacman.js +5 -5
- package/dist/classes/pxe.js +3 -3
- package/dist/krill/krill-sequence.js +26 -6
- package/dist/krill/modules/packages.js +40 -34
- package/package.json +1 -1
- package/conf/distros/buster/calamares/calamares-modules/sources-yolk/sources-yolk.working.sh +0 -75
- package/scripts/netgrub.sh +0 -39
package/.oclif.manifest.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"9.3.1","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},"clean":{"name":"clean","type":"boolean","char":"c","description":"remove old .deb before to copy","allowNo":false},"amd64":{"name":"amd64","type":"boolean","description":"export amd64 arch","allowNo":false},"i386":{"name":"i386","type":"boolean","description":"export i386 arch","allowNo":false},"armel":{"name":"armel","type":"boolean","description":"export armel arch","allowNo":false},"arm64":{"name":"arm64","type":"boolean","description":"export arm64 arch","allowNo":false},"all":{"name":"all","type":"boolean","char":"a","description":"export all archs","allowNo":false}},"args":[]},"export:docs":{"id":"export:docs","description":"remove and export docType documentation of the sources 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}},"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}},"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.3","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},"clean":{"name":"clean","type":"boolean","char":"c","description":"remove old .deb before to copy","allowNo":false},"amd64":{"name":"amd64","type":"boolean","description":"export amd64 arch","allowNo":false},"i386":{"name":"i386","type":"boolean","description":"export i386 arch","allowNo":false},"armel":{"name":"armel","type":"boolean","description":"export armel arch","allowNo":false},"arm64":{"name":"arm64","type":"boolean","description":"export arm64 arch","allowNo":false},"all":{"name":"all","type":"boolean","char":"a","description":"export all archs","allowNo":false}},"args":[]},"export:docs":{"id":"export:docs","description":"remove and export docType documentation of the sources 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}},"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}},"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
|
@@ -12,13 +12,13 @@ penguins-eggs
|
|
|
12
12
|
[](https://sourceforge.net/projects/penguins-eggs/files/DEBS)
|
|
13
13
|
[](https://sourceforge.net/projects/penguins-eggs/files/PKGBUILD)
|
|
14
14
|
[](https://sourceforge.net/projects/penguins-eggs/files/ISOS)
|
|
15
|
-
|
|
15
|
+
[](https://sourceforge.net/projects/penguins-eggs/files/latest/download)
|
|
16
16
|
|
|
17
17
|
# Index
|
|
18
18
|
<!-- toc -->
|
|
19
19
|
* [Index](#index)
|
|
20
20
|
* [Presentation](#presentation)
|
|
21
|
-
* [
|
|
21
|
+
* [Technology](#technology)
|
|
22
22
|
* [Features](#features)
|
|
23
23
|
* [Packages](#packages)
|
|
24
24
|
* [Usage](#usage)
|
|
@@ -28,16 +28,16 @@ penguins-eggs
|
|
|
28
28
|
<!-- tocstop -->
|
|
29
29
|
|
|
30
30
|
# Presentation
|
|
31
|
-
penguins-eggs is a console utility, under continuous development, that allows you to remaster your system and redistribute it as iso images.
|
|
31
|
+
**penguins-eggs** is a console utility, under continuous development, that allows you to remaster your system and redistribute it as iso images.
|
|
32
32
|
|
|
33
33
|
The purpose of this project is to implement the process of remastering your own version of Linux, generate it as an ISO image to burn to a CD/DVD or copy to a USB stick to boot your system. The default behavior is total removal of the system's data and users, but it is also possible to remaster the system including the data and accounts of present users, use flag **--clone**. It is also possible to keep the users and files present under an encrypted LUKS file within the same resulting iso file, flag **--backup**.
|
|
34
34
|
|
|
35
|
-
You can easily install the resulting live system with the calamares installer or the internal TUI krill installer. It is possible to have also unattended installation using
|
|
35
|
+
You can easily install the resulting live system with the calamares installer or the internal TUI krill installer. It is possible to have also unattended installation using **--unattended** flag.
|
|
36
36
|
|
|
37
37
|
Thanks to the wardrobe, you can create or use scripts to switch from a "naked" version - with only a CLI interface - and "wear" it with a full GUI or server configurations. See [penguins-wardrobe](https://github.com/pieroproietti/penguins-wardrobe), fork it and adapt it to yours needs.
|
|
38
38
|
|
|
39
39
|
|
|
40
|
-
#
|
|
40
|
+
# Technology
|
|
41
41
|
|
|
42
42
|
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.
|
|
43
43
|
|
|
@@ -52,9 +52,9 @@ The cuckoo lays its eggs in the nests of other birds, and the eggs are hatched b
|
|
|
52
52
|
|
|
53
53
|
We have two methods to save in the live system all our data: clone and backup.
|
|
54
54
|
|
|
55
|
-
```eggs
|
|
55
|
+
```eggs produce --fast --clone``` 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.
|
|
56
56
|
|
|
57
|
-
```eggs
|
|
57
|
+
```eggs produce --fast --backup``` 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.
|
|
58
58
|
|
|
59
59
|
* ```eggs produce``` this is the default: all private data are removed on the live.
|
|
60
60
|
* ```eggs produce --clone``` include all users data UNCRYPTED directly on the live.
|
|
@@ -66,7 +66,7 @@ Using ```sudo eggs install --cli``` will automaticaly restore your CRYPTED backu
|
|
|
66
66
|
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.
|
|
67
67
|
|
|
68
68
|
## GUI calamares or TUI krill installer
|
|
69
|
-
eggs include a TUI installer named krill, this let you to produce and install servers configurations. krill use a nice TUI interface using the same, configuration created by eggs for [calamares](calamares.io). This lead to have "about the same" experience installing, from old distros to new ones and for GUI and CLI. It's possible with krill to do unattended installations, simply add ```--unattended``` flag and the values in ```/etc/penguins-eggs.d/krill.yaml``` will be used for installation.
|
|
69
|
+
eggs include a TUI installer named krill, this let you to produce and install servers configurations. krill use a nice TUI interface using the same, configuration created by eggs for [calamares](https://calamares.io/). This lead to have "about the same" experience installing, from old distros to new ones and for GUI and CLI. It's possible with krill to do unattended installations, simply add ```--unattended``` flag and the values in ```/etc/penguins-eggs.d/krill.yaml``` will be used for installation.
|
|
70
70
|
|
|
71
71
|
## helper: mom and dad
|
|
72
72
|
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.
|
|
@@ -86,7 +86,7 @@ You can read more in wardrobe on [penguin's eggs blog](https://penguins-eggs.net
|
|
|
86
86
|
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.
|
|
87
87
|
|
|
88
88
|
## Debian families
|
|
89
|
-
eggs is released deb packages for amd64, armel and arm64 architectures. Due the characteristic of eggs, they can installed in Debian, Devuan or Ubuntu based distros,
|
|
89
|
+
eggs is released deb packages for amd64, armel and arm64 architectures. Due the characteristic of eggs, they can installed in Debian, Devuan or Ubuntu based distros, without worries about different versions, except for the architecture. It include standard scripts for preinst, postinst, prerm and postrm.
|
|
90
90
|
|
|
91
91
|
### Install eggs
|
|
92
92
|
There are more than a way to install eggs as .deb package, the most common it's to add and use penguins-eggs-ppa.
|
|
@@ -96,11 +96,16 @@ There are more than a way to install eggs as .deb package, the most common it's
|
|
|
96
96
|
eggs have it's repository ppa, You can use it, copy and paste in a terminal window the following two lines:
|
|
97
97
|
|
|
98
98
|
```
|
|
99
|
-
curl -
|
|
100
|
-
|
|
99
|
+
curl -fsSL https://pieroproietti.github.io/penguins-eggs-ppa/KEY.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/penguins-eggs.gpg
|
|
100
|
+
echo "deb [arch=$(dpkg --print-architecture)] https://pieroproietti.github.io/penguins-eggs-ppa ./" | sudo tee /etc/apt/sources.list.d/penguins-eggs.list > /dev/null
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Update your repositories and install eggs:
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
sudo apt update && sudo apt install eggs
|
|
101
107
|
```
|
|
102
108
|
|
|
103
|
-
Update your repositories: **sudo apt update** and install eggs: **sudo apt install eggs**.
|
|
104
109
|
|
|
105
110
|
#### Download the package and install with dpkg
|
|
106
111
|
|
|
@@ -128,7 +133,7 @@ The same for manjaroLinux: ```git clone https://github.com/pieroproietti/penguin
|
|
|
128
133
|
|
|
129
134
|
# Usage
|
|
130
135
|
|
|
131
|
-
Once the package has been installed, you can have the new ```eggs``` command. Typing ```eggs``` will get the list of commands, typing ```eggs
|
|
136
|
+
Once the package has been installed, you can have the new ```eggs``` command. Typing ```eggs``` will get the list of commands, typing ```eggs produce --help``` will get the eggs produce command help screen. You can also use the command autocomplete with the TABS key, you will get the possible choices for each command. In addition, there is a man page, so by typing ```man eggs``` you will get that help as well. A more guided approach can be made usind ```eggs mom```, will present a menu with various commands.
|
|
132
137
|
|
|
133
138
|
## Examples
|
|
134
139
|
|
|
@@ -198,7 +203,7 @@ DESCRIPTION
|
|
|
198
203
|
adapt monitor resolution for VM only
|
|
199
204
|
```
|
|
200
205
|
|
|
201
|
-
_See code: [dist/commands/adapt.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
206
|
+
_See code: [dist/commands/adapt.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.3/dist/commands/adapt.js)_
|
|
202
207
|
|
|
203
208
|
## `eggs analyze`
|
|
204
209
|
|
|
@@ -219,7 +224,7 @@ EXAMPLES
|
|
|
219
224
|
$ sudo eggs analyze
|
|
220
225
|
```
|
|
221
226
|
|
|
222
|
-
_See code: [dist/commands/analyze.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
227
|
+
_See code: [dist/commands/analyze.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.3/dist/commands/analyze.js)_
|
|
223
228
|
|
|
224
229
|
## `eggs autocomplete [SHELL]`
|
|
225
230
|
|
|
@@ -277,7 +282,7 @@ EXAMPLES
|
|
|
277
282
|
install calamares and create it's configuration's files
|
|
278
283
|
```
|
|
279
284
|
|
|
280
|
-
_See code: [dist/commands/calamares.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
285
|
+
_See code: [dist/commands/calamares.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.3/dist/commands/calamares.js)_
|
|
281
286
|
|
|
282
287
|
## `eggs config`
|
|
283
288
|
|
|
@@ -301,7 +306,7 @@ EXAMPLES
|
|
|
301
306
|
Configure and install prerequisites deb packages to run it
|
|
302
307
|
```
|
|
303
308
|
|
|
304
|
-
_See code: [dist/commands/config.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
309
|
+
_See code: [dist/commands/config.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.3/dist/commands/config.js)_
|
|
305
310
|
|
|
306
311
|
## `eggs cuckoo`
|
|
307
312
|
|
|
@@ -322,7 +327,7 @@ EXAMPLES
|
|
|
322
327
|
start a PXE server with dhcp-proxy (can coexists with a real dhcp server)
|
|
323
328
|
```
|
|
324
329
|
|
|
325
|
-
_See code: [dist/commands/cuckoo.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
330
|
+
_See code: [dist/commands/cuckoo.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.3/dist/commands/cuckoo.js)_
|
|
326
331
|
|
|
327
332
|
## `eggs dad`
|
|
328
333
|
|
|
@@ -342,7 +347,7 @@ DESCRIPTION
|
|
|
342
347
|
ask help from daddy - configuration helper
|
|
343
348
|
```
|
|
344
349
|
|
|
345
|
-
_See code: [dist/commands/dad.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
350
|
+
_See code: [dist/commands/dad.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.3/dist/commands/dad.js)_
|
|
346
351
|
|
|
347
352
|
## `eggs export deb`
|
|
348
353
|
|
|
@@ -446,7 +451,7 @@ EXAMPLES
|
|
|
446
451
|
Install the system using krill installer
|
|
447
452
|
```
|
|
448
453
|
|
|
449
|
-
_See code: [dist/commands/install.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
454
|
+
_See code: [dist/commands/install.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.3/dist/commands/install.js)_
|
|
450
455
|
|
|
451
456
|
## `eggs kill`
|
|
452
457
|
|
|
@@ -468,7 +473,7 @@ EXAMPLES
|
|
|
468
473
|
kill the eggs/free the nest
|
|
469
474
|
```
|
|
470
475
|
|
|
471
|
-
_See code: [dist/commands/kill.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
476
|
+
_See code: [dist/commands/kill.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.3/dist/commands/kill.js)_
|
|
472
477
|
|
|
473
478
|
## `eggs mom`
|
|
474
479
|
|
|
@@ -485,7 +490,7 @@ DESCRIPTION
|
|
|
485
490
|
ask for mommy - gui helper
|
|
486
491
|
```
|
|
487
492
|
|
|
488
|
-
_See code: [dist/commands/mom.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
493
|
+
_See code: [dist/commands/mom.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.3/dist/commands/mom.js)_
|
|
489
494
|
|
|
490
495
|
## `eggs produce`
|
|
491
496
|
|
|
@@ -547,7 +552,7 @@ EXAMPLES
|
|
|
547
552
|
in /home/eggs/ovarium and you can customize all you need
|
|
548
553
|
```
|
|
549
554
|
|
|
550
|
-
_See code: [dist/commands/produce.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
555
|
+
_See code: [dist/commands/produce.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.3/dist/commands/produce.js)_
|
|
551
556
|
|
|
552
557
|
## `eggs status`
|
|
553
558
|
|
|
@@ -565,7 +570,7 @@ DESCRIPTION
|
|
|
565
570
|
informations about eggs status
|
|
566
571
|
```
|
|
567
572
|
|
|
568
|
-
_See code: [dist/commands/status.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
573
|
+
_See code: [dist/commands/status.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.3/dist/commands/status.js)_
|
|
569
574
|
|
|
570
575
|
## `eggs syncfrom`
|
|
571
576
|
|
|
@@ -589,7 +594,7 @@ EXAMPLES
|
|
|
589
594
|
$ sudo eggs restore
|
|
590
595
|
```
|
|
591
596
|
|
|
592
|
-
_See code: [dist/commands/syncfrom.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
597
|
+
_See code: [dist/commands/syncfrom.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.3/dist/commands/syncfrom.js)_
|
|
593
598
|
|
|
594
599
|
## `eggs syncto`
|
|
595
600
|
|
|
@@ -612,7 +617,7 @@ EXAMPLES
|
|
|
612
617
|
$ sudo eggs syncto
|
|
613
618
|
```
|
|
614
619
|
|
|
615
|
-
_See code: [dist/commands/syncto.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
620
|
+
_See code: [dist/commands/syncto.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.3/dist/commands/syncto.js)_
|
|
616
621
|
|
|
617
622
|
## `eggs tools clean`
|
|
618
623
|
|
|
@@ -725,7 +730,7 @@ EXAMPLES
|
|
|
725
730
|
update/upgrade the penguin's eggs tool
|
|
726
731
|
```
|
|
727
732
|
|
|
728
|
-
_See code: [dist/commands/update.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.
|
|
733
|
+
_See code: [dist/commands/update.js](https://github.com/pieroproietti/penguins-eggs/blob/v9.3.3/dist/commands/update.js)_
|
|
729
734
|
|
|
730
735
|
## `eggs version`
|
|
731
736
|
|
|
@@ -13,7 +13,7 @@ It take all configuration of Debian buster
|
|
|
13
13
|
* /calamares/calamares-modules/grubcfg original
|
|
14
14
|
* /calamares/calamares-modules/remove-link from buster
|
|
15
15
|
* /calamares/calamares-modules/sources-yolk from buster
|
|
16
|
-
* /calamares/calamares-modules/sources-yolk-
|
|
16
|
+
* /calamares/calamares-modules/sources-yolk-undo from buster
|
|
17
17
|
|
|
18
18
|
* /calamares/modules/bootloader.yml original
|
|
19
19
|
* /calamares/modules/displaymanager.yml from focal
|
|
@@ -1,105 +1,82 @@
|
|
|
1
|
-
#!/bin/
|
|
1
|
+
#!/bin/sh
|
|
2
2
|
|
|
3
3
|
#
|
|
4
|
-
#
|
|
5
|
-
#
|
|
6
|
-
#
|
|
7
|
-
#
|
|
8
|
-
#
|
|
9
|
-
|
|
4
|
+
# We use just yolk during installation
|
|
5
|
+
#
|
|
6
|
+
# sources-yolk.sh
|
|
7
|
+
# add yolk, rimuove LIST, LIST.d ed esegue apt non autenticato
|
|
8
|
+
#
|
|
9
|
+
# sources-yolk.sh -u
|
|
10
|
+
# remove yolk, restore LIST, LIST.d ed esegue apt non autenticato
|
|
10
11
|
|
|
11
|
-
|
|
12
|
-
#
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
# if u = unmount restore_apt
|
|
12
|
+
#
|
|
13
|
+
#
|
|
14
|
+
#
|
|
15
|
+
main() {
|
|
16
16
|
if [ "$1" = "-u" ]; then
|
|
17
|
-
|
|
18
|
-
restore_apt
|
|
17
|
+
restore
|
|
19
18
|
else
|
|
20
|
-
|
|
21
|
-
clean_backup
|
|
22
|
-
backup_apt
|
|
23
|
-
|
|
24
|
-
clean_apt
|
|
19
|
+
backup
|
|
25
20
|
yolk
|
|
26
21
|
fi
|
|
22
|
+
sync
|
|
23
|
+
exit 0
|
|
27
24
|
}
|
|
28
25
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
mkdir "$APT_BACKUP" -p
|
|
36
|
-
if [ -f "$APT_ROOT/sources.list" ]; then
|
|
37
|
-
mv "$APT_ROOT/sources.list" "$APT_BACKUP"
|
|
38
|
-
fi
|
|
39
|
-
if [ -d "$APT_ROOT/sources.list.d" ]; then
|
|
40
|
-
mv "$APT_ROOT/sources.list.d/" "$APT_BACKUP"
|
|
26
|
+
#
|
|
27
|
+
#
|
|
28
|
+
#
|
|
29
|
+
backup() {
|
|
30
|
+
if [ -f "$BACKUP" ]; then
|
|
31
|
+
rm -f "$BACKUP"
|
|
41
32
|
fi
|
|
42
|
-
}
|
|
43
33
|
|
|
34
|
+
if [ -d "$BACKUP_D" ]; then
|
|
35
|
+
rm -rf "$BACKUP_D"
|
|
36
|
+
fi
|
|
44
37
|
|
|
38
|
+
mv "$LIST" "$BACKUP"
|
|
45
39
|
|
|
46
|
-
|
|
47
|
-
# function restore_apt
|
|
48
|
-
##############################
|
|
49
|
-
function restore_apt {
|
|
50
|
-
mv "$APT_BACKUP/sources.list" "$APT_ROOT"
|
|
51
|
-
mv "$APT_BACKUP/sources.list.d/" "$APT_ROOT"
|
|
40
|
+
mv "$LIST_D" "$BACKUP_D"
|
|
52
41
|
}
|
|
53
42
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
if [ -f "$APT_ROOT/sources.list" ]; then
|
|
61
|
-
rm "$APT_ROOT/sources.list"
|
|
62
|
-
fi
|
|
63
|
-
if [ -d "$APT_ROOT/sources.list.d" ]; then
|
|
64
|
-
rm "$APT_ROOT/sources.list.d" -rf
|
|
43
|
+
#
|
|
44
|
+
#
|
|
45
|
+
#
|
|
46
|
+
restore() {
|
|
47
|
+
if [ -f "$LIST" ]; then
|
|
48
|
+
rm -f "$LIST"
|
|
65
49
|
fi
|
|
66
|
-
}
|
|
67
50
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
# function: clean_backup
|
|
71
|
-
##############################
|
|
72
|
-
function clean_backup {
|
|
73
|
-
if [ -d "$APT_BACKUP" ]; then
|
|
74
|
-
rm "$APT_BACKUP" -rf
|
|
51
|
+
if [ -d "$LIST_D" ]; then
|
|
52
|
+
rm -rf "$LIST_D"
|
|
75
53
|
fi
|
|
76
|
-
}
|
|
77
54
|
|
|
55
|
+
mv "$BACKUP" "$LIST"
|
|
78
56
|
|
|
57
|
+
mv "$BACKUP_D" "$LIST_D"
|
|
58
|
+
}
|
|
79
59
|
|
|
80
|
-
|
|
81
|
-
#
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
deb [trusted=yes] file:///var/local/yolk /
|
|
89
|
-
EOF
|
|
90
|
-
|
|
91
|
-
# apt-get update
|
|
92
|
-
chroot "${CHROOT}" apt-get --allow-unauthenticated update -y
|
|
60
|
+
#
|
|
61
|
+
#
|
|
62
|
+
#
|
|
63
|
+
yolk() {
|
|
64
|
+
mkdir -p "$LIST_D"
|
|
65
|
+
echo "deb [trusted=yes] file:/var/local/yolk ./" > "$LIST_D/yolk.list"
|
|
66
|
+
touch "$LIST"
|
|
67
|
+
chroot "$CHROOT" apt-get update
|
|
93
68
|
}
|
|
94
69
|
|
|
70
|
+
#
|
|
71
|
+
# WE START HERE
|
|
72
|
+
#
|
|
73
|
+
CHROOT=$(mount | grep proc | grep calamares | awk '{print $3}' | sed -e "s#/proc##g")
|
|
95
74
|
|
|
75
|
+
LIST="$CHROOT/etc/apt/sources.list"
|
|
76
|
+
BACKUP="$LIST.backup"
|
|
77
|
+
|
|
78
|
+
LIST_D="$LIST.d"
|
|
79
|
+
BACKUP_D="$LIST_D.backup"
|
|
96
80
|
|
|
97
|
-
##############################
|
|
98
|
-
# PROCESS START HERE!!!
|
|
99
|
-
# CHROOT=$(mount | grep proc | grep calamares | awk '{print $3}' | sed -e "s#/proc##g")
|
|
100
|
-
##############################
|
|
101
|
-
CHROOT=$(mount | grep proc | grep calamares | awk '{print $3}' | sed -e "s#/proc##g")
|
|
102
|
-
APT_ROOT="${CHROOT}/etc/apt"
|
|
103
|
-
APT_BACKUP="/tmp/calamares-krill-temp"
|
|
104
81
|
main "$1"
|
|
105
|
-
|
|
82
|
+
|
|
@@ -65,7 +65,7 @@ sequence:
|
|
|
65
65
|
- partition
|
|
66
66
|
- mount
|
|
67
67
|
- unpackfs
|
|
68
|
-
|
|
68
|
+
- dpkg-unsafe-io
|
|
69
69
|
- sources-yolk
|
|
70
70
|
{{hasSystemd}}machineid
|
|
71
71
|
- fstab
|
|
@@ -85,9 +85,9 @@ sequence:
|
|
|
85
85
|
- plymouthcfg
|
|
86
86
|
- initramfscfg
|
|
87
87
|
- initramfs
|
|
88
|
-
|
|
88
|
+
- dpkg-unsafe-io-undo
|
|
89
89
|
- removeuser
|
|
90
|
-
- sources-yolk-
|
|
90
|
+
- sources-yolk-undo
|
|
91
91
|
- cleanup
|
|
92
92
|
- umount
|
|
93
93
|
|
package/conf/exclude.list
CHANGED
|
@@ -59,7 +59,7 @@ class Bionic {
|
|
|
59
59
|
await fisherman.buildCalamaresModule('add386arch', false);
|
|
60
60
|
await fisherman.modulePackages(this.distro, this.release); //
|
|
61
61
|
await fisherman.moduleRemoveuser(this.user_opt); //
|
|
62
|
-
await fisherman.buildCalamaresModule('sources-yolk-
|
|
62
|
+
await fisherman.buildCalamaresModule('sources-yolk-undo', false);
|
|
63
63
|
await fisherman.buildCalamaresModule('cleanup', true);
|
|
64
64
|
await fisherman.buildModule('umount');
|
|
65
65
|
await fisherman.buildModule('finished');
|
|
@@ -61,9 +61,9 @@ class Buster {
|
|
|
61
61
|
await fisherman.buildModule('plymouthcfg');
|
|
62
62
|
await fisherman.buildModule('initramfscfg');
|
|
63
63
|
await fisherman.buildModule('initramfs');
|
|
64
|
-
await fisherman.moduleRemoveuser(this.user_opt);
|
|
65
64
|
await fisherman.buildCalamaresModule('dpkg-unsafe-io-undo', false);
|
|
66
|
-
await fisherman.
|
|
65
|
+
await fisherman.moduleRemoveuser(this.user_opt);
|
|
66
|
+
await fisherman.buildCalamaresModule('sources-yolk-undo', false);
|
|
67
67
|
await fisherman.buildCalamaresModule('cleanup', true);
|
|
68
68
|
await fisherman.buildModule('umount');
|
|
69
69
|
await fisherman.moduleFinished();
|
|
@@ -63,7 +63,7 @@ class Focal {
|
|
|
63
63
|
await fisherman.modulePackages(this.distro, this.release); //
|
|
64
64
|
await fisherman.moduleRemoveuser(this.user_opt);
|
|
65
65
|
await fisherman.buildCalamaresModule('sources-yolk', false);
|
|
66
|
-
await fisherman.buildCalamaresModule('sources-yolk-
|
|
66
|
+
await fisherman.buildCalamaresModule('sources-yolk-undo', false);
|
|
67
67
|
await fisherman.buildCalamaresModule('cleanup', true);
|
|
68
68
|
await fisherman.buildModule('umount');
|
|
69
69
|
await fisherman.buildModule('finished');
|
|
@@ -41,7 +41,7 @@ class Jessie {
|
|
|
41
41
|
await fisherman.buildModule('partition', this.remix.branding);
|
|
42
42
|
await fisherman.buildCalamaresModule('sources-yolk', true);
|
|
43
43
|
await fisherman.moduleRemoveuser(this.user_opt);
|
|
44
|
-
await fisherman.buildCalamaresModule('sources-yolk-
|
|
44
|
+
await fisherman.buildCalamaresModule('sources-yolk-undo', false);
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
exports.Jessie = Jessie;
|
|
@@ -2,70 +2,63 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.tryInstall = exports.remove = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
/**
|
|
6
|
-
*
|
|
7
|
-
*/
|
|
8
5
|
const pacman_1 = tslib_1.__importDefault(require("../../pacman"));
|
|
9
6
|
/**
|
|
10
|
-
* Work only with:
|
|
11
|
-
* - calamares
|
|
12
|
-
* - penguins-eggs
|
|
13
7
|
*
|
|
14
|
-
*
|
|
8
|
+
* @param distro
|
|
9
|
+
* @returns yaml-string
|
|
15
10
|
*/
|
|
16
11
|
function remove(distro) {
|
|
17
|
-
let
|
|
12
|
+
let packages = ["calamares"];
|
|
18
13
|
if (distro.familyId === 'archlinux') {
|
|
19
|
-
|
|
14
|
+
packages.push("penguins-eggs");
|
|
20
15
|
}
|
|
21
16
|
if (distro.familyId === 'debian') {
|
|
22
|
-
|
|
17
|
+
packages.push("eggs");
|
|
18
|
+
}
|
|
19
|
+
let yaml = '';
|
|
20
|
+
for (const elem of packages) {
|
|
21
|
+
yaml += ` - ${elem.trim()}\n`;
|
|
23
22
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
text += ` - ${elem.trim()}\n`;
|
|
23
|
+
if (yaml !== '') {
|
|
24
|
+
yaml = '- remove:\n' + yaml;
|
|
27
25
|
}
|
|
28
|
-
return
|
|
26
|
+
return yaml;
|
|
29
27
|
}
|
|
30
28
|
exports.remove = remove;
|
|
31
29
|
/**
|
|
32
30
|
*
|
|
33
31
|
* @param distro
|
|
34
|
-
|
|
35
|
-
- language-pack-$LOCALE
|
|
36
|
-
- hunspell-$LOCALE
|
|
37
|
-
- libreoffice-help-$LOCALE
|
|
38
|
-
|
|
32
|
+
* @returns yaml-string
|
|
39
33
|
*/
|
|
40
34
|
function tryInstall(distro) {
|
|
41
|
-
let
|
|
35
|
+
let yaml = '';
|
|
42
36
|
/**
|
|
43
37
|
* Depending on the distro
|
|
44
38
|
*/
|
|
45
39
|
if (distro.distroLike === 'Ubuntu') {
|
|
46
|
-
|
|
40
|
+
yaml += ' - language-pack-$LOCALE\n';
|
|
47
41
|
}
|
|
48
42
|
// Da localizzare se presenti
|
|
49
43
|
if (pacman_1.default.packageIsInstalled('hunspell')) {
|
|
50
|
-
|
|
44
|
+
yaml += ' - hunspell-$LOCALE\n';
|
|
51
45
|
}
|
|
52
46
|
if (pacman_1.default.packageIsInstalled('libreoffice-base-core')) {
|
|
53
|
-
|
|
54
|
-
|
|
47
|
+
yaml += ` - libreoffice-l10n-$LOCALE\n`;
|
|
48
|
+
yaml += ` - libreoffice-help-$LOCALE\n`;
|
|
55
49
|
}
|
|
56
50
|
if (pacman_1.default.packageIsInstalled('firefox-esr')) {
|
|
57
|
-
|
|
51
|
+
yaml += ` - firefox-esr-$LOCALE\n`;
|
|
58
52
|
}
|
|
59
53
|
if (pacman_1.default.packageIsInstalled('firefox')) {
|
|
60
|
-
|
|
54
|
+
yaml += ` - firefox-$LOCALE\n`;
|
|
61
55
|
}
|
|
62
56
|
if (pacman_1.default.packageIsInstalled('thunderbird')) {
|
|
63
|
-
|
|
57
|
+
yaml += ` - thunderbird-locale-$LOCALE\n`;
|
|
64
58
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
retVal += ' - try_install:\n' + packages;
|
|
59
|
+
if (yaml !== '') {
|
|
60
|
+
yaml = ' - try_install:\n' + yaml;
|
|
68
61
|
}
|
|
69
|
-
return
|
|
62
|
+
return yaml;
|
|
70
63
|
}
|
|
71
64
|
exports.tryInstall = tryInstall;
|
|
@@ -232,13 +232,16 @@ class Fisherman {
|
|
|
232
232
|
const removePackages = require('./fisherman-helper/packages').remove;
|
|
233
233
|
const tryInstall = require('./fisherman-helper/packages').tryInstall;
|
|
234
234
|
this.buildModule(name);
|
|
235
|
-
let
|
|
235
|
+
let yamlInstall = tryInstall(distro);
|
|
236
|
+
let yamlRemove = '';
|
|
236
237
|
if (release) {
|
|
237
|
-
|
|
238
|
+
yamlRemove = removePackages(distro);
|
|
238
239
|
}
|
|
239
|
-
let
|
|
240
|
-
|
|
241
|
-
|
|
240
|
+
let operations = '';
|
|
241
|
+
if (yamlRemove !== '' || yamlInstall !== '') {
|
|
242
|
+
operations = "operations:\n" + yamlRemove + yamlInstall;
|
|
243
|
+
}
|
|
244
|
+
shelljs_1.default.sed('-i', '{{operations}}', operations, this.installer.modules + name + '.conf');
|
|
242
245
|
}
|
|
243
246
|
/**
|
|
244
247
|
* Al momento rimane con la vecchia configurazione
|
|
@@ -233,7 +233,8 @@ class Incubator {
|
|
|
233
233
|
process.exit();
|
|
234
234
|
}
|
|
235
235
|
// script di avvio
|
|
236
|
-
shelljs_1.default.cp(node_path_1.default.resolve(__dirname, '../../../assets/calamares/install-debian'), '/sbin/install-debian');
|
|
236
|
+
shelljs_1.default.cp(node_path_1.default.resolve(__dirname, '../../../assets/calamares/install-debian'), '/usr/sbin/install-debian');
|
|
237
|
+
shelljs_1.default.chmod('+x', '/usr/sbin/install-debian');
|
|
237
238
|
}
|
|
238
239
|
}
|
|
239
240
|
/**
|
package/dist/classes/pacman.js
CHANGED
|
@@ -537,7 +537,7 @@ class Pacman {
|
|
|
537
537
|
// Poi da buster
|
|
538
538
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/cleanup ${dest}/calamares/calamares-modules/cleanup`, echo);
|
|
539
539
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/sources-yolk ${dest}/calamares/calamares-modules/sources-yolk`, echo);
|
|
540
|
-
await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/sources-yolk-
|
|
540
|
+
await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/sources-yolk-undo ${dest}/calamares/calamares-modules/sources-yolk-undo`, echo);
|
|
541
541
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/modules/packages.yml ${dest}/calamares/modules/packages.yml`, echo);
|
|
542
542
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/modules/removeuser.yml ${dest}/calamares/modules/removeuser.yml`, echo);
|
|
543
543
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/modules/unpackfs.yml ${dest}/calamares/modules/unpackfs.yml`, echo);
|
|
@@ -552,7 +552,7 @@ class Pacman {
|
|
|
552
552
|
await (0, utils_2.exec)(`cp -r ${focal} ${dest}`, echo);
|
|
553
553
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/cleanup ${dest}/calamares/calamares-modules/cleanup`, echo);
|
|
554
554
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/sources-yolk ${dest}/calamares/calamares-modules/sources-yolk`, echo);
|
|
555
|
-
await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/sources-yolk-
|
|
555
|
+
await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/sources-yolk-undo ${dest}/calamares/calamares-modules/sources-yolk-undo`, echo);
|
|
556
556
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/modules/packages.yml ${dest}/calamares/modules/packages.yml`, echo);
|
|
557
557
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/modules/removeuser.yml ${dest}/calamares/modules/removeuser.yml`, echo);
|
|
558
558
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/modules/unpackfs.yml ${dest}/calamares/modules/unpackfs.yml`, echo);
|
|
@@ -567,7 +567,7 @@ class Pacman {
|
|
|
567
567
|
await (0, utils_2.exec)(`cp -r ${focal} ${dest}`, echo);
|
|
568
568
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/cleanup ${dest}/calamares/calamares-modules/cleanup`, echo);
|
|
569
569
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/sources-yolk ${dest}/calamares/calamares-modules/sources-yolk`, echo);
|
|
570
|
-
await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/sources-yolk-
|
|
570
|
+
await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/sources-yolk-undo ${dest}/calamares/calamares-modules/sources-yolk-undo`, echo);
|
|
571
571
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/modules/packages.yml ${dest}/calamares/modules/packages.yml`, echo);
|
|
572
572
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/modules/removeuser.yml ${dest}/calamares/modules/removeuser.yml`, echo);
|
|
573
573
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/modules/unpackfs.yml ${dest}/calamares/modules/unpackfs.yml`, echo);
|
|
@@ -582,7 +582,7 @@ class Pacman {
|
|
|
582
582
|
await (0, utils_2.exec)(`cp -r ${focal} ${dest}`, echo);
|
|
583
583
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/cleanup ${dest}/calamares/calamares-modules/cleanup`, echo);
|
|
584
584
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/sources-yolk ${dest}/calamares/calamares-modules/sources-yolk`, echo);
|
|
585
|
-
await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/sources-yolk-
|
|
585
|
+
await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/sources-yolk-undo ${dest}/calamares/calamares-modules/sources-yolk-undo`, echo);
|
|
586
586
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/modules/packages.yml ${dest}/calamares/modules/packages.yml`, echo);
|
|
587
587
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/modules/removeuser.yml ${dest}/calamares/modules/removeuser.yml`, echo);
|
|
588
588
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/modules/unpackfs.yml ${dest}/calamares/modules/unpackfs.yml`, echo);
|
|
@@ -597,7 +597,7 @@ class Pacman {
|
|
|
597
597
|
await (0, utils_2.exec)(`cp -r ${focal} ${dest}`, echo);
|
|
598
598
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/cleanup ${dest}/calamares/calamares-modules/cleanup`, echo);
|
|
599
599
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/sources-yolk ${dest}/calamares/calamares-modules/sources-yolk`, echo);
|
|
600
|
-
await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/sources-yolk-
|
|
600
|
+
await (0, utils_2.exec)(`cp -r ${buster}/calamares/calamares-modules/sources-yolk-undo ${dest}/calamares/calamares-modules/sources-yolk-undo`, echo);
|
|
601
601
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/modules/packages.yml ${dest}/calamares/modules/packages.yml`, echo);
|
|
602
602
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/modules/removeuser.yml ${dest}/calamares/modules/removeuser.yml`, echo);
|
|
603
603
|
await (0, utils_2.exec)(`cp -r ${buster}/calamares/modules/unpackfs.yml ${dest}/calamares/modules/unpackfs.yml`, echo);
|
package/dist/classes/pxe.js
CHANGED
|
@@ -168,7 +168,7 @@ class Pxe {
|
|
|
168
168
|
content += `TIMEOUT 0\n`;
|
|
169
169
|
content += `\n`;
|
|
170
170
|
content += `label egg\n`;
|
|
171
|
-
content += `menu label ${this.bootLabel}\n`;
|
|
171
|
+
content += `menu label ${this.bootLabel.replace('.iso', '')}\n`;
|
|
172
172
|
let clid = this.settings.distro.codenameLikeId;
|
|
173
173
|
if (clid === 'bionic' || clid === 'stretch' || clid === 'jessie') {
|
|
174
174
|
content += `kernel vmlinuz\n`;
|
|
@@ -178,7 +178,7 @@ class Pxe {
|
|
|
178
178
|
content += `kernel http://${utils_1.default.address()}/vmlinuz\n`;
|
|
179
179
|
content += `append initrd=http://${utils_1.default.address()}/initrd boot=live config noswap noprompt fetch=http://${utils_1.default.address()}/live/filesystem.squashfs\n`;
|
|
180
180
|
}
|
|
181
|
-
content += `
|
|
181
|
+
content += `sysappend 3\n`;
|
|
182
182
|
content += `\n`;
|
|
183
183
|
if (this.isos.length > 0) {
|
|
184
184
|
content += `menu separator\n`;
|
|
@@ -188,7 +188,7 @@ class Pxe {
|
|
|
188
188
|
content += `menu label ${iso}\n`;
|
|
189
189
|
content += `kernel http://${utils_1.default.address()}/memdisk\n`;
|
|
190
190
|
content += `initrd http://${utils_1.default.address()}/${iso}\n`;
|
|
191
|
-
content += `append iso raw\n`;
|
|
191
|
+
content += `append iso raw sysappend 3\n`;
|
|
192
192
|
}
|
|
193
193
|
}
|
|
194
194
|
let file = `${this.pxeRoot}/pxelinux.cfg/default`;
|
|
@@ -225,6 +225,16 @@ class Sequence {
|
|
|
225
225
|
catch (error) {
|
|
226
226
|
await utils_1.default.pressKeyToExit(JSON.stringify(error));
|
|
227
227
|
}
|
|
228
|
+
// dpkg-unsafe-io
|
|
229
|
+
message = "dpkg-unsafe-io";
|
|
230
|
+
percent = 0.11;
|
|
231
|
+
try {
|
|
232
|
+
await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent }));
|
|
233
|
+
await this.execCalamaresModule('dpkg-unsafe-io');
|
|
234
|
+
}
|
|
235
|
+
catch (error) {
|
|
236
|
+
await utils_1.default.pressKeyToExit(JSON.stringify(error));
|
|
237
|
+
}
|
|
228
238
|
/**
|
|
229
239
|
* IF RESTORE USERS DATA
|
|
230
240
|
*/
|
|
@@ -340,6 +350,16 @@ class Sequence {
|
|
|
340
350
|
catch (error) {
|
|
341
351
|
await utils_1.default.pressKeyToExit(JSON.stringify(error));
|
|
342
352
|
}
|
|
353
|
+
// dpkg-unsafe-io
|
|
354
|
+
message = "dpkg-unsafe-io-undo";
|
|
355
|
+
percent = 0.61;
|
|
356
|
+
try {
|
|
357
|
+
await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent }));
|
|
358
|
+
await this.execCalamaresModule('dpkg-unsafe-io-undo');
|
|
359
|
+
}
|
|
360
|
+
catch (error) {
|
|
361
|
+
await utils_1.default.pressKeyToExit(JSON.stringify(error));
|
|
362
|
+
}
|
|
343
363
|
/**
|
|
344
364
|
* IF NOT RESTORE USERS DATA OR PERSONAL BACKUP
|
|
345
365
|
*/
|
|
@@ -403,7 +423,7 @@ class Sequence {
|
|
|
403
423
|
// cleanup
|
|
404
424
|
await cliAutologin.msgRemove(`${this.installTarget}/etc/motd`);
|
|
405
425
|
await cliAutologin.msgRemove(`${this.installTarget}/etc/issue`);
|
|
406
|
-
// bootloader-config
|
|
426
|
+
// bootloader-config
|
|
407
427
|
message = "bootloader-config ";
|
|
408
428
|
percent = 0.70;
|
|
409
429
|
try {
|
|
@@ -413,7 +433,7 @@ class Sequence {
|
|
|
413
433
|
catch (error) {
|
|
414
434
|
await utils_1.default.pressKeyToExit(JSON.stringify(error));
|
|
415
435
|
}
|
|
416
|
-
// grubcfg
|
|
436
|
+
// grubcfg
|
|
417
437
|
message = "grubcfg ";
|
|
418
438
|
percent = 0.75;
|
|
419
439
|
try {
|
|
@@ -423,7 +443,7 @@ class Sequence {
|
|
|
423
443
|
catch (error) {
|
|
424
444
|
await utils_1.default.pressKeyToExit(JSON.stringify(error));
|
|
425
445
|
}
|
|
426
|
-
// bootloader (grub-install)
|
|
446
|
+
// bootloader (grub-install)
|
|
427
447
|
message = "bootloader ";
|
|
428
448
|
percent = 0.80;
|
|
429
449
|
try {
|
|
@@ -433,13 +453,13 @@ class Sequence {
|
|
|
433
453
|
catch (error) {
|
|
434
454
|
await utils_1.default.pressKeyToExit(JSON.stringify(error));
|
|
435
455
|
}
|
|
436
|
-
//
|
|
456
|
+
// sources-yolk-undo
|
|
437
457
|
if (this.distro.familyId === 'debian') {
|
|
438
|
-
message = "sources
|
|
458
|
+
message = "sources-yolk-undo";
|
|
439
459
|
percent = 0.90;
|
|
440
460
|
try {
|
|
441
461
|
await redraw(react_1.default.createElement(install_1.default, { message: message, percent: percent }));
|
|
442
|
-
await this.execCalamaresModule('sources-yolk-
|
|
462
|
+
await this.execCalamaresModule('sources-yolk-undo');
|
|
443
463
|
}
|
|
444
464
|
catch (error) {
|
|
445
465
|
await utils_1.default.pressKeyToExit(JSON.stringify(error));
|
|
@@ -11,6 +11,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
11
11
|
const tslib_1 = require("tslib");
|
|
12
12
|
const utils_1 = require("../../lib/utils");
|
|
13
13
|
const utils_2 = tslib_1.__importDefault(require("../../classes/utils"));
|
|
14
|
+
const pacman_1 = tslib_1.__importDefault(require("../../classes/pacman"));
|
|
14
15
|
const fs_1 = tslib_1.__importDefault(require("fs"));
|
|
15
16
|
const js_yaml_1 = tslib_1.__importDefault(require("js-yaml"));
|
|
16
17
|
/**
|
|
@@ -19,45 +20,50 @@ const js_yaml_1 = tslib_1.__importDefault(require("js-yaml"));
|
|
|
19
20
|
*/
|
|
20
21
|
async function packages() {
|
|
21
22
|
let echoYes = utils_2.default.setEcho(true);
|
|
22
|
-
|
|
23
|
+
let modulePath = '/etc/penguins-eggs.d/krill/';
|
|
24
|
+
if (pacman_1.default.packageIsInstalled('calamares')) {
|
|
25
|
+
modulePath = '/etc/calamares/';
|
|
26
|
+
}
|
|
27
|
+
const config_file = `${this.installTarget}${modulePath}modules/packages.conf`;
|
|
23
28
|
if (fs_1.default.existsSync(config_file)) {
|
|
24
29
|
const packages = js_yaml_1.default.load(fs_1.default.readFileSync(config_file, 'utf-8'));
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
packagesTryInstall = operations[0].try_install;
|
|
37
|
-
}
|
|
38
|
-
if (packages.backend === 'apt') {
|
|
39
|
-
if (packagesToRemove.length > 0) {
|
|
40
|
-
let ctr = `chroot ${this.installTarget} apt-get purge -y `;
|
|
41
|
-
for (const packageToRemove of packagesToRemove) {
|
|
42
|
-
ctr += packageToRemove + ' ';
|
|
30
|
+
if (packages.operations !== undefined) {
|
|
31
|
+
if (packages.backend === 'apt') {
|
|
32
|
+
/**
|
|
33
|
+
* apt: Debian/Devuan/Ubuntu
|
|
34
|
+
*/
|
|
35
|
+
if (packages.operations.remove !== undefined) {
|
|
36
|
+
let cmd = `chroot ${this.installTarget} apt-get purge -y `;
|
|
37
|
+
for (const elem of packages.operations.remove) {
|
|
38
|
+
cmd += elem + ' ';
|
|
39
|
+
}
|
|
40
|
+
await (0, utils_1.exec)(`${cmd} ${this.toNull}`, this.echo);
|
|
43
41
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
else if (packages.backend === 'pacman') {
|
|
52
|
-
if (packagesToRemove.length > 0) {
|
|
53
|
-
let ctr = `chroot ${this.installTarget} pacman -S `;
|
|
54
|
-
for (const packageToRemove of packagesToRemove) {
|
|
55
|
-
ctr += packageToRemove + ' ';
|
|
42
|
+
if (packages.operations.try_install !== undefined) {
|
|
43
|
+
let cmd = `chroot ${this.installTarget} apt-get install -y `;
|
|
44
|
+
for (const elem of packages.operations.try_install) {
|
|
45
|
+
cmd += elem + ' ';
|
|
46
|
+
}
|
|
47
|
+
await (0, utils_1.exec)(`chroot ${this.installTarget} apt-get update ${this.toNull}`, this.echo);
|
|
48
|
+
await (0, utils_1.exec)(`${cmd} ${this.toNull}`, this.echo);
|
|
56
49
|
}
|
|
57
|
-
await (0, utils_1.exec)(`${ctr} ${echoYes}`, this.echo);
|
|
58
50
|
}
|
|
59
|
-
|
|
60
|
-
|
|
51
|
+
else if (packages.backend === 'pacman') {
|
|
52
|
+
/**
|
|
53
|
+
* pacman: arch/manjaro
|
|
54
|
+
*/
|
|
55
|
+
if (packages.operations.remove !== undefined) {
|
|
56
|
+
let cmd = `chroot ${this.installTarget} pacman -R\n`;
|
|
57
|
+
for (const elem of packages.operations.remove) {
|
|
58
|
+
cmd += elem + ' ';
|
|
59
|
+
}
|
|
60
|
+
await (0, utils_1.exec)(`${cmd} ${echoYes}`, this.echo);
|
|
61
|
+
}
|
|
62
|
+
if (packages.operations.try_install !== undefined) {
|
|
63
|
+
for (const elem of packages.operations.try_install) {
|
|
64
|
+
await (0, utils_1.exec)(`chroot ${this.installTarget} pacman -S ${elem}`, echoYes);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
61
67
|
}
|
|
62
68
|
}
|
|
63
69
|
}
|
package/package.json
CHANGED
package/conf/distros/buster/calamares/calamares-modules/sources-yolk/sources-yolk.working.sh
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
|
|
3
|
-
#
|
|
4
|
-
# Questa versione utilizza SOLO yolk
|
|
5
|
-
# durante l'installazione.
|
|
6
|
-
# sources-yolk.sh
|
|
7
|
-
# aggiunge yolk, rimuove list ed esegue apt non autenticato
|
|
8
|
-
# sources-yolk.sh
|
|
9
|
-
# -u rimuove yolk e ri-aggiunge le list
|
|
10
|
-
|
|
11
|
-
function main {
|
|
12
|
-
#####################################################################
|
|
13
|
-
# unmount: remove yolk.list
|
|
14
|
-
#####################################################################
|
|
15
|
-
if [ "$1" = "-u" ]; then
|
|
16
|
-
remove_yolk
|
|
17
|
-
else
|
|
18
|
-
add_yolk
|
|
19
|
-
fi
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
#####################################################################
|
|
24
|
-
function remove_list {
|
|
25
|
-
if [ -f "$LIST_BACKUP" ]; then
|
|
26
|
-
rm "$LIST_BACKUP"
|
|
27
|
-
fi
|
|
28
|
-
mv "$LIST $LIST_BACKUP"
|
|
29
|
-
|
|
30
|
-
if [ -d "$LIST_D_BACKUP" ]; then
|
|
31
|
-
rm "$LIST_D_BACKUP" -rf
|
|
32
|
-
fi
|
|
33
|
-
mv "$LIST_D $APT_LIST_D_BACKUP"
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
function add_list {
|
|
37
|
-
if [ -f "$LIST" ]; then
|
|
38
|
-
rm "$LIST"
|
|
39
|
-
fi
|
|
40
|
-
mv "$APT_LIST_BACKUP $LIST"
|
|
41
|
-
|
|
42
|
-
if [ -d "$LIST_D" ]; then
|
|
43
|
-
rm "$LIST_D" -rf
|
|
44
|
-
fi
|
|
45
|
-
mv "$LIST_D_BACKUP $LIST_D"
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
function add_yolk {
|
|
50
|
-
remove_list
|
|
51
|
-
cat << EOF > $CHROOT/etc/apt/sources.list.d/yolk.list
|
|
52
|
-
deb [trusted=yes] file:/var/local/yolk ./
|
|
53
|
-
EOF
|
|
54
|
-
chroot $CHROOT apt-get --allow-unauthenticated update -y
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
function remove_yolk {
|
|
58
|
-
add_list
|
|
59
|
-
rm $CHROOT/etc/apt/sources.list.d/yolk.list
|
|
60
|
-
chroot $CHROOT apt-get update -y
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
# Lo script inizia qui
|
|
66
|
-
CHROOT=$(mount | grep proc | grep calamares | awk '{print $3}' | sed -e "s#/proc##g")
|
|
67
|
-
|
|
68
|
-
LIST = "$CHROOT/etc/apt/sources.list"
|
|
69
|
-
LIST_BACKUP = "$LIST.backup"
|
|
70
|
-
|
|
71
|
-
LIST_D = "$CHROOT/etc/apt/sources.list.d"
|
|
72
|
-
LIST_D_BACKUP = "$LIST_D.backup"
|
|
73
|
-
|
|
74
|
-
main $1
|
|
75
|
-
exit 0
|
package/scripts/netgrub.sh
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
#!/bin/sh
|
|
2
|
-
|
|
3
|
-
set -e
|
|
4
|
-
|
|
5
|
-
# Sets up a tftp server to netboot x86_64 systems over UEFI.
|
|
6
|
-
# Works on Ubuntu 13.10 and later.
|
|
7
|
-
|
|
8
|
-
# change to the root of your tftp server
|
|
9
|
-
TFTPROOT=/var/lib/tftpboot
|
|
10
|
-
|
|
11
|
-
# needed for unpacking the shim-signed source package
|
|
12
|
-
apt-get install dpkg-dev
|
|
13
|
-
|
|
14
|
-
tmpdir=$(mktemp -d)
|
|
15
|
-
|
|
16
|
-
cleanup () {
|
|
17
|
-
if [ -n "$tmpdir" ]; then
|
|
18
|
-
rm -rf "$tmpdir"
|
|
19
|
-
fi
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
trap cleanup EXIT HUP INT QUIT PIPE TERM
|
|
23
|
-
|
|
24
|
-
cd "$tmpdir"
|
|
25
|
-
apt-get source shim-signed
|
|
26
|
-
cp shim-signed-*/shim.efi.signed "$TFTPROOT"/bootx64.efi
|
|
27
|
-
|
|
28
|
-
cd "$TFTPROOT"
|
|
29
|
-
|
|
30
|
-
wget -O grubx64.efi http://archive.ubuntu.com/ubuntu/dists/saucy/main/uefi/grub2-amd64/current/grubnetx64.efi.signed
|
|
31
|
-
|
|
32
|
-
# Unfortunately the unicode font is assembled by the grub2 package at
|
|
33
|
-
# build-time, so we can't grab it from the source; and we have no persistent
|
|
34
|
-
# URL for it since that changes with each version number; so try to install
|
|
35
|
-
# it (which should be a no-op on x86 anyway) and copy the contents.
|
|
36
|
-
apt-get install grub-common
|
|
37
|
-
mkdir -p grub/fonts
|
|
38
|
-
cp /usr/share/grub/unicode.pf2 grub/fonts
|
|
39
|
-
|