penguins-eggs 9.0.16 → 9.0.25

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.
Files changed (38) hide show
  1. package/README.md +43 -22
  2. package/addons/templates/grub.template +2 -0
  3. package/addons/{blissos → waydroid}/theme/applications/install-debian.desktop +0 -0
  4. package/addons/{blissos → waydroid}/theme/artwork/install-debian.png +0 -0
  5. package/addons/{blissos → waydroid}/theme/calamares/branding/branding.desc +0 -0
  6. package/addons/{blissos → waydroid}/theme/calamares/branding/languages.png +0 -0
  7. package/addons/{blissos → waydroid}/theme/calamares/branding/show.qml +0 -0
  8. package/addons/{blissos → waydroid}/theme/calamares/branding/slide1.png +0 -0
  9. package/addons/{blissos → waydroid}/theme/calamares/branding/slide2.png +0 -0
  10. package/addons/{blissos → waydroid}/theme/calamares/branding/slide3.png +0 -0
  11. package/addons/{blissos/theme/calamares/branding/blissos-logo.png → waydroid/theme/calamares/branding/waydroid-logo.png} +0 -0
  12. package/addons/{blissos → waydroid}/theme/calamares/branding/welcome.png +0 -0
  13. package/addons/{blissos → waydroid}/theme/calamares/modules/partition.yml +0 -0
  14. package/addons/{blissos → waydroid}/theme/livecd/grub.theme.cfg +1 -1
  15. package/addons/{blissos → waydroid}/theme/livecd/isolinux.theme.cfg +1 -1
  16. package/addons/{blissos → waydroid}/theme/livecd/splash.png +0 -0
  17. package/lib/classes/incubation/incubator.js +5 -0
  18. package/lib/classes/krill_install.d.ts +48 -25
  19. package/lib/classes/krill_install.js +456 -185
  20. package/lib/classes/krill_prepare.d.ts +7 -3
  21. package/lib/classes/krill_prepare.js +35 -14
  22. package/lib/classes/ovary.js +6 -1
  23. package/lib/commands/install.d.ts +1 -0
  24. package/lib/commands/install.js +14 -3
  25. package/lib/commands/kill.js +1 -1
  26. package/lib/commands/produce.js +1 -1
  27. package/lib/components/partitions.d.ts +1 -2
  28. package/lib/components/partitions.js +1 -4
  29. package/lib/interfaces/i-devices.d.ts +1 -0
  30. package/lib/interfaces/i-krill.d.ts +0 -1
  31. package/lib/lib/cli-autologin.js +8 -3
  32. package/lib/lib/select_installation_mode.js +1 -1
  33. package/manpages/doc/man/eggs.html +65 -6
  34. package/oclif.manifest.json +1 -1
  35. package/package.json +13 -12
  36. package/scripts/_eggs +9 -8
  37. package/scripts/eggs.bash +3 -3
  38. /package/scripts/{not-used/pve-live.sh → pve-live.sh} +0 -0
package/README.md CHANGED
@@ -39,6 +39,26 @@ Starting with version 7.6.x, an addons architecture was added to eggs, allowing
39
39
  ### backup
40
40
  From version 8.0.10 You can use the backup mode by simply adding --backup in the produce command. This way eggs will save your users data and accounts and will not add a live user, you will have to log in with the main user of your system with the his password. **Note:** since eggs always configures autologin, you may have a security risk with valuable data. Use this option only for your personal stuff and do not share the iso on the network.
41
41
 
