aboutsummaryrefslogtreecommitdiffhomepage
path: root/index.md
blob: ab34d63241faec8ac22eb26ab1e14f5ecad16b66 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
Setup OpenBSD as a daily driver using only the included, core programs. Based on OpenBSD 7.6.

---

{{TOC}}

## Requirements

- USB device
- Ethernet connection (with active internet)
- A cup of coffee

The real requirements are having patience and a passion for keeping things minimal. It's important to remeber that this setup isn't the most user-friendly. There will be no config files to edit or download in this guide. We will be using the `xenodm` login manager paired with the default stacked window manager `fvwm`. And that's it.

You have been warned!

## Installation

Make sure you have the latest OpenBSD image formatted on a USB device (or burned to a CD if that's your cup of tea!) and that your computer/laptop is set to boot from USB via the BIOS. Also make sure you are connected to the internet via ethernet cable (don't worry, we'll setup WiFi in a minute!)

Boot into the device and input the following when guided through the installer:

1. Boot from USB
2. Choose `Install`
3. Keyboard layout: `us`
4. Hostname: `x220` (or whatever you choose)
5. Network: `em0`
6. IPv4: `autoconf`
7. IPv6: `none`
8. Network interface: `done`
9. Password for root
10. Start sshd by default? `yes`
11. X Window System start with xenodm? `no`
12. Setup user? `username` (follow setup user steps)
13. Allow root ssh login? `no`
14. Timezone
15. Which disk? Use internal (`sd0` etc.)
16. Encrypt root disk? `no`
17. Use `WHOLE` disk
18. Use `AUTO` layout
19. Which disk to initialize: `done`
20. Location of sets: `http`
21. HTTP Proxy URL? `none`
22. HTTP Server? `1` (Toronto)
23. Confirm again
24. Server directory? `pub/OpenBSD/7.6/amd64`
25. Set names? `done`
26. Drink some coffee while it verifies (depends on network speed)
27. Location of sets? `done`
28. Congrats!
29. Reboot and remove USB device

## First Boot Tweaks

### User Permissions

Before we do anything, we should give our main user full access via `doas`. Login as `root` and run the following:

    su -
    echo "permit nopass :wheel" >> /etc/doas.conf

Now you can logout or reboot the machine.

    doas reboot

Running any of the commands might present you with a permissions error. If that happens, simply add `doas` to the start of every command.

### Firmware

Once your machine reboots, login as your created user. The next steps will help you ensure you have the latest firmware.

Simply run the command: `fw_update`


### WiFi

To enable wifi on your device, run the following command (filling in the proper details where need be)

    ifconfig iwn0 up
    ifconfig iwn0 scan
    echo "join WIFI-NAME wpakey PASSPHRASE" >> /etc/hostname.iwn0
    echo "dhcp" >> /etc/hostname.iwn0
    echo "inet6 autoconf" >> /etc/hostname.iwn0
    echo "up powersave" >> /etc/hostname.iwn0
    dhclient iwn0

Take note of the `iwn0`, as this might differ on your machine. (You can check this by running `ifconfig`)

You might also need to run `doas sh /etc/netstart` after.


### Performance Boost

This step is optional and targeted towards devices with batteries (laptops, IoT devices etc). Properly setup apmd:

    rcctl enable apmd
    rcctl set apmd flags -A
    rcctl start apmd
    
## Login Manager

Remember when we chose `No` when the installer asked us "X Window System start with xenodm?". Well, now we want to enable that before our next reboot:

    doas rcctl enable xenodm
    
Now reboot your device again.

    doas reboot
    
## The First *Real* Login

## Configs

Okay, I *know* I said there wouldn't be any configs included in this guide. Frankly, you should be having zero problems working with all those defaults now that you've run through this guide! BUT - I wanted to include some *very minor* configuration tweaks that might make things a little more intuitive for newcomers. Feel free to ignore these entirely!

## Contribute

I'm far from an OpenBSD expert! Please [help improve this project](https://git.sr.ht/~bt/openbased)!