Jarrod Johnson
f19234419d
Implement non-root ssh for SUSE diskless
2024-09-19 13:15:10 -04:00
Jarrod Johnson
97e29a5655
Change versioning to consistently produce prerelease consistent with rpm and deb
2024-09-04 10:11:47 -04:00
Jarrod Johnson
ca4955101d
Improve "realness" of imgutil exec context
...
Utilities that expected /dev/pts will now be satisfied,
as a new /dev/pts is mounted.
Further, systemd added a check in various utilities that
was fouled by the previous method of appearing to have a
root filesystem.
Before, after chroot, we would bind mount / to itself, and this
made things using /proc/mounts, /proc/self/mountinfo, df, mount,
etc happy that there is a real looking root filesystem.
However, by doing it after the chroot, systemd could statx on '..' and
get a different mnt id than /. So it had to be done prior to the
chroot. However it also had to be done before other mounts as
bind mounting over it would block the submounts.
This more closely imitates the initramfs behavior, where '/' starts life
as a 'real' filesystem before being mounted up and switched into.
This behavior was made to imitate the 'start_root.c' behavior as that
seems to be more broadly successful.
2024-08-07 08:40:10 -04:00
Jarrod Johnson
187fda4bb8
Add debootstrap dependency for imgutil
2024-08-07 07:58:08 -04:00
Jarrod Johnson
7ab7600492
Add cpio dependency for imgutil
2024-08-07 07:56:11 -04:00
Jarrod Johnson
f2b9a4fa5d
Improve handling of ssh service being pre-hooked
2024-08-06 12:25:21 -04:00
Jarrod Johnson
c91af840e5
Robust handling of relative link resolv.conf
...
resolv.conf may be a relative link, normal file, or absolute link.
Handle all cases.
2024-07-24 11:12:31 -04:00
Jarrod Johnson
8f58567a70
Add ssh to default services of a built ubuntu image
2024-07-23 11:05:51 -04:00
Jarrod Johnson
cf4475cfcc
Escape the '\W' to avoid stepping on python processing
2024-07-23 10:23:05 -04:00
Jarrod Johnson
1ade704daa
Fix imgutil copy of ubuntu sources
2024-07-22 16:40:44 -04:00
Jarrod Johnson
34b03da494
Update for Ubuntu 24.04 diskless
2024-07-22 16:33:07 -04:00
Jarrod Johnson
4f18294d93
Fix path in debian build for imgutil
2024-07-22 13:57:38 -04:00
Jarrod Johnson
7154a1d60c
Add control file for deb build of imgutil
2024-07-22 13:47:36 -04:00
Jarrod Johnson
69fa3f10c0
Add deb packaging of imgutil
2024-07-22 13:47:29 -04:00
Jarrod Johnson
60fe306890
Numerous fixes
...
Normalize cloning by wipefs prior to image2disk
Have imgutil filter out zram mounts.
Fix syncfiles error handling.
2024-03-15 13:03:46 -04:00
Jarrod Johnson
e90f2829ab
Filter bind mounts from imgutil capture
...
If bind mounts are in use, it will foul the capture.
Notably, one example is if you install the firefox snap in
ubuntu, snapd creates a bind mount.
This will ignore bind mounts, and rely upon the system to
put it straight.
2023-11-08 09:37:44 -05:00
Jarrod Johnson
f88b44dee2
Fix issues with imgutil
2023-09-20 10:13:34 -04:00
Jarrod Johnson
50d5cead06
Add prereq checks to EL cloning
2023-09-12 16:55:19 -04:00
Jarrod Johnson
b77d8b1f21
Make yaml import conditional
...
Only Ubuntu requires it, but tends to have it.
Other distributions do not tend to have it.
2023-09-12 10:45:15 -04:00
Jarrod Johnson
f82829aa0c
Add dependency checking to imgutil capture
...
This will more quickly indicate problems in a profile trying to capture.
First iteration will address Ubuntu.
2023-09-08 17:10:27 -04:00
Jarrod Johnson
8de6f4356d
Fix sense of new flag
...
Accidently made flag exactly opposite of intended
2023-09-07 15:12:43 -04:00
Jarrod Johnson
fe78034eaa
Add '-y' to imgutil build
...
Allow non-interactive imgutil build.
2023-09-07 14:56:07 -04:00
Jarrod Johnson
22cb2bdc40
Handle Ubuntu hardcoded grub cfg
...
Ubuntu hardcodes grub.cfg to
another location.
Make a stub file as a flag to guide osimage
to know where grub.cfg goes.
2023-08-29 10:57:25 -04:00
Jarrod Johnson
899ce7f055
Correct spelling of hooks directory in Ubuntu cloning
2023-08-17 16:27:45 -04:00
Jarrod Johnson
7e209e412a
Make confluent hook executable in ubuntu diskless
2023-08-17 16:16:36 -04:00
Jarrod Johnson
7051f467bb
Avoid a deprectationwarning in copytree handling
...
While trying to address one
deprecationwarning, we
hit another. Check if the
new function exists and use it,
falling back to distutils if
everything fails.
2023-08-17 14:49:44 -04:00
Jarrod Johnson
b88ccc292c
Avoid deprecation on distutils with newer python
...
Unfortunately, python 3.6 needs the distutils version, but we should avoid it altogether
by python 3.10, but by 3.10 the shutil.copytree can do it.
2023-08-17 14:36:38 -04:00
Jarrod Johnson
c47066d713
Include ubuntu material in packaging
2023-08-17 14:11:41 -04:00
Jarrod Johnson
8ddcf45e1d
Create links for ubuntu20.04 and ubuntu22.04
2023-08-17 14:03:55 -04:00
Jarrod Johnson
58cc9840b3
Prune out any netplan configuration, if exists
...
To mitigate chance of network configuration
being tanked by image based
net config, mask it when capturing.
2023-08-16 14:28:10 -04:00
Jarrod Johnson
84d23bb1fd
Begin work on Ubuntu cloning
2023-08-16 12:00:50 -04:00
Jarrod Johnson
5068cda2cf
Catch another sort of exception for non-rpm distributions
...
subprocess may produce a different sort of exception if
rpm doesn't exist at all
2023-08-14 09:23:00 -04:00
Jarrod Johnson
c9d9a3cc54
Add EL9 cloning support
...
Main difference from EL8 is different grub strategy. To cope, capture
the uuid of new /boot and manipulate the
stub grub.cfg with the right uuid.
In EL8, the efi has the main grub, EL9 changes to have /boot host the 'real' grub,
causing us to have to modify the stub grub.
2023-07-25 17:09:37 -04:00
Jarrod Johnson
a523df80e8
Handle newer SuSE
...
After SP4, suse drops mkinird requirement.
Switch to dracut -f in such a scenario.
2023-05-16 14:51:27 -04:00
Jarrod Johnson
e93e4abd83
Add clear error when base profile doesn't exist
...
If the user specifies a wrong '-b',
indicate clearly that is the case,
and do so early.
2023-05-10 08:40:45 -04:00
Jarrod Johnson
340ccc422c
Specify check for arch override of addons.cpio
...
For now, keep using x86_64 as
default, but allow overrides
for other architectures.
One day it may be cleaner to move all addons.cpio to
arch specific subdirs.
2023-01-31 15:27:45 -05:00
Jarrod Johnson
5c309db47c
Further ARMv8 support
...
Handle aarch64 differences in
at least some distributions.
2023-01-31 11:20:40 -05:00
Jarrod Johnson
627bc9ffe3
Modify pkglist for aarch64
2023-01-27 12:14:37 -05:00
Jarrod Johnson
367854128a
Several fixes for imgutil
...
imgutil had a number of issues
contending with a distribution-less
image being packed/unpacked.
2022-12-14 16:51:39 -05:00
Jarrod Johnson
7ccd1a42cd
Add r8152 driver to diskless/genesis
...
It is a popularly requested USB ethernet device for network booting
2022-12-12 12:59:37 -05:00
Jarrod Johnson
848e5acea1
Make nfs available to diskless
...
This allows nfs based flows to be built by users
2022-12-12 12:35:00 -05:00
Jarrod Johnson
2e20341ea0
Have imgutil exec attempt to provide source repos
2022-11-30 10:15:12 -05:00
Jarrod Johnson
9179e02464
Fix diskless imgutil compatibility issues with EL9
2022-11-08 14:25:21 -05:00
Jarrod Johnson
299785a7b8
Add manifest data for diskless images
2022-11-01 13:01:14 -04:00
Jarrod Johnson
55f42bc909
Add el9 imgutil
2022-06-07 09:06:59 -04:00
Jarrod Johnson
e7bea0df45
Advance work on EL9 diskless support
2022-06-06 13:10:22 -04:00
Jarrod Johnson
0e879dc3de
Add el7 to alternat squashfs name
2022-05-09 09:57:59 -04:00
Jarrod Johnson
754cdfdd78
Fix rpm spec syntax for imgutil
2022-05-04 14:35:03 -04:00
Jarrod Johnson
ffadb9cc3a
Add squashfs dependency
...
It has been confusing when imgutil cannot pack by default
2022-05-04 14:23:41 -04:00
Jarrod Johnson
0301f5ca68
Fix imgutil pack expecting addpackagelist
...
The attribute only populates on a different subcommand,
so only process if the attribute exists.
2022-05-04 06:44:07 -04:00