Use this better tutorial: https://gist.github.com/karolba/a3f1c5f8d50c67f5a19e6c8f38e53e12
- Reboot into the rescue image
- Then execute these commands:
cd /dev/shm
mkdir alpine
cd alpine
Use this better tutorial: https://gist.github.com/karolba/a3f1c5f8d50c67f5a19e6c8f38e53e12
cd /dev/shm
mkdir alpine
cd alpine
| # Known working dnsmasq version 2.85 config for iPXE proxydhcp usage | |
| # things to replace: | |
| # * 10.1.1.0 - your subnet | |
| # * eth0 - interface to listen on, or switch to bind-dynamic | |
| # * 10.1.1.2 - your tftp server ip | |
| # * http://gentoo.ipxe.se/boot.ipxe - script to run once inside iPXE | |
| # Debug logging | |
| log-debug |
| package main | |
| import ( | |
| "archive/zip" | |
| "bytes" | |
| "encoding/json" | |
| "fmt" | |
| "io" | |
| "io/ioutil" | |
| "log" |
Connect to the serial console, using scw instance server console {uuid} zone={zone}
Reboot the VM into UEFI settings
Go to Device Manager -> Network Device List -> the only network device -> HTTP Boot Configuration -> Boot URI
Each day at our company, developers are required to document their activities, painstakingly jotting down their daily work and future plans. A monotonous chore that I just really dislike.
So now, there's a scribe for that :
| #!/bin/bash | |
| FW_MARK="$((RANDOM%2147483646 + 1))" | |
| if [ "$(ip -4 rule show fwmark ${FW_MARK})" ] || [ "$(ip -6 rule show fwmark ${FW_MARK})" ]; then | |
| while [ "$(ip -4 rule show fwmark ${FW_MARK})" ] || [ "$(ip -6 rule show fwmark ${FW_MARK})" ]; do | |
| FW_MARK="$((RANDOM%2147483646 + 1))" | |
| done | |
| fi | |
| TABLE="$((RANDOM%2147483396 + 1))" | |
| if [ ! "$(ip -4 route show table ${TABLE} 2>/dev/null || echo 1)" = "1" ] || [ ! "$(ip -6 route show table ${TABLE} 2>/dev/null || echo 1)" = "1" ]; then |
| #!/usr/bin/env bash | |
| set -ex | |
| PACKAGES=( | |
| neovim-git | |
| ) | |
| # All this is basically to get around makepkg calling pacman with sudo | |
| # Otherwise we could just call `aur sync` and be done with it |
A couple of code samples to show how a named pipe can be used to extend Go's channel paradigm for use between different processes running on a system.
Note that opening a write channel will return two channels -