Compare commits

...

3 Commits

Author SHA1 Message Date
20e1d72160 Fixed build sudo priviliges 2020-11-02 12:00:10 +02:00
cce80e6fde Refactored scripts 2020-11-02 11:51:20 +02:00
1d35e2beba Install torch-agent from the Rudefox Repo 2020-11-02 11:18:56 +02:00
8 changed files with 55 additions and 34 deletions

3
.gitignore vendored
View File

@ -1,3 +1,4 @@
/build/ /build/
parameters.env parameters.env
*.img *.img
*.img.*

View File

@ -48,8 +48,10 @@ tar -xzvf build/rpi-cloud-init.tgz -C /mnt/rpi-boot
Place a decompressed Ubuntu Server `*.img` file in the project directory and Place a decompressed Ubuntu Server `*.img` file in the project directory and
use `img-config.sh` to both build the project and dope the boot partition of `*.img` file directly use `img-config.sh` to both build the project and dope the boot partition of `*.img` file directly
**Note**: Must be run from an account with `sudo` permissions
```bash ```bash
sudo ./img-config.sh ubuntu-20.04.1-preinstalled-server-arm64+raspi.img ./img-config.sh ubuntu-20.04.1-preinstalled-server-arm64+raspi.img
``` ```
## Roadmap ## Roadmap

View File

