678 lines
15 KiB
Markdown
678 lines
15 KiB
Markdown
Author: Jesús E.
|
|
Category: tutorials
|
|
Date: 2019-11-11 08:41
|
|
Image: 2019/11/hyperbola-base.jpg
|
|
Lang: en
|
|
Save_as: hyperbola-installation-guide/index.html
|
|
URL: hyperbola-installation-guide/
|
|
Slug: guia-de-instalacion-de-hyperbola
|
|
Tags: hyperbola, guia
|
|
Title: Hyperbola installation guide [Legacy/MBR-DOS mode]
|
|
|
|
[TOC]
|
|
|
|
First we must build a Hyperbola installation device,
|
|
it can be on a [USB][usb-boot]{:target='_blank' rel='noopener noreferrer'}
|
|
memory or [CD][cd-boot]{:target='_blank' rel='noopener noreferrer'}.
|
|
|
|
There is also an [installation video][video-guide]{:target='_blank' rel='noopener noreferrer'}
|
|
that will be updated.
|
|
|
|
### First steps
|
|
|
|
We check if there is an Internet connection
|
|
|
|
# ping -c 3 gnu.org
|
|
|
|
Partition disk
|
|
|
|
# cfdisk
|
|
|
|
- In case of the partition chosen as **swap** go to "Type" option and select **82 (Linux swap)** from list.
|
|
- In case of the partition chosen as **/boot**, select **"bootable"**
|
|
|
|
example:
|
|
|
|
:::bash
|
|
sda1=/boot
|
|
sda2=/
|
|
sda3=/home
|
|
sda4=swap
|
|
|
|
Recommendations:
|
|
/boot = 300MB
|
|
/ = 40GB
|
|
/home = customized
|
|
swap = equivalent to RAM
|
|
|
|
#### Wi-fi connection
|
|
|
|
`wifi` detect
|
|
|
|
# iw dev
|
|
|
|
Enable device of network
|
|
|
|
# ip link set <device-name> up
|
|
|
|
Enable Internet with `wpa_supplicant`
|
|
|
|
# wpa_supplicant -B -i <device-name> -c <(wpa_passphrase "ssid" "psk")
|
|
|
|
Renew IPv4 with `dhcpcd`
|
|
|
|
# dhcpcd <device-name>
|
|
|
|
### Partition Formatting
|
|
|
|
- `/boot`, **ext4** will be used
|
|
|
|
# mkfs -t ext4 /dev/sda1
|
|
|
|
- `/`, **ext4** will be used
|
|
|
|
# mkfs -t ext4 /dev/sda2
|
|
|
|
- `/home`, **ext4** will be used
|
|
|
|
# mkfs -t ext4 /dev/sda3
|
|
|
|
- `swap`, **mkswap** will be used
|
|
|
|
# mkswap /dev/sda4
|
|
|
|
- Enable swap partition
|
|
|
|
# swapon /dev/sda4
|
|
|
|
### Organization of Partitions
|
|
|
|
- Mount root in /mnt
|
|
|
|
# mount /dev/sda2 /mnt
|
|
|
|
- Make directories of other partitions
|
|
|
|
- boot
|
|
|
|
# mkdir /mnt/boot
|
|
|
|
- home
|
|
|
|
# mkdir /mnt/home
|
|
|
|
- Mount other partitions
|
|
|
|
- Mount boot
|
|
|
|
# mount /dev/sda1 /mnt/boot
|
|
|
|
- Mount home
|
|
|
|
# mount /dev/sda3 /mnt/home
|
|
|
|
### Base System Installation
|
|
|
|
Update keys of hyperiso:
|
|
|
|
# pacman -Sy hyperbola-keyring
|
|
|
|
Install base packages:
|
|
|
|
# pacstrap /mnt base base-devel grub-bios wpa_supplicant iw kernel-firmware ldns xenocara-input-synaptics
|
|
|
|
> Install `xenocara-input-synaptics` only on laptops
|
|
|
|
### Main Configuration
|
|
|
|
- Generate fstab file
|
|
|
|
# genfstab -U -p /mnt >> /mnt/etc/fstab
|
|
|
|
- Inside chroot and configure base system
|
|
|
|
# arch-chroot /mnt
|
|
|
|
- Set hostname, to edit `/etc/hostname` file:
|
|
|
|
Example:
|
|
|
|
# echo hyperpc > /etc/hostname
|
|
|
|
- Set localtime
|
|
|
|
# ln -s /usr/share/zoneinfo/America/Chicago /etc/localtime
|
|
|
|
- Update system time to UTC (Optional)
|
|
|
|
# hwclock --systohc --utc
|
|
|
|
- Enable our location, uncomment
|
|
|
|
# sed -e 's/^#en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/g' -i /etc/locale.gen
|
|
|
|
- Set location preferences
|
|
|
|
# echo LANG=en_US.UTF-8 > /etc/locale.conf
|
|
|
|
- Generate location
|
|
|
|
# locale-gen
|
|
|
|
- If you need to change keymap, configure in `/etc/conf.d/keymaps` file
|
|
|
|
# sed -e 's/^keymap="us"/keymap="uk"/g' -i /etc/conf.d/keymaps
|
|
|
|
- Install Grub
|
|
|
|
# grub-install --target=i386-pc --recheck /dev/sda
|
|
|
|
- Create grub.cfg file
|
|
|
|
# grub-mkconfig -o /boot/grub/grub.cfg
|
|
|
|
- Edit ramdisk
|
|
|
|
# nano -w /etc/mkinitcpio.conf
|
|
-----------------------------
|
|
HOOKS="base udev autodetect modconf block filesystems keyboard fsck"
|
|
|
|
- Generate ramdisk
|
|
|
|
# mkinitcpio -p linux-libre-lts
|
|
|
|
- Set root user password
|
|
|
|
# passwd
|
|
|
|
- Configure [wpa_supplicant][wpa_link]{:target='_blank' rel='noopener noreferrer'}
|
|
|
|
# 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
|
|
|
|
# rc-update add wpa_supplicant default
|
|
|
|
- [DHCPCD][dhcpcd_link]{:target='_blank' rel='noopener noreferrer'}
|
|
|
|
Add to service by default
|
|
|
|
# rc-update add dhcpcd default
|
|
|
|
- Close chroot
|
|
|
|
# exit
|
|
|
|
- Unmount partitions
|
|
|
|
# umount '/mnt/{boot,home,}'
|
|
|
|
- Reboot
|
|
|
|
# reboot
|
|
|
|
### Adding a user
|
|
|
|
- Create user group, for example: `libre`
|
|
|
|
# groupadd libre
|
|
|
|
- Create user `freedom` and add it to basic groups
|
|
|
|
# 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
|
|
|
|
# passwd freedom
|
|
|
|
- Edit `/etc/sudoers` file
|
|
|
|
# sed -i /etc/sudoers -e 's/^# %whell ALL=(ALL) ALL/%whell ALL=(ALL) ALL/g'
|
|
|
|
- Reboot pc
|
|
|
|
# reboot
|
|
|
|
- Upgrade system
|
|
|
|
$ sudo pacman -Syu
|
|
|
|
### BASE graphical interface
|
|
|
|
#### Install video package (depending trademark of your video card)
|
|
|
|
Check video trademark:
|
|
|
|
# lspci | grep -e VGA
|
|
|
|
Install one, depending of trademark:
|
|
|
|
AMD:
|
|
|
|
# pacman -S xorg-video-amdgpu
|
|
|
|
Ati:
|
|
|
|
# pacman -S xenocara-video-ati
|
|
|
|
Intel:
|
|
|
|
# pacman -S xorg-video-intel
|
|
|
|
Nvidia:
|
|
|
|
# pacman -S xorg-video-nouveau
|
|
|
|
Vesa (generic):
|
|
|
|
# pacman -S xenocara-video-vesa
|
|
|
|
#### Xenocara components
|
|
|
|
# pacman -S xenocara-server xenocara-xinit xenocara
|
|
|
|
#### Mesa demos
|
|
|
|
# pacman -S mesa mesa-demos
|
|
|
|
#### Setting in keyboard language for Xenocara
|
|
|
|
Syntax of X configuration files is explained in
|
|
[Xenocara#Configuration][xe-conf]{:target='_blank' rel='noopener noreferrer'}.
|
|
Method creates configuration for entire system, which is
|
|
maintained after reboot.
|
|
|
|
Here's an example:
|
|
|
|
# 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:
|
|
|
|
# setxkbmap -print -verbose 10
|
|
|
|
- Typefaces
|
|
|
|
# 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:
|
|
|
|
# pacman -S xdg-user-dirs
|
|
|
|
- Automatic directory creation:
|
|
|
|
# xdg-user-dirs-update
|
|
|
|
#### Audio support
|
|
|
|
Install `pulseadio`
|
|
|
|
# pacman -S pulseaudio pulseaudio-alsa alsa-utils pavucontrol
|
|
|
|
Add audio service to default
|
|
|
|
# rc-update add alsasound default
|
|
|
|
#### Configure pulseaudio
|
|
|
|
# sed -e 's/^; autospawn = yes/autospawn = yes/g' -i /etc/pulse/client.conf
|
|
|
|
### Officially supported desktop environments
|
|
|
|
#### Install MATE
|
|
|
|
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
|
|
|
|
# pacman -S mate mate-extra
|
|
|
|
Where:
|
|
|
|
+ mate: contains basic desktop environment and applications necessary for the standard MATE experience.
|
|
+ mate-extra: contains a set of packages and optional tools, like a screensaver, a calculator,
|
|
an editor and other non-problematic applications that go well with the MATE desktop.
|
|
|
|
#### Install XFCE
|
|
|
|
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
|
|
|
|
# pacman -S xfce4 xfce4-goodies
|
|
|
|
Where:
|
|
|
|
+ xfce4: is basic group of xfce4 packages.
|
|
+ xfce4-goodies: is a group of additional packages, such as panel plugins,
|
|
notifications and other system tools.
|
|
|
|
#### Install LXDE
|
|
|
|
LXDE is a free desktop environment. Abbreviation means
|
|
«Lightweight X11 Desktop Environment»
|
|
|
|
- Installation
|
|
|
|
# pacman -S lxde
|
|
|
|
#### Install KDE Plasma
|
|
|
|
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
|
|
|
|
# pacman -S plasma kde-applications plasma-wayland-session
|
|
|
|
Where:
|
|
|
|
+ plasma: contains group of packages to install desktop. with some basic applications and tools.
|
|
+ kde-applications: installs all KDE applications contained in group (kcal, amarok, etc).
|
|
+ plasma-wayland-session: enable support for Wayland in Plasma.
|
|
|
|
#### How to start Xenocara?
|
|
|
|
- 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`
|
|
|
|
# pacman -S lightdm lightdm-gtk-greeter
|
|
|
|
Add to service by default
|
|
|
|
# rc-update add lightdm default
|
|
|
|
- Reboot
|
|
|
|
# reboot
|
|
|
|
### Tools
|
|
|
|
#### Disks
|
|
|
|
- gvfs to mount disks
|
|
|
|
# pacman -S gamin gvfs
|
|
|
|
#### Net
|
|
|
|
- dhcpcd-ui for IP management
|
|
|
|
# pacman -S dhcpcd-ui
|
|
|
|
#### Key manager
|
|
|
|
- gnome-kering
|
|
|
|
# pacman -S gnome-keyring
|
|
|
|
#### Volume applet
|
|
|
|
- Volume icon
|
|
|
|
# pacman -S volumeicon
|
|
|
|
#### Synchronize Local Time
|
|
|
|
Install NTP
|
|
|
|
# pacman -S ntp
|
|
|
|
Synchronize Time
|
|
|
|
# ntpdate -u hora.roa.es
|
|
|
|
#### File compressors
|
|
|
|
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"):
|
|
|
|
# pacman -S zlib haskell-zlib
|
|
|
|
- BZip2:
|
|
|
|
# pacman -S bzip2
|
|
|
|
- RAR:
|
|
|
|
# pacman -S unar
|
|
|
|
- 7Zip:
|
|
|
|
# pacman -S p7zip lrzip
|
|
|
|
- ZIP:
|
|
|
|
# pacman -S zip libzip unzip
|
|
|
|
#### Partition detector
|
|
|
|
- Udisk utility:
|
|
|
|
# pacman -S udevil autofs
|
|
|
|
- Reading and writing NTFS file systems:
|
|
|
|
# pacman -S ntfs-3g
|
|
|
|
- FAT32 file system read and write:
|
|
|
|
# pacman -S fatsort exfat-utils dosfstools
|
|
|
|
- Reading and writing XFS file systems:
|
|
|
|
# pacman -S xfsprogs
|
|
|
|
#### Multimedia support
|
|
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:
|
|
|
|
# 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:
|
|
|
|
# pacman -S audacious
|
|
|
|
- SMPlayer:
|
|
|
|
# pacman -S smplayer smplayer-themes smplayer-skins
|
|
|
|
- VLC player:
|
|
|
|
# pacman -S vlc
|
|
|
|
- MPV player:
|
|
|
|
# pacman -S mpv
|
|
|
|
- Lightweight image viewer
|
|
|
|
# pacman -S viewnior
|
|
|
|
- PDF viewer
|
|
|
|
# pacman -S epdfview
|
|
|
|
#### Aplicaciones UXP
|
|
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][iceweasel-uxp]{:target='_blank' rel='noopener noreferrer'}**
|
|
a web browser, **[Iceape-UXP][iceape-uxp]{:target='_blank' rel='noopener noreferrer'}**
|
|
internet suite and a email-manager called
|
|
**[Icedove-UXP][icedove-uxp]{:target='_blank' rel='noopener noreferrer'}**.
|
|
|
|
- Iceweasel-UXP:
|
|
|
|
# pacman -S iceweasel-uxp
|
|
|
|
- Iceape-UXP:
|
|
|
|
# pacman -S iceape-uxp
|
|
|
|
- Icedove-UXP:
|
|
|
|
# pacman -S icedove-uxp
|
|
|
|
#### LibreOffice
|
|
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:
|
|
|
|
# pacman -S libreoffice-still
|
|
|
|
##### Spell check
|
|
To check spelling you will need hunspell and a hunspell dictionary (such as hunspell-en_US, hunspell-es, etc)
|
|
|
|
# pacman -S hunspell hunspell-en_US
|
|
|
|
##### Hyphenation and justification
|
|
To have provide rules you also need `hyphen` + a set of rules (hyphen-en, hyphen-de, etc)
|
|
|
|
# pacman -S hyphen hyphen-en
|
|
|
|
##### Synonyms
|
|
For Synonyms option you will need `mythes` + a mythes synonym library (`mythes-en` `mythes-es`)
|
|
|
|
# pacman -S mythes mythes-en
|
|
|
|
#### Security
|
|
Security is important when browsing the Internet, that's why Hyperbola provides
|
|
a tool called **[firejail][firejail]{:target='_blank' rel='noopener noreferrer'}**
|
|
in combination with a graphical interface
|
|
**[firetools][firetools]{:target='_blank' rel='noopener noreferrer'}**.
|
|
|
|
# pacman -S firejail firetools
|
|
|
|
#### Social
|
|
Hyperbola have programs for communication:
|
|
|
|
- Gajim
|
|
|
|
# pacman -S gajim python2-axolotl
|
|
|
|
- Tox
|
|
- qtox:
|
|
|
|
# pacman -S qtox
|
|
|
|
- toxic:
|
|
|
|
# pacman -S toxic
|
|
|
|
#### Identifying keycodes
|
|
|
|
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:
|
|
|
|
# showkey --keycodes
|
|
|
|
[video-guide]: https://lablibre.tuxfamily.org/hyperbola-gnu-linux-libre-base/
|
|
[firejail]: https://github.com/netblue30/firejail
|
|
[firetools]: https://l3net.wordpress.com/projects/firejail/#firetools
|
|
[usb-boot]: https://wiki.hyperbola.info/doku.php?id=en:guide:beginners#write_the_image_to_your_usb
|
|
[cd-boot]: https://wiki.hyperbola.info/doku.php?id=en:guide:beginners#burn_the_image_to_your_optical_disk
|
|
[wpa_link]: https://wiki.archlinux.org/index.php/WPA_supplicant
|
|
[dhcpcd_link]: https://wiki.archlinux.org/index.php/Dhcpcd
|
|
[iceweasel-uxp]: https://wiki.hyperbola.info/iceweasel-uxp
|
|
[iceape-uxp]: https://wiki.hyperbola.info/iceape-uxp
|
|
[icedove-uxp]: https://wiki.hyperbola.info/icedove-uxp
|
|
[xe-conf]: https://fedoraproject.org/wiki/Input_device_configuration#xorg.conf.d
|