-
Notifications
You must be signed in to change notification settings - Fork 0
/
install.py
executable file
·67 lines (63 loc) · 1.61 KB
/
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
#!/usr/bin/env python3
import muos
import muos.steps as steps
import muos.steps.arch_chroot as arch_chroot
environment = muos.Environment(
bootloader_id='GRUB',
bootx64_efi='<efi_dir>/EFI/<bootloader_id>/grubx64.efi',
name='Install muOS',
disk_format=muos.DiskFormat.GPT,
file_systems=[
muos.FileSystem.FAT32,
muos.FileSystem.EXT4,
],
fstab_tag=muos.FstabTag.UUID,
host_name='muos',
mnt = '/mnt',
mount_points=[
(2, '/'),
(1, '/boot'),
],
pacstrap_packages=[
'base',
'linux',
'linux-firmware',
],
partitions=[
'size=300MiB, type="EFI System"',
'type="Linux root (x86-64)"',
],
passwords=[
('root', 'toor'),
],
)
runner = muos.Runner(environment, [
steps.Begin(),
steps.SelectKeymap(),
steps.LoadKeymap(),
steps.SelectDisk(),
steps.SelectPacmanMirrors(),
steps.SelectTimeZone(),
steps.SelectLocales(),
steps.SelectMainLocale(),
steps.SynchronizeNtp(),
steps.FormatDisk(),
steps.PartitionDisk(),
steps.FormatPartitions(),
steps.MountPartitions(),
steps.BootstrapArchLinux(),
steps.GenerateFstab(),
steps.UpdateTimeZone(),
arch_chroot.GenerateAdjtime(),
arch_chroot.UpdateLocaleGen(),
arch_chroot.GenerateLocales(),
arch_chroot.UpdateLocaleConf(),
arch_chroot.UpdateVconsoleConf(),
arch_chroot.UpdateHostName(),
arch_chroot.UpdatePasswords(),
arch_chroot.InstallGrub(),
arch_chroot.MakeBootx64Efi(),
arch_chroot.InstallNetworkManager(),
arch_chroot.EnableSystemdServices(),
])
runner.run()