-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsilent_install.py
executable file
·82 lines (78 loc) · 1.83 KB
/
silent_install.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#!/usr/bin/env python3
import muos
import muos.etc as etc
import muos.steps as steps
import muos.steps.arch_chroot as arch_chroot
environment = muos.Environment(
boot=muos.Boot(
efi='grubx64.efi',
id='grub',
),
disk=muos.Disk(
format=muos.DiskFormat.GPT,
mountpoint='/mnt',
partitions=[
muos.Partition(
filesystem=muos.FileSystem.EXT4,
mountpoint='/',
size='100%',
type='Linux root (x86-64)',
),
muos.Partition(
filesystem=muos.FileSystem.FAT32,
mountpoint='/boot',
size='300MiB',
type='EFI System',
),
],
path='/dev/sda',
),
etc=etc.Etc(
fstab=etc.Fstab(
tag=muos.FstabTag.UUID,
),
hostname='muos',
locale_conf=etc.LocaleConf(
lang='en_US.UTF-8',
),
vconsole_conf=etc.VconsoleConf(
keymap='us',
),
),
name='Install muOS',
pacman_mirrors=[
'https://geo.mirror.pkgbuild.com/$repo/os/$arch',
],
pacstrap_packages=[
'base',
'linux',
'linux-firmware',
],
system=muos.System(
locales=[
'en_US.UTF-8 UTF-8',
],
timezone='UTC',
),
users=[
muos.User(
name='root',
password='toor',
),
],
)
runner = muos.Runner(
environment=environment,
steps=[
steps.Begin(),
steps.SynchronizeNtp(),
steps.ProcessDisk(),
steps.BootstrapArchLinux(),
steps.ProcessSystem(),
arch_chroot.InstallGrub(),
arch_chroot.MakeBootx64Efi(),
arch_chroot.InstallNetworkManager(),
arch_chroot.EnableSystemdServices(),
],
)
runner.run()