@ -16,9 +16,7 @@ $(cat src/user-data)
~" > build/cloud-init/user-data ~" > build/cloud-init/user-data
cp src/meta-data build/cloud-init/ cp src/meta-data build/cloud-init/
cp src/initial-setup.sh build/cloud-init/ cp src/*.sh build/cloud-init/
cp src/install-torch.sh build/cloud-init/
cp src/torch-agent_0.0.4-1_all.deb build/cloud-init/
mkdir build/cloud-init/torch-config mkdir build/cloud-init/torch-config
cp -r $TORCH_CONFIG_DIR/* build/cloud-init/torch-config/ cp -r $TORCH_CONFIG_DIR/* build/cloud-init/torch-config/
@ -26,4 +24,4 @@ cp -r $TORCH_CONFIG_DIR/* build/cloud-init/torch-config/
tar -C build -czvf build/rpi-cloud-init.tgz cmdline.txt cloud-init tar -C build -czvf build/rpi-cloud-init.tgz cmdline.txt cloud-init
rm -rf build/cloud-init rm -rf build/cloud-init
rm build/cmdline.txt rm build/cmdline.txt

View File

@ -1,12 +1,15 @@
#!/bin/bash #!/bin/bash
[ $# -eq 0 ] && { echo "Usage: $0 IMG_FILE"; exit 1; }
SECTOR_BYTES=512 SECTOR_BYTES=512
SECTOR_START=2048 SECTOR_START=2048
OFFSET=$(($SECTOR_BYTES*$SECTOR_START)) OFFSET=$(($SECTOR_BYTES*$SECTOR_START))
./build.sh ./build.sh
mkdir -p boot-part mkdir -p boot-part
mount -o rw,loop,offset=$OFFSET $1 ./boot-part sudo mount -o rw,loop,offset=$OFFSET $1 ./boot-part
tar -xzvf build/rpi-cloud-init.tgz -C boot-part tar -xzvf build/rpi-cloud-init.tgz -C boot-part
umount ./boot-part sudo umount ./boot-part
rmdir ./boot-part rmdir ./boot-part
rm -rf ./build

View File

@ -1,7 +1,6 @@
#!/bin/sh -e #!/bin/sh -e
apt-get -y install /boot/firmware/cloud-init/torch-agent_0.0.4-1_all.deb
cp -r /boot/firmware/cloud-init/torch-config/* /etc/torch/ cp -r /boot/firmware/cloud-init/torch-config/* /etc/torch/
chown torch -R /etc/torch chown torch -R /etc/torch
systemctl daemon-reload systemctl daemon-reload
systemctl enable torch-agent systemctl enable torch-agent

View File

@ -2,29 +2,29 @@
export DEBIAN_FRONTEND=noninteractive export DEBIAN_FRONTEND=noninteractive
apt-get -y purge\ apt-get -y purge \
cloud-init cloud-guest-utils\ cloud-init cloud-guest-utils \
cloud-initramfs-copymods cloud-initramfs-dyn-netconf\ cloud-initramfs-copymods cloud-initramfs-dyn-netconf \
open-iscsi open-iscsi
rm -rf /etc/cloud/ /var/lib/cloud/ rm -rf /etc/cloud/ /var/lib/cloud/
apt-get update apt-get update
apt-get -y\ apt-get -y \
-o Dpkg::Options::="--force-confdef"\ -o Dpkg::Options::="--force-confdef" \
-o Dpkg::Options::="--force-confold"\ -o Dpkg::Options::="--force-confold" \
upgrade upgrade
apt-get -y install\ apt-get -y install \
vim\ vim \
gparted\ gparted \
libc6:armhf libstdc++6:armhf\ libc6:armhf libstdc++6:armhf \
lxterminal\ lxterminal \
usbmount usbmount
# Workaround for usbmount bug on Bionic # Workaround for usbmount bug on Bionic
mkdir -p /etc/systemd/system/systemd-udevd.service.d mkdir -p /etc/systemd/system/systemd-udevd.service.d
echo "[Service]\nMountFlags=shared\n" >\ echo "[Service]\nMountFlags=shared\n" > \
/etc/systemd/system/systemd-udevd.service.d/override.conf /etc/systemd/system/systemd-udevd.service.d/override.conf
systemctl daemon-reload systemctl daemon-reload
service systemd-udevd --full-restart service systemd-udevd --full-restart

Binary file not shown.

View File

@ -14,20 +14,38 @@ users:
ssh_authorized_keys: ssh_authorized_keys:
- $SSH_PUBKEY - $SSH_PUBKEY
runcmd: apt:
# Disable optional PAM features for faster SSH login sources:
# - 'mv /etc/pam.d/sshd /etc/pam.d/sshd.bak' rudefox.list:
# - 'sed "s/^session[ \t]\+optional/#\0/" /etc/pam.d/sshd.bak > /etc/pam.d/sshd' source: "deb https://repo.rudefox.io/repository/apt-release focal main"
key: |
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQENBF98c5oBCADb1LGtaxRg6pCHadJ72XVgkOkdrCBs7TElovYeX1y/pj1kUmSN
+RO0Ax0YlHxKpuicIEU3HzL8qJ0FbB9ShGnYXxVhxn4HuVSvVpqcExCK2Dkz2g2+
0HpmDsptcsHpvTr0JiPClr4GgbeJuoz5kBOwmE8uQ5NswUysvkOWnlht1ILZMGat
wimqQaJbZ57TI+q3GPCRaWc2bwRoFS/bVjQrZ18fkRcdUsWLcy0JuipoBklWbKSP
VT1kfwz+akhyjiNO8F9n+5JYDi6vbZIwucQMcsLkZyvhdhLPfd37jjdFFF7EIG4d
tsF50JzbpAEt4FfHDvyEgfOTE+CWU52CS5EBABEBAAG0H1RPUmNoLUFnZW50IDxi
amR3ZWNrQGdtYWlsLmNvbT6JAU4EEwEKADgWIQQU2IX2LS4EHRNbm77btWA5gL84
gwUCX3xzmgIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRDbtWA5gL84g5pq
B/48M4WZLfoeLNuw39MEDXF7WSDglF5qle7I8AnB0OTxER1WZO8ZiZcHjZChINXY
qTglpfdj525cD2s7ClFkFMsvAUy+th/otguac41DZcbiJUQoNAHbu3rAdnEHERxU
8at6us1kgou5Cd+zz9a6LbusUte4MCTGx/yAd0mNrZqkMO8v0Rb0VvKZhm658RXp
y8ExNfZYRLy1qH5K+ucL78dczAeIMyYlEUXJpFVvR7vgpMOQuIcSA7ez4gXNWmwp
rgzJtFxzVo1RGDujlcjqJxH02KXo52KRmkXxfF8gF3Rkt4pNuCgw9v9flvBg9dEb
fwqgmqM4gR+TXquJ7e9wnvly
=VE78
-----END PGP PUBLIC KEY BLOCK-----
# Back up the SSH default config and activate the new config packages: ['torch-agent']
# - 'mv /etc/ssh/sshd_config /etc/ssh/sshd_config.bak'
# - 'mv /etc/ssh/sshd_config.new /etc/ssh/sshd_config' runcmd:
# - 'service ssh reload'
# Multi-arch support on aarch64 # Multi-arch support on aarch64
- 'dpkg --add-architecture armhf' - 'dpkg --add-architecture armhf'
# Run optional script for additoinal package setup # Run setup scripts
- '/boot/firmware/cloud-init/initial-setup.sh' - '/boot/firmware/cloud-init/initial-setup.sh'
- '/boot/firmware/cloud-init/install-torch.sh' - '/boot/firmware/cloud-init/configure-torch.sh'
- 'reboot now' - 'reboot now'