User Tools

Site Tools


cs:archlinux_installation

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
cs:archlinux_installation [2019/01/14 10:04]
paolo_bolzoni Add note about installing ZFS packages during bootstrap
cs:archlinux_installation [2021/05/02 14:08] (current)
paolo_bolzoni
Line 93: Line 93:
  
 For ''​cryptdevice''​ between the '':''​ are the disk (or partitions) with the encrypted data and the plain-text abstraction names. For ''​cryptkey''​ are the partition, the partition type, and the filename. For ''​cryptdevice''​ between the '':''​ are the disk (or partitions) with the encrypted data and the plain-text abstraction names. For ''​cryptkey''​ are the partition, the partition type, and the filename.
 +
  
 === What if I have more than one disk? === === What if I have more than one disk? ===
Line 105: Line 106:
 To avoid to have to type the password many times you can consider to add a filekey to the first disk and set up the next hooks to use it. To avoid to have to type the password many times you can consider to add a filekey to the first disk and set up the next hooks to use it.
  
-=== Note on ZFS === 
  
-ZFS at time of writing ​does not support encryptionso to use dm-crypt is still good solutionBut ZFS encrypted pools are already ​in the unstable codeso if doing an installation ​with ZFS double check if to use ZFS directly is already possible.+=== Partitions inside the text-plain abstraction === 
 + 
 +Once the text-plain abstraction is set up, the initcpio encrypt hook does not automatically look up for partitions inside. If neededwe can alter the encrypt hook and installation ​to call ''​partprobe''​ (package  
 +''​parted''​) to inform the OS of the new partitions. 
 + 
 +In the hook file look up for lines with ''​if [ -e "/​dev/​mapper/​${cryptname}"​ ]; then''​ two of those ifs check if the text-plain abstraction has been properly created. Just add ''​partprobe -s "/​dev/​mapper/​${cryptname}"''​ in line below (The ''​-s''​ option is not necessary, but to see the detected partitions can help debugging.) At time of writing the two lines are the 91st and the 129th. 
 + 
 +Example: 
 +  91    if [ -e "/​dev/​mapper/​${cryptname}"​ ]; then 
 +  ...       ​partprobe -s "/​dev/​mapper/​${cryptname}"​ 
 +  92        if [ ${DEPRECATED_CRYPT} -eq 1 ]; then 
 +  93            export root="/​dev/​mapper/​root"​ 
 +  94        fi 
 +  95    else 
 + 
 +Partprobe is part of the package ''​parted''​ and the executable has to be added in initcpio image using the install file. In the install fileadd in the ''​build''​ function a line with
 + 
 +  add_binary "​partprobe"​ 
 + 
 +To use ''​partprobe''​ in the encrypt hook allows ​to have a full-system encryption and still use partitions to keep data separated or to use an encrypted swap. 
 + 
 + 
 +=== Note on ZFS ===
  
 +ZFS at time of writing does not support encryption, so to use dm-crypt is still a good solution. But ZFS encrypted pools are already in the unstable code, so if doing an installation with ZFS double check if it is already possible to use ZFS encryption directly.
 ===== Select mirrors ===== ===== Select mirrors =====
  
Line 130: Line 153:
 === Wifi menu === === Wifi menu ===
  
