Fine-tune README

This commit is contained in:
macmpi 2022-07-29 12:30:38 +02:00
parent 089996a528
commit 9141ed77ee
1 changed files with 12 additions and 12 deletions

View File

@ -1,32 +1,32 @@
# Deploy Alpine Linux on a headless box # Deploy Alpine Linux on a headless system
The [Alpine Linux documentation](https://docs.alpinelinux.org/user-handbook/0.1a/Installing/setup_alpine.html) assumes one can interract with system directly with a keyboard & display.\ [Alpine Linux documentation](https://docs.alpinelinux.org/user-handbook/0.1a/Installing/setup_alpine.html) assumes one can interract with system directly with a keyboard & display.\
However, there are many cases where one might want to deploy a headless system, only available via a network connection (ethernet, wifi or as USB ethernet gadget). However, there are many cases where one might want to deploy a headless system, only available through a network connection (ethernet, wifi or as USB ethernet gadget).
This repo provides an overaly file headless system can boot with (leveraging Alpine distro's `initramfs` feature): it enables basic ssh server to log-into from another Computer in order to finalize system set-up. This repo provides an overaly file to initially boot the headless system (leveraging Alpine distro's `initramfs` feature): it enables a basic ssh server to log-into from another Computer, in order to finalize system set-up.
## Install procedure: ## Install procedure:
Please follow [Alpine Linux Wiki](https://wiki.alpinelinux.org/wiki/Installation#Installation_Overview) to download & create installation media for chosen platform.\ Please follow [Alpine Linux Wiki](https://wiki.alpinelinux.org/wiki/Installation#Installation_Overview) to download & create installation media for the chosen platform.\
Tools provided here can be used on any plaform for any install modes (diskless, data disk, system disk). Tools provided here can be used on any plaform for any install modes (diskless, data disk, system disk).
Just add [**headless.apkovl.tar.gz**](https://github.com/macmpi/alpine-linux-headless-bootstrap/raw/main/headless.apkovl.tar.gz) overlay file at the root of Alpine Linux boot media (or onto any writeable side-media) and boot the box ! Just add [**headless.apkovl.tar.gz**](https://github.com/macmpi/alpine-linux-headless-bootstrap/raw/main/headless.apkovl.tar.gz) overlay file at the root of Alpine Linux boot media (or onto any writeable side-media) and boot the system.
With default network interface definitions (and optional wifi SSID/pass file), one may then access the system under `ssh` with:\ With default network interface definitions (and optional wifi SSID/pass file), one may then access the system under `ssh` with:\
`ssh root@<IP>` (system IP address may be determined with any IP scanning tools such as `nmap`). `ssh root@<IP>` (system IP address may be determined with any IP scanning tools such as `nmap`).
As with Alpine Linux initial bring-up, `root` account has no password initially (change that after setup!).\ As with Alpine Linux initial bring-up, `root` account has no password initially (change that after setup!).\
From there, system install can be fine-tuned as usual with `setup-alpine` for instance (check wiki for details). From there, system install can be fine-tuned as usual with `setup-alpine` for instance (check [wiki](https://wiki.alpinelinux.org/wiki/Alpine_setup_scripts#setup-alpine) for details).
Optional files can be added next to `headless.apkovl.tar.gz` to customise setup (sample files are provided): Optional files can be added next to `headless.apkovl.tar.gz` to customise setup (sample files are provided):
- `wpa_supplicant.conf`: define wifi SSID & password (mandatory for wifi usecase). - `wpa_supplicant.conf`: define wifi SSID & password (mandatory for wifi usecase).
- `interfaces`: define network interfaces at will, if [defaults](https://github.com/macmpi/alpine-linux-headless-bootstrap/blob/main/overlay/etc/local.d/headless.start#L26-L64) (DCHP-based) are not suitable. - `interfaces`: define network interfaces at will, if defaults DCHP-based are not suitable.
- `unattended.sh`: make custom automated deployment script to further tune setup automatically (backgrounded). - `unattended.sh`: make custom automated deployment script to further tune & extend setup (backgrounded).
*Note:* these files are linux text files: Windows/macOS users need to use text editors supporting linux text line-ending (such as [notepad++](https://notepad-plus-plus.org/), BBEdit or any other). *Note:* these files are linux text files: Windows/macOS users need to use text editors supporting linux text line-ending (such as [notepad++](https://notepad-plus-plus.org/), BBEdit or any other).
Main steps are logged in `/var/log/messages`. Main execution steps are logged in `/var/log/messages`.
## How to customize further ? ## How to customize further ?
@ -34,8 +34,8 @@ This repository may be forked/cloned/downloaded.\
Main script file is [`headless.start`](https://github.com/macmpi/alpine-linux-headless-bootstrap/blob/main/overlay/etc/local.d/headless.start).\ Main script file is [`headless.start`](https://github.com/macmpi/alpine-linux-headless-bootstrap/blob/main/overlay/etc/local.d/headless.start).\
Execute `./make.sh` to rebuild `headless.apkovl.tar.gz`. Execute `./make.sh` to rebuild `headless.apkovl.tar.gz`.
*Side note:* one nicety for bootstrapping PiZero devices or similar which can support USB ethernet gadget networking.\ *Side note:* one nicety for bootstrapping PiZero devices, or similar which can support USB ethernet gadget networking.\
Just add `dtoverlay=dwc2` in `config.txt`, and plug-in USB to Computer port.\ Just add `dtoverlay=dwc2` in `usercfg.txt` (or `config.txt`), and plug-in USB to Computer port.\
With Computer set-up to share networking with USB interface, device will appear at 10.42.0.2 onto Computer's subnet to log into !... With Computer set-up to share networking with USB interface, device will appear at 10.42.0.2 onto Computer's subnet to log into !...