~gabrielgio/gabrielgio.me

cf7c6a797a5e7aad65583419fb23705a137c46b9 — Gabriel Arakaki Giovanini 1 year, 9 months ago b1da215
feat: Add draft for how to setup alpine
1 files changed, 123 insertions(+), 0 deletions(-)

A content/posts/2022-12-10-alpine-setup.md
A content/posts/2022-12-10-alpine-setup.md => content/posts/2022-12-10-alpine-setup.md +123 -0
@@ 0,0 1,123 @@
---
title: "Alpine set up for daily driver"
date: 2022-12-10
tags: ['alpine', 'linux']
---

# Installation Process


## Disable secure boot

First, always check for secure book. If it is enabled you won't be able to boot
your thumbdrive.

## setup-alpine
On the official wiki[^1] there a more complete guide on how to setup, and will
probably be more accurate than this one, so always refer to that wiki first.
This is more a log of how I setup. 

Once you boot your live installation run `setup-alpine` and follow the steps:

* _Select keyboard layout_: **us**

* _Select keyboard variant_: **us**

* _Enter system hostname_: **gridx.local** [This is my choice, if you don't know
  what exactly is this go for the default **localhost**]

* _Which one do you want to initialize?_: **wlan0** [I chose wlan0, since it is
  a laptop I don't have it connected to cable]

* _Type the wireless network name to connect to_: **\<NAME\>**

* _Type network key_: ******

* _Ip address for wlan0_? **dhcp** [and for the following device I have chose
  none since I won't use them anyways]

* _Do you want to do any manual network configuration_? **n** 

* _Changing password for root_: ******

* _Which timezone are you in?_ **Europe/Berlin**

* _HTTP/FTP proxy URL?_ **none**
* _Which NTP client to run?_ chrony
* _Enter mirro number?_ **f** [I pick this one to speed up things a bit, default
  one is fine as well]

* _Set an user?_ **\<NAME\>** [Since we aiming to be a desktop create your user here]

* _Full name for user \<NAME\>:_ **\<FULLNAME\>**
* _Type password_: ******

* _Enter ssh key or URL for \<NAME\>?_ **none** [this is a public key so you can
  ssh into this machine]

* _Which ssh server?_ **openssh**

* _Which disks would like to use?_ **\<DISK\>** [now you are going to set up the
  disk for installation]

* _How would you like to use it?_ **crypt** [I like to use encrypted disks, I
  strongly advice for it, but in case you don't want, go for sys directly]

* _How would you like to use it?_ **lvm**

* _How would you like to use it?_ **sys** [more info[^2]]

* _WARNING: Erase the above disks and continue?_ **y**

* Enter passphrase for \<DISK\>: ******

Once you have finish the step run `reboot`.

## Desktop environment

Now comes the "hard" part, where we need to configure the desktop. For me, I'm
going for i3wm with lightdm.

To be able to install all the necessary packages we will need to enable the
community repository[^3]. To edit it I use vim

```bash
apk add vim
# then
vim /etc/apk/repositories
```
and uncomment the `.../community`

```bash
#/media/cdrom/apks
http://dl-cdn.alpinelinux.org/alpine/v3.16/main
http://dl-cdn.alpinelinux.org/alpine/v3.16/community
#http://dl-cdn.alpinelinux.org/alpine/edge/main
#http://dl-cdn.alpinelinux.org/alpine/edge/community
#http://dl-cdn.alpinelinux.org/alpine/edge/testing
```

Then run  `apk update` and you will see the both repositories printed out.

Now we will install the necessary drivers for `xorg` to run properly. Firs
search for all  video drivers `apk search xf86-video*` and install whatever you
have for you computer (in my case `apk add apk add xf86-video-amdgpu`)

* `apk add mesa-dri-gallium mesa-va-gallium mesa-egl`
* `setup-xorg-base`
* `apk add lightdm-gtk-greeter`
* `setup-devd udev`
* `rc-update add dbus`
* `rc-update add lightdm`

* `apk add terminus-font`
*  `dbus-uuidgen > /var/lib/dbus/machine-id`
* `rc-update add dbus`
* `apk add i3wm i3status xterm i3lock`
* `add user <NAME> input`
* `add user <NAME> video`
* `reboot`

[^1]: https://wiki.alpinelinux.org/wiki/Installation#Questions_asked_by_setup-alpine
[^2]: https://wiki.alpinelinux.org/wiki/Installation#The_general_course_of_action
[^3]: https://wiki.alpinelinux.org/wiki/Repositories#Enabling_the_community_repository