Copyright bee42 solutions gmbh 2021 -
[email protected] @PRossbach
8
ubuntu-20.04-server-cloudimg-arm64-vmlinuz-generic
ubuntu-20.04-server-cloudimg-arm64-initrd-generic
ubuntu-20.04-server-cloudimg-arm64.tar.gz
https://cloud-images.ubuntu.com/releases/focal/release/unpacked
vmlinuz
initrd
ubuntu-20.04-disk.img
vm-ubuntu2004
$ vftool -k vmlinux \
-i initrd -d ubuntu-20.04-disk.img \
-m 2048 \
-a "console=hvc0"
screen /dev/ttys002
Bootstrap with initramfs
> mkdir /mnt
> mount /dev/vda /mnt
> chroot /mnt
> touch /etc/cloud/cloud-init.disabled
> echo 'root:root' | chpasswd
> echo "beebsilicon" >/etc/hostname
> ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N '' -t rsa
> ssh-keygen -f /etc/ssh/ssh_host_dsa_key -N '' -t dsa
> ssh-keygen -f /etc/ssh/ssh_host_ed25519_key -N '' -t ed25519
> cat < /etc/netplan/01-dhcp.yaml
network:
renderer: networkd
ethernets:
enp0s1:
dhcp4: true
version: 2
EOF
> exit
> resizefs /dev/vda
> umount /dev/vda
$ vftool -k vmlinux \
-i initrd -d ubuntu-20.04-disk.img \
-m 2048 \
-a "console=hvc0 root=/dev/vda"
screen /dev/ttys002
Use the VM
Get the OS
Prepare the setup
Install docker
docker context via ssh
Setup ssh
Access via ssh 192.168.64.6
Visual Studio Code
+ docker extension
docker engine
> sudo apt-get update
> sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
> curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
> sudo add-apt-repository \
"deb [arch=arm64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
> sudo apt-get update
> sudo apt-get install docker-ce docker-ce-cli containerd.io
> sudo sh -c "cat < /etc/docker/daemon.json
{
\"storage-driver\": \“overlay2\“,
\“experimental\“: \“enabled\“
}
EOF"
> sudo service docker restart
$ ibrew -v install qemu
$ qemu-img resize ubuntu-20.04-disk.img +50G
https://github.com/evansm7/vftool
> sudo adduser peter
# check group
> groups peter
> sudo usermod -aG sudo peter
$ ibrew install docker kubernetes-cli helm
$ docker context create beesilicon \
--docker "host=ssh://
[email protected]"
$ docker context use beesilicon
$ docker info
$ ibrew install ssh-copy-id
$ ssh-keygen -o -a 100 -t ed25519 \
-f ~/.ssh/id_ed25519-peter -C "
[email protected]"
$ ssh-copy-id -i .ssh/id_ed25519-peter.pub
[email protected]
$ ssh-add -k ~/.ssh/id_ed25519-peter