-The installation media has ''​wifi-menu''​ to easily connect to wireless networks ​easily; unfortunately the ''​base''​ group **does not** has it. So when boot strapping the new environment I use: +The installation media has ''​wifi-menu''​ to easily connect to wireless networks; unfortunately the ''​base''​ group **does not** has it.
- +
-  # pacstrap /mnt base base-devel netctl dialog dhcpcd wpa_supplicant+
  
 The ''​netctl'',​ ''​dialog'',​ ''​dhcpcd'',​ and ''​wpa_supplicant''​ packages just use few megabytes of space, but they ensure you have a easy and quick way to connect to wireless networks after the reboot. The ''​netctl'',​ ''​dialog'',​ ''​dhcpcd'',​ and ''​wpa_supplicant''​ packages just use few megabytes of space, but they ensure you have a easy and quick way to connect to wireless networks after the reboot.
 +
 +In addition many useful packages are in the AUR and to install with easy one needs ''​pikaur,''​ to be installed it needs few deps: ''​git'',​ ''​pyalpm'',​ and ''​python-commonmark''​. So to kickstart the system, a good line is:
 +
 +# pacstrap /mnt linux linux-firmware base base-devel netctl dialog dhcpcd wpa_supplicant git pyalpm python-commonmark
 +
 +''​pikaur''​ will need to be installed manually.
  
 If using ZFS, add to ''​pacstrap''​ also the ''​zfs-dkms''​ and ''​linux-headers'' ​ packages. If using ZFS, add to ''​pacstrap''​ also the ''​zfs-dkms''​ and ''​linux-headers'' ​ packages.
 +
 +
  
 === Wifi card driver === === Wifi card driver ===
Line 155: Line 184:
  
 Once found the kernel driver look it up in the ''/​usr/​lib/​firmware''​ directory to check if the package needs to be installed. Once found the kernel driver look it up in the ''/​usr/​lib/​firmware''​ directory to check if the package needs to be installed.
 +
 +====== Post-installation ======
 +
 +Once started the X (Wayland) server the font configuration will be horible. Often the spacing between the characters will be totally messed up. Here are the instructions to set up the fonts properly ([[https://​www.reddit.com/​r/​archlinux/​comments/​5r5ep8/​make_your_arch_fonts_beautiful_easily/​|Original post]].)
 +
 +First of all install the liberation fonts, it indirectly sets up the correct characters positions.
 +
 +  # pacman -S ttf-liberation
 +
 +Secondly install a bit more fonts.
 +
 +  # pacman -S ttf-ibm-plex ttf-dejavu noto-fonts
 +
 +Enable font presets:
 +
 +  # ln -s /​etc/​fonts/​conf.avail/​70-no-bitmaps.conf /​etc/​fonts/​conf.d
 +  # ln -s /​etc/​fonts/​conf.avail/​10-sub-pixel-rgb.conf /​etc/​fonts/​conf.d
 +  # ln -s /​etc/​fonts/​conf.avail/​11-lcdfilter-default.conf /​etc/​fonts/​conf.d
 +
 +In the ''/​etc/​profile.d/​freetype2.sh''​ file uncomment the ''​FREETYPE_PROPERTIES''​ line.
 +
 +
 +Finally create the ''/​etc/​fonts/​local.conf''​ file with the following content. The file tells the system what you mean with //serif//, //sans//, or //​monospace//​.
 +
 +  <?xml version="​1.0"?>​
 +  <​!DOCTYPE fontconfig SYSTEM "​fonts.dtd">​
 +  <​fontconfig>​
 +      <​match>​
 +          <edit mode="​prepend"​ name="​family"><​string>​Liberation Sans</​string></​edit>​
 +      </​match>​
 +      <match target="​pattern">​
 +          <test qual="​any"​ name="​family"><​string>​serif</​string></​test>​
 +          <edit name="​family"​ mode="​assign"​ binding="​same"><​string>​Liberation Serif</​string></​edit>​
 +      </​match>​
 +      <match target="​pattern">​
 +          <test qual="​any"​ name="​family"><​string>​sans-serif</​string></​test>​
 +          <edit name="​family"​ mode="​assign"​ binding="​same"><​string>​Liberation Sans</​string></​edit>​
 +      </​match>​
 +      <match target="​pattern">​
 +          <test qual="​any"​ name="​family"><​string>​monospace</​string></​test>​
 +          <edit name="​family"​ mode="​assign"​ binding="​same"><​string>​IBM Plex Mono</​string></​edit>​
 +      </​match>​
 +  </​fontconfig>​
cs/archlinux_installation.1547460274.txt.gz · Last modified: 2019/01/14 10:04 by paolo_bolzoni