Author: Jesús E. Category: tutorials Date: 2019-11-11 08:41 Diaspora: https://diasp.org/u/heckyel Image: 2019/11/hyperbola-base.jpg Lang: en Mastodom: https://masto.nobigtech.es/@heckyel Save_as: hyperbola-installation-guide/index.html Slug: guia-de-instalacion-de-hyperbola Tags: hyperbola, guia Title: Hyperbola installation guide [Legacy/MBR-DOS mode] URL: hyperbola-installation-guide/
[TOC]
First we must build a Hyperbola installation device, it can be on a USB{:target='_blank' rel='noopener noreferrer'} memory or CD{:target='_blank' rel='noopener noreferrer'}.
There is also an installation video{:target='_blank' rel='noopener noreferrer'} that will be updated.
We check if there is an Internet connection
:::console
# ping -c 3 gnu.org
Partition disk
:::console
# cfdisk
example:
:::bash
sda1=/boot
sda2=/
sda3=/home
sda4=swap
Recommendations:
/boot = 300MB
/ = 40GB
/home = customized
swap = equivalent to RAM
wifi
detect
:::console
# iw dev
Enable device of network
:::console
# ip link set <device-name> up
Enable Internet with wpa_supplicant
:::console
# wpa_supplicant -B -i <device-name> -c <(wpa_passphrase "ssid" "psk")
Renew IPv4 with dhcpcd
:::console
# dhcpcd <device-name>
/boot
, ext4 will be used
:::console
# mkfs -t ext4 /dev/sda1
/
, ext4 will be used
:::console
# mkfs -t ext4 /dev/sda2
/home
, ext4 will be used
:::console
# mkfs -t ext4 /dev/sda3
swap
, mkswap will be used
:::console
# mkswap /dev/sda4
Enable swap partition
:::console
# swapon /dev/sda4
Mount root in /mnt
:::console
# mount /dev/sda2 /mnt
Make directories of other partitions
boot
:::console
# mkdir /mnt/boot
home
:::console
# mkdir /mnt/home
Mount other partitions
Mount boot
:::console
# mount /dev/sda1 /mnt/boot
Mount home
:::console
# mount /dev/sda3 /mnt/home
Update keys of hyperiso:
:::console
# pacman -Sy hyperbola-keyring
Install base packages:
:::console
# pacstrap /mnt base base-devel grub-bios wpa_supplicant iw kernel-firmware ldns xenocara-input-synaptics
Install
xenocara-input-synaptics
only on laptops
Generate fstab file
:::console
# genfstab -U -p /mnt >> /mnt/etc/fstab
Inside chroot and configure base system
:::console
# arch-chroot /mnt
Set hostname, to edit /etc/hostname
file:
Example:
:::console
# echo hyperpc > /etc/hostname
Set localtime
:::console
# ln -s /usr/share/zoneinfo/America/Chicago /etc/localtime
Update system time to UTC (Optional)
:::console
# hwclock --systohc --utc
Enable our location, uncomment
:::console
# sed -e 's|^#en_US.UTF-8 UTF-8|en_US.UTF-8 UTF-8|g' -i /etc/locale.gen
Set location preferences
:::console
# echo LANG=en_US.UTF-8 > /etc/locale.conf
Generate location
:::console
# locale-gen
If you need to change keymap, configure in /etc/conf.d/keymaps
file
:::console
# sed -e 's/^keymap="us"/keymap="uk"/g' -i /etc/conf.d/keymaps
Install Grub
:::console
# grub-install --target=i386-pc --recheck /dev/sda
Create grub.cfg file
:::console
# grub-mkconfig -o /boot/grub/grub.cfg
Edit ramdisk
:::console
# nano -w /etc/mkinitcpio.conf
-----------------------------
HOOKS="base udev autodetect modconf block filesystems keyboard fsck"
Generate ramdisk
:::console
# mkinitcpio -p linux-libre-lts
Set root user password
:::console
# passwd
Configure wpa_supplicant{:target='_blank' rel='noopener noreferrer'}
:::console
# nano -w /etc/wpa_supplicant/wpa_supplicant.conf
and inside:
:::bash
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=wheel
update_config=1
network = {
ssid="lynx"
psk="your-pass"
}
Add to service by default
:::console
# rc-update add wpa_supplicant default
DHCPCD{:target='_blank' rel='noopener noreferrer'}
Add to service by default
:::console
# rc-update add dhcpcd default
Close chroot
:::console
# exit
Unmount partitions
:::console
# umount '/mnt/{boot,home,}'
Reboot
:::console
# reboot
Create user group, for example: libre
:::console
# groupadd libre
Create user freedom
and add it to basic groups
:::console
# useradd -m -G audio,disk,games,http,input,lp,network,optical,power,scanner,storage,sys,video,wheel -g libre -s /bin/bash freedom
Assign password
:::console
# passwd freedom
Edit /etc/sudoers
file
:::console
# sed -i /etc/sudoers -e 's|^# %wheel ALL=(ALL) ALL|%wheel ALL=(ALL) ALL|g'
Reboot pc
:::console
# reboot
Upgrade system
:::console
$ sudo pacman -Syu
Check video trademark:
:::console
# lspci | grep -e VGA
Install one, depending of trademark:
AMD:
:::console
# pacman -S xorg-video-amdgpu
Ati:
:::console
# pacman -S xenocara-video-ati
Intel:
:::console
# pacman -S xorg-video-intel
Nvidia:
:::console
# pacman -S xorg-video-nouveau
Vesa (generic):
:::console
# pacman -S xenocara-video-vesa
:::console
# pacman -S xenocara-server xenocara-xinit xenocara
:::console
# pacman -S mesa mesa-demos
Syntax of X configuration files is explained in Xenocara#Configuration{:target='_blank' rel='noopener noreferrer'}. Method creates configuration for entire system, which is maintained after reboot.
Here's an example:
:::console
# nano -w /etc/X11/xorg.conf.d/00-keyboard.conf
and inside write:
:::bash
Section "InputClass"
Identifier "system-keyboard"
MatchIsKeyboard "on"
Option "XkbLayout" "us,uk"
Option "XkbModel" "pc105"
Option "XkbVariant" "deadtilde,dvorak"
Option "XkbOptions" "grp:alt_shift_toggle"
EndSection
XkbOptions can receive various parameters for example:
"grp:alt_shift_toggle,compose:rwin,lv3:ralt_switch,numpad:pc"
We have 2 keyboard layouts: English US (us) and English UK (uk),
and to go from one to the other just use the ALT+SHIFT
key combination.
Check keyboard settings:
:::console
# setxkbmap -print -verbose 10
Typefaces
:::console
# pacman -S ttf-liberation ttf-bitstream-vera ttf-dejavu ttf-droid
Next, we will proceed to create the personal folders. In case you have planned to install GNOME or PLASMA KDE as a desktop environment, skip this step, since the GNOME or PLASMA KDE installation automatically generates this directories.
Directory generator installation:
:::console
# pacman -S xdg-user-dirs
Automatic directory creation:
:::console
# xdg-user-dirs-update
Install pulseadio
:::console
# pacman -S pulseaudio pulseaudio-alsa alsa-utils pavucontrol
Add audio service to default
:::console
# rc-update add alsasound default
:::console
# sed -e 's/^; autospawn = yes/autospawn = yes/g' -i /etc/pulse/client.conf
MATE desktop environment is the continuation of GNOME 2 (Based on Gnome 2). It provides an intuitive and attractive environment. MATE is actively being developed to add support for new technologies, while preserving the traditional desktop experience.
Installation
:::console
# pacman -S mate mate-extra
Where:
Xfce is a lightweight desktop environment for UNIX-like systems. Its goal is to be fast and use few system resources, while remaining visually attractive and easy to use.
Installation
:::console
# pacman -S xfce4 xfce4-goodies
Where:
LXDE is a free desktop environment. Abbreviation means «Lightweight X11 Desktop Environment»
Installation
:::console
# pacman -S lxde
KDE is a software project that currently comprises a desktop environment known as Plasma, a collection of libraries and frameworks (KDE Frameworks) and also a large number of applications (KDE Applications).
The desktop environment created by KDE primarily for GNU/Linux systems, KDE Plasma 5, is successor to KDE Plasma Workspaces and is primarily released on July 15, 2014.
Installation
:::console
# pacman -S plasma kde-applications plasma-wayland-session
Where:
Write a ~/.xinitrc
file (option 1)
Uncomment your desktop installed, example file ~/.xinitrc
:
:::bash
#!/bin/sh
#
# ~/.xinitrc
#
# Executed by startx (run your window manager from here)
#
# exec enlightenment_start
# exec i3
# exec mate-session
# exec xmonad
# exec startlxqt
# exec startlxde
# exec awesome
# exec bspwm
# exec gnome-session
# exec gnome-session --session=gnome-classic
# exec startkde
exec startxfce4
# exec startfluxbox
# exec openbox-session
# exec cinnamon-session
# exec pekwm
# exec catwm
# exec dwm
# exec startede
# exec icewm-session
# exec jwm
# exec monsterwm
# exec notion
# exec startdde #deepin-session
Then from a tty, you can run startx
and your desktop will start.
Install login manager (option 2)
Example: lightdm
:::console
# pacman -S lightdm lightdm-gtk-greeter
Add to service by default
:::console
# rc-update add lightdm default
Reboot
:::console
# reboot
gvfs to mount disks
:::console
# pacman -S gamin gvfs
dhcpcd-ui for IP management
:::console
# pacman -S dhcpcd-ui
gnome-kering
:::console
# pacman -S gnome-keyring
Volume icon
:::console
# pacman -S volumeicon
Install NTP
:::console
# pacman -S ntp
Synchronize Time
:::console
# ntpdate -u hora.roa.es
Normally we come across files compressed in ZIP, RAR and/or another format that are usually exchanged on the Internet. In many desktop environments, usually include theirs (File Roller in GNOME, Engrampa in MATE, Ark in KDE, and XArchiver in XFCE/LXDE). To improve functionality of these file compressors, we will add support for 7Z, RAR, ZIP and others.
GZip (known with extension ".tar.gz"):
:::console
# pacman -S zlib haskell-zlib
BZip2:
:::console
# pacman -S bzip2
RAR:
:::console
# pacman -S unar
7Zip:
:::console
# pacman -S p7zip lrzip
ZIP:
:::console
# pacman -S zip libzip unzip
Udisk utility:
:::console
# pacman -S udevil autofs
Reading and writing NTFS file systems:
:::console
# pacman -S ntfs-3g
FAT32 file system read and write:
:::console
# pacman -S fatsort exfat-utils dosfstools
Reading and writing XFS file systems:
:::console
# pacman -S xfsprogs
To play multimedia files, you need to be able to have the codecs and player. To do this, we will proceed to install ffmpeg and gstreamer codecs, in addition to players. Here I suggest some players that you may find useful.
Codecs:
:::console
# pacman -S ffmpeg gstreamer gst-libav gst-plugins-bad gst-plugins-good gst-plugins-ugly gst-plugins-base gstreamer-vaapi gst-transcoder ffms2 x264 libvorbis libvpx libtheora opus vorbis-tools
Audacious player:
:::console
# pacman -S audacious
SMPlayer:
:::console
# pacman -S smplayer smplayer-themes smplayer-skins
VLC player:
:::console
# pacman -S vlc
MPV player:
:::console
# pacman -S mpv
Lightweight image viewer
:::console
# pacman -S viewnior
PDF viewer
:::console
# pacman -S epdfview
There are browsers included by desktop environments like GNOME with Epiphany or KDE with Konqueror. However, thanks to the developers, in Hyperbola we have Iceweasel-UXP{:target='_blank' rel='noopener noreferrer'} a web browser, Iceape-UXP{:target='_blank' rel='noopener noreferrer'} internet suite and a email-manager called Icedove-UXP{:target='_blank' rel='noopener noreferrer'}.
Iceweasel-UXP:
:::console
# pacman -S iceweasel-uxp
Iceape-UXP:
:::console
# pacman -S iceape-uxp
Icedove-UXP:
:::console
# pacman -S icedove-uxp
In general, when using an Operating System, at least you have an office suite. In GNU/Linux, it's customary to have one. Fortunately in Hyperbola, Libreoffice is presented in its stable version. For install, run:
:::console
# pacman -S libreoffice-still
To check spelling you will need hunspell and a hunspell dictionary (such as hunspell-en_US, hunspell-es, etc)
:::console
# pacman -S hunspell hunspell-en_US
To have provide rules you also need hyphen
+ a set of rules (hyphen-en, hyphen-de, etc)
:::console
# pacman -S hyphen hyphen-en
For Synonyms option you will need mythes
+ a mythes synonym library (mythes-en
mythes-es
)
:::console
# pacman -S mythes mythes-en
Security is important when browsing the Internet, that's why Hyperbola provides a tool called firejail{:target='_blank' rel='noopener noreferrer'} in combination with a graphical interface firetools{:target='_blank' rel='noopener noreferrer'}.
:::console
# pacman -S firejail firetools
Hyperbola have programs for communication:
Gajim
:::console
# pacman -S gajim python2-axolotl
Tox
qtox:
:::console
# pacman -S qtox
toxic:
:::console
# pacman -S toxic
Showkey utility reports key codes for the virtual console. showkey waits for a key to be pressed and, if there is none for 10 seconds, closes. To run showkey you need to be in a virtual console, not in a graphical environment:
:::console
# showkey --keycodes