42
+ * ```eggs produce``` just remove users accounts and home. This let to have working servers examples;
43
+ * ```eggs produce --backup``` remove servers and users data from live, and put them on a LUKS volume.
44
+
45
+ From version 9.0.16 we have two new commands: ```eggs syncfrom``` (alias restore) and ```eggs syncto``` (alias backup).
46
+
47
+ A working installation, can easily sync users and servers data to a luks-eggs-backup:
48
+ * ```eggs syncto -f /tmp/luks-eggs-backup``` backup users and servers data to LUKS volume /tmp/luks-eggs-backup:
49
+
50
+ A new installation, can easyly get users and servers data from a luks-eggs-backup:
51
+ * ```eggs syncfrom from -f /tmp/luks-eggs-backup``` restore users and servers data from the LUKS volume /tmp/luks-eggs-backup.
52
+
53
+ **NOTE:**
54
+ * krill: ```sudo eggs install --cli``` will restore users and servers data automatically;
55
+ * installing with calamares: when installation is finished, you need to mount the rootdir of your installed system and, give the following command: ```sudo eggs syncfrom -f /path/to/luks-eggs-backup -r /path/to/rootdir```
56
+ * it's possbile actually to change the nest directory, editing configuration file ```/etc/penguins-eggs.d/eggs.yaml```. Example: ```set snapshot_dir: '/opt/eggs/'```, but you can't use the following: /etc, /boot, /usr and /var.
57
+
58
+ **DISCLAIM:** using this new feathures can be dangerous for your data:
59
+ * ```syncfrom``` replace all users homes and all servers homes with data from the luck-eggs-backup, Force this data in not appropriate system can easily end in a long disaster recovery;
60
+ * I want stress you again on the fact we are working with a **live filesystem** mounted binded to the **REAL filesystem**. This mean who removing a directory under the nest, usually ```/nest/ovarium/filesystem.squashfs```, mean remove it from the REAL filesystem. So, if something went wrong during the iso production and You remain with live filesystem again binded, the shortest way to solve the problem is simply reboot.
61
+
42
62
  ### krill
43
63
  Starting with eggs 8.0.0 I included a new CLI installer named krill. krill let you to install your system in a nice CLI 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 one and for GUI and CLI. To force using krill in place of calamares in a GUI system just: **sudo eggs install --cli**
44
64
 
