forked from SoMainline/void-bootstrap
-
Notifications
You must be signed in to change notification settings - Fork 1
/
config.base.sh
180 lines (150 loc) · 4.45 KB
/
config.base.sh
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
#backend="chroot"
users=(
'somainline:som::::SoMainline'
)
users_shell_default="/bin/zsh"
users_groups_common=(
wheel # sudo
video input storage bluetooth network
socklog # svlogtail
users
)
users_pw_default="" # disable pass login for root
users_sudo_askpass=false
#permit_root_login=true
hostname="somainline"
# overwrite systemd-nspawn stub resolv.conf
dns=(
1.1.1.1
1.0.0.1
2606:4700:4700::1111
2606:4700:4700::1001
)
#mirror="???"
img_name_format="somainline-%a-base-rootfs-$(date +'%Y-%m-%d--%H-%M').img"
img_size="3G"
#img_compress="xz"
work_dir="work"
#repos=(???)
ignorepkg=(
# Unneeded FW
ipw2100-firmware
ipw2200-firmware
zd1211-firmware
wifi-firmware
# These aren't particularly useful on embedded devices
ethtool
acpid
# Only ext4 formatted images supported (currently)
btrfs-progs
xfsprogs
nvi # We'll replace this crappy editor in base_pkgs
)
noextract=(
# Only get firmware that is explicitly needed
"/usr/lib/firmware/*"
# CRDA
"!/usr/lib/firmware/regulatory.db*"
# WCN3990 BT
!/usr/lib/firmware/qca/crbtfw21.tlv
!/usr/lib/firmware/qca/crnv21.bin
# A530/A540 GPU
!/usr/lib/firmware/qcom/a530_pfp.fw
!/usr/lib/firmware/qcom/a530_pm4.fw
!/usr/lib/firmware/qcom/a530v3_gpmu.fw2
# No rootfs encryption setup -> avoid extra runit stage
/etc/crypttab
# No need for raid -> avoid extra runit stage with additional spam about 4096 block size
/usr/bin/dmraid
# systemd is not an init system choice on Void so these are rather pointless
"/usr/lib/systemd/*"
)
rm_pkgs=(
nvi btrfs-progs xfsprogs
)
base_pkgs=(
socklog-void elogind dbus-elogind # Main
#haveged
fake-hwclock chrony # Time & date
# TODO: check that fake-hwclock works properly
linux-firmware-{network,qualcomm} # Firmware
bluez # Bluetooth
NetworkManager avahi # Networking
neard # NFC
crda # WLAN
zsh zsh-completions zsh-autosuggestions # Shell
#zsh-history-substring-search zsh-syntax-highlighting
# Some tools
git htop neovim neofetch psmisc wget curl conspy xtools xxd ripgrep strace tree
abootimg android-tools jq man-pages-posix binutils reboot-mode libinput evtest
i2c-tools upower atop powertop
# Extended terminal definitions for proper support on ie. alacritty
alacritty-terminfo foot-terminfo kitty-terminfo
)
extra_build_pkgs=(
unudhcpd usbd # USB gadget setup
qcom-fw-setup # Firmware
libmbim libqrtr-glib libqmi ModemManager # Cellular
qrtr-ns pd-mapper rmtfs tqftpserv diag-router # Modem/WLAN
#gpsd-pds # GPS
kmscube # GPU testing
soctemp pil-squasher qmi-ping qcom-debugcc # Extra tools
#linuxconsoletools # (e.g. fftest)
buffyboard # TTY on-screen touch enabled keyboard
)
extra_install_pkgs=(
unudhcpd usbd
qcom-fw-setup
libqmi ModemManager
qrtr-ns pd-mapper rmtfs tqftpserv diag-router
#gpsd-pds
kmscube
soctemp pil-squasher qmi-ping qcom-debugcc
#linuxconsoletools
buffyboard
)
#void_packages="https://github.com/SoMainline/void-packages.git"
#void_packages_branch="somainline"
#void_packages_shallow=true
enable_sv=(
fake-hwclock chronyd dbus bluetoothd socklog-unix nanoklogd # Main
#haveged elogind
sshd
usbd rndis-tethering # USB gadget setup
pd-mapper rmtfs tqftpserv diag-router # Modem/WLAN
NetworkManager avahi-daemon # Networking
#gpsd-pds # GPS
neard # NFC
#buffyboard # TTY on-screen touch enabled keyboard
# FIXME: the following is spammed with no keyboard visible on minimal simplefb tree (alpine .config)
#[Warn] (66.514, +31) indev_pointer_proc: X is 0 which is greater than hor. res (in lv_indev.c line #349)
#[Warn] (66.515, +1) indev_pointer_proc: Y is 0 which is greater than hor. res (in lv_indev.c line #352)
)
disable_sv=(
agetty-tty{2..6} # We don't need more than 1 active tty on embedded devices
rndis-tethering # Just keep rndis-tethering managed by runit so "sv start rndis-tethering" works
)
overlays=(
# Mount debugfs at /sys/kernel/d, symlinked from /d
debugfs
# Mount tracefs at /sys/kernel/tracing, symlinked from /t
tracefs
# Allow running "dmesg" & "ping" without root
dmesg-noroot
ping-network-group
# Let runit manage ModemManager instead of dbus
modemmanager-runit
# Resize flashed rootfs on partitions
resize-root
# Set hostname on boot based on board DT compatible
gen-hostname
# Setup firmware on initial boot
qcom-fw-setup-oneshot
# Some NFC testing scripts
neard-tests
# SoMainline user configs etc.
# NOTE: Make sure this is the last one or else config.gnome.sh breaks!
somainline
)
# Avoid using all threads on the server for package building :)
#XBPS_MAKEJOBS=4