Skip to content

Commit 8b55539

Browse files
committed
Improve the documentation, no functional changes
1 parent 29b3951 commit 8b55539

File tree

2 files changed

+79
-5
lines changed

2 files changed

+79
-5
lines changed

Diff for: README.adoc

+77-3
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,14 @@
1212
:toc:
1313
:toclevels: 5
1414

15+
ifdef::env-github[]
16+
:tip-caption: :bulb:
17+
:note-caption: :information_source:
18+
:important-caption: :heavy_exclamation_mark:
19+
:caution-caption: :fire:
20+
:warning-caption: :warning:
21+
endif::[]
22+
1523
== ChangeLog
1624

1725
IMPORTANT: Until this package has stabilised and until it has reached a 1.0.0
@@ -25,6 +33,10 @@ WARNING: Read the warning above.
2533
|===
2634
|Version | Note
2735

36+
| *0.4.10*
37+
a|
38+
* Improved documentation. No functional changes.
39+
2840
| *0.4.1*
2941
a|
3042
* Remove unnecessary license headers and simply copy UNLICENSED to appropriate place
@@ -106,9 +118,71 @@ Please refer to your favourite package manager's documentation in learn how to
106118
install it for you 😄
107119

108120
NOTE: Obviously, you must also install Wireguard! Choose either manual
109-
installation (using git and compiling it yourself), or using `wireguard-arch`
110-
or `wireguard-dkms`. Life is short, so personally I just roll with
111-
`wireguard-arch`. Seems to work OOTB for me, but YMMV...
121+
installation (using git and compiling it yourself), or using
122+
`wireguard-tools`. Life is short, so personally I just roll with
123+
`wireguard-tools`.
124+
125+
== Additional Requirements
126+
127+
This software requires a few necessary additions:
128+
129+
* `mkinitcpio-utils`
130+
* `mkinitcpio-netconf`
131+
132+
These packages provide the means to configure the network interface
133+
via passed in kernel parameters and the ability to ssh to the machine
134+
remotely. Basic instructions follow:
135+
136+
You will need to choose been `mkinitcpio-tinyssh` or
137+
`mkinitcpio-dropbear` and install one or the other. This documentation
138+
describes only `mkinitcpio-tinyssh` as it supports ed25519 and I quite
139+
like it.
140+
141+
* `mkinitcpio-tinyssh`
142+
* `mkinitcpio-dropbear`
143+
144+
=== mkinitcpio-utils
145+
146+
This package configures `encryptssh` to perform remote unlocking. It
147+
works with both `mkinitcpio-tinyssh` and `mkinitcpio-dropbear`. See
148+
below on `Hook Installation` for the module ordering for
149+
`mkinitcpio.conf`
150+
151+
=== mkinitcpio-netconf
152+
153+
This package sets up the interfaces just immediately after booting the
154+
kernel based upon the IP parameters passed into the kernel via GRUB.
155+
This is very important as this sets thing up in order for tinyssh (or
156+
dropbear) and wireguard to function. For example, in your
157+
`/etc/default/grub` file, the `GRUB_CMDLINE_LINUX` line may look like
158+
this:
159+
160+
```
161+
GRUB_CMDLINE_LINUX="cryptdevice=UUID=35fbb65a-eeb9-4a6a-7b13-a05d9b0fcf6f:cryptroot root=/dev/mapper/cryptroot ip=192.168.1.10:192.168.1.1:255.255.255.0::eth0::"
162+
```
163+
164+
This says to use the cryptdevice defined by the UUID, which will map
165+
itself to `cryptoroot` after successful unlocking and also set the IP
166+
parameters on the kernel, i.e., host = 192.168.1.10, gateway =
167+
192.168.1.1, netmask = 255.255.255.0, and kernel network interface
168+
eth0.
169+
170+
Further information on the ip kernel parameter can be found
171+
https://github.com/torvalds/linux/blob/master/Documentation/admin-guide/nfs/nfsroot.rst[here].
172+
173+
IMPORTANT: Use the **kernel** device name, i.e., **eth0**, and not the
174+
well known predictable name, such as **enp0s31f6**.
175+
176+
=== mkinitcpio-tinyssh (or mkinitcpio-dropbear)
177+
178+
This package installs `tinyssh` to allow SSH connections. It's small
179+
enough to fit into the daemon into the early userspace and allows for
180+
the use of ed25519 keys (which are great!)
181+
182+
The steps here are:
183+
184+
. Create an ed25519 keypair using openssh, i.e., `ssh-keygen -t ed25519`
185+
. Copy the public key to `/etc/tinyssh/root_key`
112186

113187
== Configuration
114188

Diff for: wireguard_install

+2-2
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ configured via the "/etc/wireguard/initcpio/unlock" file. This must be done!
3232
3333
In addition to this hook, you will require something like tinyssh or dropbear
3434
appropriately configured in order to gain remote access. Please refer to the
35-
Arch Wiki for further details with regards to remote unlocking of encrypted
36-
partitions.
35+
README.adoc AND the Arch Wiki for further details with regards to remote
36+
unlocking of encrypted partitions.
3737
HELPME
3838
}
3939

0 commit comments

Comments
 (0)