X Tutup
Skip to content

Commit 5e176a4

Browse files
committed
Merge pull request systemd#14368 from poettering/repart
2 parents 6252bd0 + 492f91d commit 5e176a4

32 files changed

+4154
-34
lines changed

.lgtm.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ extraction:
55
- python3-pip
66
- python3-setuptools
77
- python3-wheel
8+
- libfdisk-dev
9+
- libp11-kit-dev
10+
- libssl-dev
811
after_prepare:
912
- pip3 install meson
1013
- export PATH="$HOME/.local/bin/:$PATH"

.mkosi/mkosi.fedora

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Distribution=fedora
88
Release=31
99

1010
[Output]
11-
Format=raw_btrfs
11+
Format=gpt_ext4
1212
Bootable=yes
1313
KernelCommandLine=printk.devkmsg=on
1414

@@ -38,30 +38,38 @@ BuildPackages=
3838
libblkid-devel
3939
libcap-devel
4040
libcurl-devel
41+
libfdisk-devel
4142
libgcrypt-devel
4243
libidn2-devel
4344
libmicrohttpd-devel
4445
libmount-devel
4546
libseccomp-devel
4647
libselinux-devel
47-
libtool
4848
libxkbcommon-devel
4949
libxslt
5050
lz4
5151
lz4-devel
5252
m4
5353
meson
54+
openssl-devel
5455
pam-devel
5556
pcre2-devel
5657
pkgconfig
5758
python3-devel
5859
python3-lxml
5960
qrencode-devel
6061
tree
62+
valgrind-devel
6163
xz-devel
6264

6365
Packages=
66+
coreutils
67+
cryptsetup-libs
68+
kmod-libs
6469
libidn2
70+
libseccomp
71+
procps-ng
72+
util-linux
6573

6674
BuildDirectory=mkosi.builddir
6775
Cache=mkosi.cache

TODO

Lines changed: 50 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@ Janitorial Clean-ups:
1919

2020
Features:
2121

22+
* bootctl:
23+
- teach it to prepare an ESP wholesale, i.e. with mkfs.vfat invocation
24+
- teach it to copy in unified kernel images and maybe type #1 boot loader spec entries from host
25+
- make it operate on loopback files, dissecting enough to find ESP to operate on
26+
2227
* when dissecting images, warn about unrecognized partition flags
2328

2429
* honour specifiers in unit files that resolve to some very basic
@@ -27,8 +32,53 @@ Features:
2732
* socket units: allow creating a udev monitor socket with ListenDevices= or so,
2833
with matches, then actviate app thorugh that passing socket oveer
2934

35+
* unify on openssl:
36+
- port sd_id128_get_machine_app_specific() over from khash
37+
- port resolved over from libgcrypt (DNSSEC code)
38+
- port journald + fsprg over from libgcrypt
39+
- port importd over from libgcrypt
40+
- when that's done: kill khash.c
41+
- when that's done: kill gnutls support in resolved
42+
3043
* kill zenata, all hail weblate?
3144

45+
* when we resize disks (homed?) always round up to 4K sectors, not 512K
46+
47+
* add growvol and makevol options for /etc/crypttab, similar to
48+
x-systemd.growfs and x-systemd-makefs.
49+
50+
* hook up the TPM to /etc/crypttab, with a new option that is similar to the
51+
new PKCS#11 option in crypttab, and allows unlocking a LUKS volume via a key
52+
unsealed from the TPM. Optionally, if TPM is not available fall back to
53+
TPM-less mode, and set up linear DM mapping instead (inspired by kpartx), so
54+
that the device paths stay the same, regardless if crypto is used or not.
55+
56+
* move discoverable partitions spec into markdown and our tree
57+
58+
* systemd-repart: by default generate minimized partition tables (i.e. tables
59+
that only covere the space actually used, excluding any free space at the
60+
end), in order to maximize dd'ability. Requires libfdisk work, see
61+
https://github.com/karelzak/util-linux/issues/907
62+
63+
* systemd-repart: optionally, allow specifiying a path to initialize new
64+
partitions from, i.e. an fs image file or a source device node. This would
65+
then turn systemd-repart into a simple installer: with a few .repart files
66+
you could replicate the host system on another device.
67+
68+
* systemd-repart: MBR partition table support. Care needs to be taken regarding
69+
Type=, so that partition definitions can sanely apply to both the GPT and the
70+
MBR case. Idea: accept syntax "Type=gpt:home mbr:0x83" for setting the types
71+
for the two partition types explicitly. And provide an internal mapping so
72+
that "Type=linux-generic" maps to the right types for both partition tables
73+
automatically.
74+
75+
* systemd-repart: allow sizing partitions as factor of available RAM, so that
76+
we can reasonably size swap partitions for hibernation.
77+
78+
* when switching root from initrd to host, set the machine_id env var so that
79+
if the host has no machine ID set yet we continue to use the random one the
80+
initrd had set.
81+
3282
* sd-event: add native support for P_ALL waitid() watching, then move PID 1 to
3383
it fo reaping assigned but unknown children. This needs to some special care
3484
to operate somewhat sensibly in light of priorities: P_ALL will return
@@ -175,13 +225,6 @@ Features:
175225

176226
* introduce per-unit (i.e. per-slice, per-service) journal log size limits.
177227

178-
* optionally, if a per-partition GPT flag is set for the root/home/… partitions
179-
format the partition on next boot and unset the flag, in order to implement
180-
factory reset. also, add a second flag that simply indicates whether such a
181-
scheme is supported. then, add a tool (or maybe beef up systemd-dissect) to
182-
show state of these flags, and optionally trigger such a factory reset on
183-
next boot by setting the flag.
184-
185228
* sd-boot: automatically load EFI modules from some drop-in dir, so that people
186229
can add in file system drivers and such
187230

@@ -395,10 +438,6 @@ Features:
395438
yogas can be recognized as "convertible" too, even if they predate the DMI
396439
"convertible" form factor
397440

398-
* Maybe add a small tool invoked early at boot, that adds in or resizes
399-
partitions automatically, to be used when the media used is actually larger
400-
than the image written onto it is.
401-
402441
* Maybe add PrivatePIDs= as new unit setting, and do minimal PID namespacing
403442
after all. Be strict however, only support the equivalent of nspawn's
404443
--as-pid2 switch, and sanely proxy sd_notify() messages dropping stuff such

fuzzbuzz.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ setup:
55
- sudo apt-get update -y
66
- sudo apt-get build-dep -y systemd
77
- sudo apt-get install -y python3-pip
8+
- sudo apt-get install -y libfdisk-dev libp11-kit-dev libssl-dev
89
# FIXME: temporarily pin the meson version as 0.53 doesn't work with older
910
# python 3.5
1011
# # See: https://github.com/mesonbuild/meson/issues/6427

0 commit comments

Comments
 (0)
X Tutup