bundles/raspberrypi: introduce
This commit is contained in:
parent
01364c2c50
commit
5d1e71e83e
5 changed files with 73 additions and 6 deletions
14
bundles/raspberrypi/files/config.txt
Normal file
14
bundles/raspberrypi/files/config.txt
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
disable_overscan=1
|
||||||
|
hdmi_force_hotplug=1
|
||||||
|
dtparam=spi=on
|
||||||
|
dtparam=spi=on
|
||||||
|
dtoverlay=vc4-fkms-v3d
|
||||||
|
max_framebuffers=2
|
||||||
|
|
||||||
|
% if node.os == 'debian':
|
||||||
|
arm_64bit=1
|
||||||
|
% endif
|
||||||
|
|
||||||
|
% for key, value in node.metadata['raspberrypi']['config.txt'].items():
|
||||||
|
${key}=${value}
|
||||||
|
% endfor
|
27
bundles/raspberrypi/items.py
Normal file
27
bundles/raspberrypi/items.py
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
default_target = node.metadata['raspberrypi']['default-target']
|
||||||
|
|
||||||
|
# On a FAT filesystem.
|
||||||
|
file_perms = {
|
||||||
|
'owner': None,
|
||||||
|
'group': None,
|
||||||
|
'mode': None,
|
||||||
|
}
|
||||||
|
|
||||||
|
actions = {
|
||||||
|
'raspberrypi_assure_target': {
|
||||||
|
'command': f'systemctl set-default {default_target}',
|
||||||
|
'unless': f'[ $(systemctl get-default) = "{default_target}" ]',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
files = {
|
||||||
|
'/boot/cmdline.txt': {
|
||||||
|
'content': ' '.join(sorted(node.metadata['raspberrypi']['cmdline'])),
|
||||||
|
**file_perms,
|
||||||
|
},
|
||||||
|
'/boot/config.txt': {
|
||||||
|
'content_type': 'mako',
|
||||||
|
'context': node.metadata['raspberrypi'],
|
||||||
|
**file_perms,
|
||||||
|
},
|
||||||
|
}
|
16
bundles/raspberrypi/metadata.py
Normal file
16
bundles/raspberrypi/metadata.py
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
defaults = {
|
||||||
|
'raspberrypi': {
|
||||||
|
'default-target': 'multi-user.target',
|
||||||
|
'cmdline': {
|
||||||
|
'console=tty1',
|
||||||
|
'root=/dev/mmcblk0p2',
|
||||||
|
'rootfstype=ext4',
|
||||||
|
'elevator=deadline',
|
||||||
|
'fsck.repair=yes',
|
||||||
|
'rootwait',
|
||||||
|
'quiet',
|
||||||
|
'plymouth.ignore-serial-consoles',
|
||||||
|
},
|
||||||
|
'config.txt': {},
|
||||||
|
},
|
||||||
|
}
|
12
groups/os.py
Normal file
12
groups/os.py
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
groups['raspberry'] = {
|
||||||
|
'bundles': {
|
||||||
|
'raspberrypi',
|
||||||
|
},
|
||||||
|
'metadata': {
|
||||||
|
'users': {
|
||||||
|
'pi': {
|
||||||
|
'delete': True,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
|
@ -4,8 +4,11 @@ nodes['home.octoprint-vielschichtigkeit'] = {
|
||||||
'nginx',
|
'nginx',
|
||||||
'octoprint',
|
'octoprint',
|
||||||
},
|
},
|
||||||
'groups': set(),
|
'groups': {
|
||||||
|
'raspberry',
|
||||||
|
},
|
||||||
'metadata': {
|
'metadata': {
|
||||||
|
'hostname': 'octoprint-vielschichtigkeit',
|
||||||
'interfaces': {
|
'interfaces': {
|
||||||
'eth0': {
|
'eth0': {
|
||||||
'ipv4': {
|
'ipv4': {
|
||||||
|
@ -32,11 +35,6 @@ nodes['home.octoprint-vielschichtigkeit'] = {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
'users': {
|
|
||||||
'pi': {
|
|
||||||
'delete': True,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
'vm': {
|
'vm': {
|
||||||
'cpu': 4,
|
'cpu': 4,
|
||||||
'ram': 1,
|
'ram': 1,
|
||||||
|
|
Loading…
Reference in a new issue