@@ -83,12 +103,12 @@ Update your repositories: **sudo apt update** and install eggs: **sudo apt insta
83
103
  The simplest way to install eggs is download the [package eggs](https://sourceforge.net/projects/penguins-eggs/files/packages-deb/) from [sourceforge page of the project](https://sourceforge.net/projects/penguins-eggs/) and install it
84
104
 
85
105
  ```
86
- sudo dpkg -i eggs_14.18.0-1_amd64.deb
106
+ sudo dpkg -i eggs_9.0.16-1_amd64.deb
87
107
  ```
88
108
 
89
109
  or, on a i386 system:
90
110
  ```
91
- sudo dpkg -i eggs_8.17.3-1_i386.deb
111
+ sudo dpkg -i eggs_8.17.17-1_i386.deb
92
112
  ```
93
113
 
94
114
  ## Upgrade eggs
@@ -113,7 +133,7 @@ $ npm install -g penguins-eggs
113
133
  $ eggs COMMAND
114
134
  running command...
115
135
  $ eggs (--version|-v)
116
- penguins-eggs/9.0.16 linux-x64 node-v16.13.2
136
+ penguins-eggs/9.0.25 linux-x64 node-v16.14.0
117
137
  $ eggs --help [COMMAND]
118
138
  USAGE
119
139
  $ eggs COMMAND
@@ -169,7 +189,7 @@ ALIASES
169
189
  $ eggs adjust
170
190
  ```
171
191
 
172
- _See code: [src/commands/adapt.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.0.16/src/commands/adapt.ts)_
192
+ _See code: [src/commands/adapt.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.0.25/src/commands/adapt.ts)_
173
193
 
174
194
  ## `eggs analyze`
175
195
 
@@ -190,7 +210,7 @@ EXAMPLES
190
210
  $ sudo eggs analyze
191
211
  ```
192
212
 
193
- _See code: [src/commands/analyze.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.0.16/src/commands/analyze.ts)_
213
+ _See code: [src/commands/analyze.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.0.25/src/commands/analyze.ts)_
194
214
 
195
215
  ## `eggs autocomplete [SHELL]`
196
216
 
@@ -236,7 +256,7 @@ DESCRIPTION
236
256
  bro: waydroid helper
237
257
  ```
238
258
 
239
- _See code: [src/commands/bro.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.0.16/src/commands/bro.ts)_
259
+ _See code: [src/commands/bro.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.0.25/src/commands/bro.ts)_
240
260
 
241
261
  ## `eggs calamares`
242
262
 
@@ -265,7 +285,7 @@ EXAMPLES
265
285
  install calamares and create it's configuration's files
266
286
  ```
267
287
 
268
- _See code: [src/commands/calamares.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.0.16/src/commands/calamares.ts)_
288
+ _See code: [src/commands/calamares.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.0.25/src/commands/calamares.ts)_
269
289
 
270
290
  ## `eggs config`
271
291
 
@@ -292,7 +312,7 @@ EXAMPLES
292
312
  Configure and install prerequisites deb packages to run it
293
313
  ```
294
314
 
295
- _See code: [src/commands/config.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.0.16/src/commands/config.ts)_
315
+ _See code: [src/commands/config.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.0.25/src/commands/config.ts)_
296
316
 
297
317
  ## `eggs dad`
298
318
 
@@ -312,7 +332,7 @@ DESCRIPTION
312
332
  ask help from daddy - configuration helper
313
333
  ```
314
334
 
315
- _See code: [src/commands/dad.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.0.16/src/commands/dad.ts)_
335
+ _See code: [src/commands/dad.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.0.25/src/commands/dad.ts)_
316
336
 
317
337
  ## `eggs export deb`
318
338
 
@@ -385,7 +405,7 @@ DESCRIPTION
385
405
  Display help for eggs.
386
406
  ```
387
407
 
388
- _See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v5.1.10/src/commands/help.ts)_
408
+ _See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v5.1.11/src/commands/help.ts)_
389
409
 
390
410
  ## `eggs info`
391
411
 
@@ -403,7 +423,7 @@ DESCRIPTION
403
423
  re-thinking for a different approach to CLI
404
424
  ```
405
425
 
406
- _See code: [src/commands/info.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.0.16/src/commands/info.ts)_
426
+ _See code: [src/commands/info.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.0.25/src/commands/info.ts)_
407
427
 
408
428
  ## `eggs install`
409
429
 
@@ -411,12 +431,13 @@ command-line system installer - the egg became a penguin!
411
431
 
412
432
  ```
413
433
  USAGE
414
- $ eggs install [-c] [-k] [-h] [-v]
434
+ $ eggs install [-c] [-k] [-p] [-h] [-v]
415
435
 
416
436
  FLAGS
417
437
  -c, --cli force use CLI installer
418
438
  -h, --help Show CLI help.
419
439
  -k, --crypted crypted CLI installation
440
+ -p, --pve Proxmox VE install
420
441
  -v, --verbose verbose
421
442
 
422
443
  DESCRIPTION
@@ -431,7 +452,7 @@ EXAMPLES
431
452
  Install the system using GUI or CLI installer
432
453
  ```
433
454
 
434
- _See code: [src/commands/install.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.0.16/src/commands/install.ts)_
455
+ _See code: [src/commands/install.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.0.25/src/commands/install.ts)_
435
456
 
436
457
  ## `eggs kill`
437
458
 
@@ -453,7 +474,7 @@ EXAMPLES
453
474
  kill the eggs/free the nest
454
475
  ```
455
476
 
456
- _See code: [src/commands/kill.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.0.16/src/commands/kill.ts)_
477
+ _See code: [src/commands/kill.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.0.25/src/commands/kill.ts)_
457
478
 
458
479
  ## `eggs mom`
459
480
 
@@ -470,11 +491,11 @@ DESCRIPTION
470
491
  ask for mommy - gui helper
471
492
  ```
472
493
 
473
- _See code: [src/commands/mom.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.0.16/src/commands/mom.ts)_
494
+ _See code: [src/commands/mom.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.0.25/src/commands/mom.ts)_
474
495
 
475
496
  ## `eggs produce`
476
497
 
477
- the system produce an egg: iso image of your system
498
+ produce a live image from your system whithout your data
478
499
 
479
500
  ```
480
501
  USAGE
@@ -497,7 +518,7 @@ FLAGS
497
518
  --theme=<value> theme for livecd, calamares branding and partitions
498
519
 
499
520
  DESCRIPTION
500
- the system produce an egg: iso image of your system
521
+ produce a live image from your system whithout your data
501
522
 
502
523
  ALIASES
503
524
  $ eggs spawn
@@ -535,7 +556,7 @@ EXAMPLES
535
556
  in /home/eggs/ovarium and you can customize all you need
536
557
  ```
537
558
 
538
- _See code: [src/commands/produce.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.0.16/src/commands/produce.ts)_
559
+ _See code: [src/commands/produce.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.0.25/src/commands/produce.ts)_
539
560
 
540
561
  ## `eggs remove`
541
562
 
@@ -565,7 +586,7 @@ EXAMPLES
565
586
  remove eggs, eggs configurations, packages dependencies
566
587
  ```
567
588
 
568
- _See code: [src/commands/remove.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.0.16/src/commands/remove.ts)_
589
+ _See code: [src/commands/remove.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.0.25/src/commands/remove.ts)_
569
590
 
570
591
  ## `eggs syncfrom`
571
592
 
@@ -591,7 +612,7 @@ EXAMPLES
591
612
  $ sudo eggs restore
592
613
  ```
593
614
 
594
- _See code: [src/commands/syncfrom.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.0.16/src/commands/syncfrom.ts)_
615
+ _See code: [src/commands/syncfrom.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.0.25/src/commands/syncfrom.ts)_
595
616
 
596
617
  ## `eggs syncto`
597
618
 
@@ -617,7 +638,7 @@ EXAMPLES
617
638
  $ sudo eggs restore
618
639
  ```
619
640
 
620
- _See code: [src/commands/syncto.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.0.16/src/commands/syncto.ts)_
641
+ _See code: [src/commands/syncto.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.0.25/src/commands/syncto.ts)_
621
642
 
622
643
  ## `eggs tools clean`
623
644
 
@@ -740,7 +761,7 @@ EXAMPLES
740
761
  update/upgrade the penguin's eggs tool
741
762
  ```
742
763
 
743
- _See code: [src/commands/update.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.0.16/src/commands/update.ts)_
764
+ _See code: [src/commands/update.ts](https://github.com/pieroproietti/penguins-eggs/blob/v9.0.25/src/commands/update.ts)_
744
765
 
745
766
  ## `eggs version`
746
767
 
@@ -18,11 +18,13 @@ set theme=/boot/grub/theme.cfg
18
18
 
19
19
  menuentry "{{{fullname}}} (kernel {{{kernel}}})" {
20
20
  set gfxpayload=keep
21
+ {{{rmModules}}}
21
22
  linux {{{vmlinuz}}} {{{kernel_parameters}}} quiet splash
22
23
  initrd {{{initrdImg}}}
23
24
  }
24
25
  menuentry "{{{fullname}}} safe" {
25
26
  set gfxpayload=keep
27
+ {{{rmModules}}}
26
28
  linux {{{vmlinuz}}} {{{kernel_parameters}}}
27
29
  initrd {{{initrdImg}}}
28
30
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Global Property
4
4
  title-color: "white"
5
- title-text: "BlissOS: Android for your PC"
5
+ title-text: "Waydroid: Android in a Linux container"
6
6
  # title-font: "Sans Regular 20"
7
7
  desktop-color: "blue"
8
8
  desktop-image: "splash.png"
@@ -1,7 +1,7 @@
1
1
  #
2
2
  # eggs: isolinux.theme
3
3
  #
4
- MENU TITLE BlissOS: Android for your PC
4
+ MENU TITLE Waydroid: Android in a Linux container
5
5
  MENU BACKGROUND splash.png
6
6
  # MENU COLOR element backgound foreground shadow
7
7
  # background and foreground are hexadecimal digits for alpha (opacity), red, green and blue,
@@ -59,6 +59,11 @@ class Incubator {
59
59
  await stretch.create();
60
60
  break;
61
61
  }
62
+ case 'buster': {
63
+ const buster = new buster_1.Buster(this.installer, this.remix, this.distro, release, this.user_opt, this.verbose);
64
+ await buster.create();
65
+ break;
66
+ }
62
67
  case 'bullseye': {
63
68
  const bullseye = new buster_1.Buster(this.installer, this.remix, this.distro, release, this.user_opt, this.verbose);
64
69
  await bullseye.create();
@@ -1,38 +1,39 @@
1
1
  /**
2
- * penguins-eggs: hatching.js
2
+ * penguins-eggs: krill_install
3
3
  *
4
4
  * author: Piero Proietti
5
5
  * mail: piero.proietti@gmail.com
6
6
  *
7
7
  */
8
8
  /**
9
- * Ideally, I want to respect this schema
10
- - partition
11
- - mount
12
- - unpackfs
13
- - sources-yolk
14
- - machineid // to do
15
- - fstab
9
+ * Ideally, I want to respect calamares way, remplementing the same (SEMPLIFIED) steps for CLI
10
+ *
11
+ - partition OK
12
+ - mount this.mountFs, this.mountVfs OK
13
+ - unpackfs OK
14
+ - sources-yolk // call execCalamaresModule('sources-yolk')
15
+ - machineid OK
16
+ - fstab OK
16
17
  - locale // to do
17
- - keyboard
18
+ - keyboard // this.setKeyboard OK
18
19
  - localecfg // to do
19
- - users // rivedere
20
- - displaymanager // autologin
21
- - networkcfg
20
+ - users OK
21
+ - displaymanager // this.autologin OK
22
+ - networkcfg OK
22
23
  - hwclock // to do
23
24
  - services-systemd // to do
24
- - bootloader-config // compatible calamares-module bootloader-config
25
- - grubcfg //
26
- - bootloader // compatible calamares-module calamares-modules grubInstall
25
+ - bootloader-config // call execCalamaresModule('bootloader-config')
26
+ - grubcfg OK
27
+ - bootloader OK
27
28
  - packages // to do
28
29
  - luksbootkeyfile // to do
29
30
  - plymouthcfg // to do
30
31
  - initramfscfg OK
31
32
  - initramfs OK
32
- - removeuser
33
+ - removeuser OK
33
34
  - remove-link // OK
34
- - sources-yolk-unmount // compatible calamares-modules sources-yolk-unmount
35
- - umount
35
+ - sources-yolk-unmount // execCalamaresModule('sources-yolk-unmount')
36
+ - umount // this.umountVfs, this.umountFs
36
37
  */
37
38
  import { IRemix, IDistro, INet } from '../interfaces';
38
39
  import Settings from './settings';
@@ -154,24 +155,32 @@ export default class Hatching {
154
155
  /**
155
156
  * mount
156
157
  */
157
- private mount;
158
+ private mountFs;
158
159
  /**
159
- * umount
160
+ * umountFs
160
161
  */
161
- private umount;
162
+ private umountFs;
162
163
  /**
163
164
  * mountvfs()
164
165
  */
165
- private mountvfs;
166
+ private mountVfs;
166
167
  /**
168
+ *
167
169
  */
168
- private umountvfs;
170
+ private umountVfs;
171
+ /**
172
+ *
173
+ * @param mountpoint
174
+ */
175
+ private umount;
169
176
  /**
170
177
  *
171
- * @param p
172
- * @returns
173
178
  */
174
179
  private partition;
180
+ /**
181
+ * Return lvmPartname, lvmSwapSize, lvmRootSize
182
+ */
183
+ private lvmPartInfo;
175
184
  /**
176
185
  * isRotational
177
186
  * @param device
@@ -187,6 +196,20 @@ export default class Hatching {
187
196
  *
188
197
  */
189
198
  bootloaderConfigUbuntu(): Promise<void>;
199
+ /**
200
+ * grubcfg
201
+ * - open /etc/default/grub
202
+ * - find GRUB_CMDLINE_LINUX_DEFAULT=
203
+ * - replace with GRUB_CMDLINE_LINUX_DEFAULT=
204
+ * 's/GRUB_CMDLINE_LINUX_DEFAULT=.*$/GRUB_CMDLINE_LINUX_DEFAULT=/g'
205
+ */
206
+ grubcfg(): void;
207
+ /**
208
+ * On Ubuntu
209
+ * /etc/machine-id must exist to be re-created
210
+ * https://unix.stackexchange.com/questions/402999/is-it-ok-to-change-etc-machine-id
211
+ */
212
+ machineId(): Promise<void>;
190
213
  /**
191
214
  * only show the result
192
215
  */