guia-de-instalacion-de-hyperbola.en.md 17 KB

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.

First steps

We check if there is an Internet connection

:::console
# ping -c 3 gnu.org

Partition disk

:::console
# 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

:::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>

Partition Formatting

  • /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
    

Organization of Partitions

  • 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
      

Base System Installation

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

Main Configuration

  • 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
    

Adding a user

  • 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
    

BASE graphical interface

Install video package (depending trademark of your video card)

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

Xenocara components

:::console
# pacman -S xenocara-server xenocara-xinit xenocara

Mesa demos

:::console
# pacman -S mesa mesa-demos

Setting in keyboard language for Xenocara

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
    

Audio support

Install pulseadio

:::console
# pacman -S pulseaudio pulseaudio-alsa alsa-utils pavucontrol

Add audio service to default

:::console
# rc-update add alsasound default

Configure pulseaudio

:::console
# 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

    :::console
    # 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

    :::console
    # 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

    :::console
    # 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

    :::console
    # 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

    :::console
    # pacman -S lightdm lightdm-gtk-greeter
    

    Add to service by default

    :::console
    # rc-update add lightdm default
    
  • Reboot

    :::console
    # reboot
    

Tools

Disks

  • gvfs to mount disks

    :::console
    # pacman -S gamin gvfs
    

Net

  • dhcpcd-ui for IP management

    :::console
    # pacman -S dhcpcd-ui
    

Key manager

  • gnome-kering

    :::console
    # pacman -S gnome-keyring
    

Volume applet

  • Volume icon

    :::console
    # pacman -S volumeicon
    

Synchronize Local Time

Install NTP

:::console
# pacman -S ntp

Synchronize Time

:::console
# 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"):

    :::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
    

Partition detector

  • 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
    

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:

    :::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
    

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{: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
    

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:

:::console
# 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)

:::console
# 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)

:::console
# pacman -S hyphen hyphen-en
Synonyms

For Synonyms option you will need mythes + a mythes synonym library (mythes-en mythes-es)

:::console
# pacman -S mythes mythes-en

Security

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

Social

Hyperbola have programs for communication:

  • Gajim

    :::console
    # pacman -S gajim python2-axolotl
    
  • Tox

    • qtox:

      :::console
      # pacman -S qtox
      
    • toxic:

      :::console
      # 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:

:::console
# showkey --keycodes