Compare commits
3 Commits
d40447c6fa
...
aa87d4b540
Author | SHA1 | Date |
---|---|---|
macmpi | aa87d4b540 | |
macmpi | bfd9056fed | |
macmpi | 49a9f625ca |
11
README.md
11
README.md
|
@ -3,21 +3,22 @@
|
||||||
[Alpine Linux documentation](https://docs.alpinelinux.org/user-handbook/0.1a/Installing/setup_alpine.html) assumes **initial setup** is carried-out on a system with a keyboard & display to interract with.\
|
[Alpine Linux documentation](https://docs.alpinelinux.org/user-handbook/0.1a/Installing/setup_alpine.html) assumes **initial setup** is carried-out on a system with a keyboard & display to interract with.\
|
||||||
However, in many cases one might want to deploy a headless system that is only available through a network connection (ethernet, wifi or as USB ethernet gadget).
|
However, in many cases one might want to deploy a headless system that is only available through a network connection (ethernet, wifi or as USB ethernet gadget).
|
||||||
|
|
||||||
This repo provides an **overlay file** to initially bootstrap[^1] a headless system (leveraging Alpine distro's `initramfs` feature): it starts a ssh server to log-into from another Computer, so that actual install on fresh system (or rescue on existing disk-based system) can then be performed remotely.
|
This repo provides an **overlay file** to initially bootstrap[^1] a headless system (leveraging Alpine distro's `initramfs` feature): it starts a ssh server to log-into from another Computer, so that actual install on fresh system (or rescue on existing disk-based system) can then be performed remotely.\
|
||||||
|
An optional script may be launched at startup, to perform automated actions/setup.
|
||||||
|
|
||||||
|
|
||||||
## Setup procedure:
|
## Setup procedure:
|
||||||
Please follow [Alpine Linux Wiki](https://wiki.alpinelinux.org/wiki/Installation#Installation_Overview) to download & create installation media for the target platform.\
|
Please follow [Alpine Linux Wiki](https://wiki.alpinelinux.org/wiki/Installation#Installation_Overview) to download & create installation media for the target 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)[^2] overlay file at the root of Alpine Linux boot media (or onto any custom side-media) and boot-up the system.\
|
Just add [**headless.apkovl.tar.gz**](https://is.gd/apkovl_master)[^2] overlay file at the root of Alpine Linux boot media (or onto any custom side-media) and boot-up the system.\
|
||||||
With default network interface definitions (and SSID/pass file if using wifi), system can then be remotely accessed with: `ssh root@<IP>`\
|
With default network interface definitions (and [SSID/pass file](#extra-configuration) if using wifi), system can then be remotely accessed with: `ssh root@<IP>`\
|
||||||
(system IP address may be determined with any IP scanning tools such as `nmap`).
|
(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 during setup!).\
|
As with Alpine Linux initial bring-up, `root` account has no password initially (change that during setup!).\
|
||||||
From there, actual system install can be performed as usual with `setup-alpine` for instance (check [wiki](https://wiki.alpinelinux.org/wiki/Alpine_setup_scripts#setup-alpine) for details).
|
From there, actual system install can be performed as usual with `setup-alpine` for instance (check [wiki](https://wiki.alpinelinux.org/wiki/Alpine_setup_scripts#setup-alpine) for details).
|
||||||
|
|
||||||
|
## Extra configuration:
|
||||||
Extra files may be added next to `headless.apkovl.tar.gz` to customise boostrapping configuration (check sample files):
|
Extra files may be added next to `headless.apkovl.tar.gz` to customise boostrapping configuration (check sample files):
|
||||||
- `wpa_supplicant.conf`[^3] (*mandatory for wifi usecase*): define wifi SSID & password.
|
- `wpa_supplicant.conf`[^3] (*mandatory for wifi usecase*): define wifi SSID & password.
|
||||||
- `interfaces`[^3] (*optional*): define network interfaces at will, if defaults DCHP-based are not suitable.
|
- `interfaces`[^3] (*optional*): define network interfaces at will, if defaults DCHP-based are not suitable.
|
||||||
|
@ -38,7 +39,7 @@ Main execution steps are logged in `/var/log/messages`.
|
||||||
[^3]: 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 similar).
|
[^3]: 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 similar).
|
||||||
|
|
||||||
|
|
||||||
## How to customize ?
|
## Want to tweak more ?
|
||||||
This repository may be forked/cloned/downloaded.\
|
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` after changes.
|
Execute `./make.sh` to rebuild `headless.apkovl.tar.gz` after changes.
|
||||||
|
|
Loading…
Reference in New Issue