Compare commits

...

2 commits

11 changed files with 406 additions and 14 deletions

View file

@ -18,12 +18,39 @@
```
---
```
mkosi-cli
```
```
summary
build
shell
boot
qemu
ssh
clean
serve
bump
genkey
documentation
- -force,-f
- -directory=,-C
- -debug=
- -debug-shell=
- -version
- -help,-h
- -genkey-common-name=
- -genkey-valid-days=
- -auto-bump=,-B
- -doc-format
```
```
mkosi.conf
```
```ini
[Match]
Distribution=
Release=
Architecture=
PathExists=
ImageId=
ImageVersion=
@ -31,12 +58,15 @@ Bootable=
Format=
SystemdVersion=
[Config]
Include=
[Preset]
Preset=
Dependencies=
[Distribution]
Distribution=fedora|debian|ubuntu|arch|opensuse|mageia|centos|openmandriva|rocky|alma
Distribution=fedora|debian|ubuntu|arch|opensuse|mageia|centos|rhel-ubi|openmandriva|rocky|alma|custom
Release=
Architecture=alpha|arc|arm|arm64|ia64|loongarch64|mips64-le|mips-le|parisc|ppc|ppc64|ppc64-le|riscv32|riscv64|s390|s390x|tilegx|x86|x86-64
Mirror=
@ -50,14 +80,14 @@ Format=directory|tar|cpio|disk|uki|none
ManifestFormat=json|changelog
Output=
CompressOutput=yes|no|xz|zstd
OutputDirectory=mkosi.output/
WorkspaceDirectory=mkosi.workspace/
CacheDirectory=mkosi.cache/
BuildDirectory=mkosi.builddir/
OutputDirectory=mkosi.output
WorkspaceDirectory=mkosi.workspace
CacheDirectory=mkosi.cache
BuildDirectory=mkosi.builddir
ImageVersion=
ImageId=
SplitArtifacts=
RepartDirectories=mkosi.repart/
RepartDirectories=mkosi.repart
SectorSize=
Overlay=
UseSubvolumes=auto|yes|no
@ -69,9 +99,9 @@ Packages=
BuildPackages=
WithDocs=
BaseTrees=
SkeletonTrees=mkosi.skeleton/
SkeletonTrees=mkosi.skeleton
PackageManagerTrees=
ExtraTrees=mkosi.extra/|mkosi.extra.tar
ExtraTrees=mkosi.extra|mkosi.extra.tar
RemovePackages=
RemoveFiles=
CleanPackageMetadata=yes|no|auto
@ -99,7 +129,7 @@ Keymap=
Timezone=
Hostname=
RootShell=
RootPassword= (mkosi.rootpw (hashed:))
RootPassword=mkosi.rootpw (hashed:...)
Autologin=yes|no
MakeInitrd=
Ssh=
@ -119,7 +149,7 @@ Key=
[Host]
Incremental=
NSpawnSettings= (mkosi.nspawn)
NSpawnSettings=mkosi.nspawn
ExtraSearchPaths=
QemuGui=yes|no
QemuSmp=2
@ -135,17 +165,82 @@ Ephemeral=
Credentials=key=value key2=value2
KernelCommandLineExtra=
Acl=yes|no
ToolsTree= (mkosi.tools/)
ToolsTree=mkosi.tools
ToolsTreeDistribution=
ToolsTreeRelease=
ToolsTreePackages=
RuntimeTrees=
RuntimeSize=
```
---
```
mkosi.nspawn
```
```
```ini
[Exec]
Boot=off|on
Ephemeral=
ProcessTwo=
Parameters=
Enviroment=
User=
WorkingDirectory=
PivotRoot=
*Capability=
*DropCapability=
*AmbientCapability=
NoNewPrivileges=
KillSignal=
Personality=
*MachineID=
*PrivateUsers=
NotifyReady=
SystemCallFilter=
LimitCPU=
LimitFSIZE=
LimitDATA=
LimitSTACK=
LimitCORE=
LimitRSS=
LimitNOFILE=
LimitAS=
LimitNPROC=
LimitMEMLOCK=
LimitLOCKS=
LimitSIGPENDING=
LimitMSGQUEUE=
LimitNICE=
LimitRTPRIO=
LimitRTTIME=
OOMScoreAdjust=
CpuAffinity=
Hostname=
ResolvConf=
Timezone=
Linkjournal=
SuppressSync=
```
---
[Files]
ReadOnly=
Volatile=
*Bind=
*BindReadOnly=
*BindUser=
*TemporaryFileSystem=
*Inaccessible=
*Overlay=
*OverlayReadOnly=
*PrivateUsersOwnership=
[Network]
Private=
*VirtualEthernet=
*VirtualEthernetExtra=
*Interface=
*MACVLAN=
*IPVLAN=
*Bridge=
*Zone=
*Port=
```

View file

@ -0,0 +1,9 @@
[Unit]
[Automount]
Where=
ExtraOptions=
DirectoryMode=
TimeoutIdleSec=
[Install]

View file

@ -0,0 +1,15 @@
[Unit]
[Mount]
What=
Where=
Type=
Options=
SloppyOptions=
LazyUnmount=
ReadWriteOnly=
ForceUnmount=
DirectoryMode=
TimeoutSec=
[Install]

View file

@ -0,0 +1,15 @@
[Unit]
[Path]
PathExists=
PathExistsGlob=
PathChanged=
PathModified=
DirectoryNotEmpty=
Unit=
MakeDirectory=
DirectoryMode=
TriggerLimitIntervalSec=
TriggerLimitBurst=
[Install]

View file

@ -0,0 +1,38 @@
[Unit]
[Service]
Type=simple|*exec*|forking|oneshot|dbus|notify|notify-reload|idle
ExitType=main|cgroup
RemainAfterExit=no
GuessMainPID=
PIDFile=
BusName=
ExecStart=
ExecStartPre=
ExecStartPost=
ExecCondition=
ExecReload=
ExecStop=
ExecStopPost=
RestartSec=
RestartSteps=
RestartMaxDelaySec=
TimeoutStartSec=
TimeoutStopSec=
TimeoutAbortSec
TimeoutSec=
TimeoutStartFailureMode=
TimeoutStopFailureMode=
RuntimeMaxSec=
RuntimeRandomizedExtraSec=
WatchdogSec=
Restart=no|on-success|on-failure|on-abnormal|on-watchdog|on-abort|always
RestartMode=normal|direct
SuccessExitStatus=
RestartPreventExitStatus=
RestartForceExitStatus=
RootDirectoryStartOnly=
NonBlocking=
[Install]

View file

@ -0,0 +1,5 @@
[Unit]
[Slice]
[Install]

View file

@ -0,0 +1,65 @@
[Unit]
[Socket]
ListenStream=
ListenDatagram=
ListenSequentialPacket=
ListenFIFO=
ListenSpecial=
ListenNetlink=
ListenMessageQueue=
ListenUSBFunction=
SocketProtocol=
BindIPv6Only=
Backlog=
BindToDevice=
SocketUser=
SocketGroup=
SocketMode=
DirectoryMode=
Accept=
Writable=
FlushPending=
MaxConnections=
MaxConnectionsPerSource=
KeepAlive=
KeepAliveTimeSec=
KeepAliveIntervalSec=
KeepAliveProbes=
NoDelay=
Priority=
DeferAcceptSec=
ReceiveBuffer=
SendBuffer=
IPTOS=
IPTTL=
Mark=
ReusePort=
SmackLabel=
SmackLabelIPIn=
SmackLabelIPOut=
SELinuxContextFromNet=
PipeSize=
MessageQueueMaxMessages=
MessageQueueMessageSize=
FreeBind=
Transparent=
Broadcast=
PassCredentials=
PassSecurity=
PassPacketInfo=
Timestamping=
TCPCongestion=
ExecStartPre=
ExecStartPost=
ExecStopPre=
ExecStopPost=
TimeoutSec=
Service=
RemoveOnStop=
Symlinks=
FileDescriptorName=
TriggerLimitIntervalSec=
TriggerLimitBurst=
[Install]

View file

@ -0,0 +1,9 @@
[Unit]
[Swap]
What=
Priority=
Options=
TimeoutSec=
[Install]

View file

@ -0,0 +1,3 @@
[Unit]
[Install]

View file

@ -0,0 +1,20 @@
[Unit]
[Timer]
OnActiveSec=
OnBootSec=
OnStartupSec=
OnUnitActiveSec=
OnUnitInactiveSec=
OnCalendar=
AccuracySec=
RandomizedDelaySec=
FixedRandomDelay=
OnClockChange=
OnTimezoneChange=
Unit=
Persistent=
WakeSystem=
RemainAfterElapse=
[Install]

118
systemd/unit.example Normal file
View file

@ -0,0 +1,118 @@
[Unit]
Description=
Documentation=
Wants=
Requires=
Requisite=
BindsTo= (BoundBy=)
PartOf= (ConsistsOf=)
Upholds=
Conflicts=
Before=
After=
OnFailure=
OnSuccess=
PropagatesReloadTo=
ReloadPropagatedFrom=
PropagatesStopTo=
StopPropagatedFrom=
JoinsNamespaceOf=
RequiresMountFor=
OnSuccessJobMode=replace
OnFailureJobMode=replace
IgnoreOnIsolate=false
StopWhenUnneeded=false
RefuseManualStart=false
RefuseManualStop=false
AllowIsolate=false
DefaultDependencies=yes
CollectMode=inactive
FailureAction=none
SuccessAction=none
FailureActionExitStatus=
SuccessActionExitStatus=
JobTimeoutSec=infinity
JobRunningTimeoutSec=infinity
JobTimeoutAction=none
JobTimeoutRebootArgument=
StartLimitIntervalSec=(Intervall)
StartLimitBurst=(Häufig)
StartLimitAction=none
RebootArgument=
(SourcePath=)
##################
ConditionArchitecture=x86|x86-64|ppc|ppc-le|ppc64|ppc64-le|ia64|parisc|parisc64|s390|s390x|sparc|sparc64|mips|mips-le|mips64|mips64-le|alpha|arm|arm-be|arm64|arm64-be|sh|sh64|m68k|tilegx|cris|arc|arc-be|native
ConditionFirmware=uefi|device-tree|device-tree(Wert)|smbios-field(Feld Operator Wert)
ConditionVirtualization=yes|no|vm|container|qemu|kvm|amazon|zvm|vmware|microsoft|oracle|powervm|xen|bochs|uml|bhyve|qnx|apple|sre|openvz|lxc|lxc-libvirt|systemd-nspawn|docker|podman|rkt|wsl|proot|pouch|acrn
ConditionHost=
ConditionKernelCommandLine=
ConditionKernelVersion=
ConditionCredential=
ConditionEnvironment=
ConditionSecurity=selinux|apparmor|tomoyo|ima|smack|audit|uefi-secureboot|tpm2|cvm
ConditionCapability=
ConditionACPower=
ConditionNeedsUpdate=
ConditionFirstBoot=
ConditionPathExists=
ConditionPathExistsGlob=
ConditionPathIsDirectory=
ConditionPathIsSymbolicLink=
ConditionPathIsMountPoint=
ConditionPathIsReadWrite=
ConditionPathIsEncrypted=
ConditionDirectoryNotEmpty=
ConditionFileNotEmpty=
ConditionFileIsExecutable=
ConditionUser=(uid)|@system
ConditionGroup=(gid)
ConditionControlGroupController=
ConditionMemory=
ConditionCPUs
ConditionCPUFeature=fpu|vme|de|pse|tsc|msr|pae|mce|cx8|apic|sep|mtrr|pge|mca|cmov|pat|pse36|clflush|mmx|fxsr|sse|sse2|ht|pni|pclmul|monitor|ssse3|fma3|cx16|sse4_1|sse4_2|movbe|popcnt|aes|xsave|osxsave|avx|f16c|rdrand|bmi1|avx2|bmi2|rdseed|adx|sha_ni|syscall|rdtscp|lm|lahf_lm|abm|constant_tsc
ConditionOSRelease=
ConditionMemoryPressure=
ConditionCPUPressure=
ConditionIOPressure=
AssertArchitecture=x86|x86-64|ppc|ppc-le|ppc64|ppc64-le|ia64|parisc|parisc64|s390|s390x|sparc|sparc64|mips|mips-le|mips64|mips64-le|alpha|arm|arm-be|arm64|arm64-be|sh|sh64|m68k|tilegx|cris|arc|arc-be|native
AssertFirmware=uefi|device-tree|device-tree(Wert)|smbios-field(Feld Operator Wert)
AssertVirtualization=yes|no|vm|container|qemu|kvm|amazon|zvm|vmware|microsoft|oracle|powervm|xen|bochs|uml|bhyve|qnx|apple|sre|openvz|lxc|lxc-libvirt|systemd-nspawn|docker|podman|rkt|wsl|proot|pouch|acrn
AssertHost=
AssertKernelCommandLine=
AssertKernelVersion=
AssertCredential=
AssertEnvironment=
AssertSecurity=selinux|apparmor|tomoyo|ima|smack|audit|uefi-secureboot|tpm2|cvm
AssertCapability=
AssertACPower=
AssertNeedsUpdate=
AssertFirstBoot=
AssertPathExists=
AssertPathExistsGlob=
AssertPathIsDirectory=
AssertPathIsSymbolicLink=
AssertPathIsMountPoint=
AssertPathIsReadWrite=
AssertPathIsEncrypted=
AssertDirectoryNotEmpty=
AssertFileNotEmpty=
AssertFileIsExecutable=
AssertUser=(uid)|@system
AssertGroup=(gid)
AssertControlGroupController=
AssertMemory=
AssertCPUs
AssertCPUFeature=fpu|vme|de|pse|tsc|msr|pae|mce|cx8|apic|sep|mtrr|pge|mca|cmov|pat|pse36|clflush|mmx|fxsr|sse|sse2|ht|pni|pclmul|monitor|ssse3|fma3|cx16|sse4_1|sse4_2|movbe|popcnt|aes|xsave|osxsave|avx|f16c|rdrand|bmi1|avx2|bmi2|rdseed|adx|sha_ni|syscall|rdtscp|lm|lahf_lm|abm|constant_tsc
AssertOSRelease=
AssertMemoryPressure=
AssertCPUPressure=
AssertIOPressure=
[Install]
RequiredBy=
WantedBy=
UpheldBy=
Alias=
Also=
DefaultInstance=