Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
en:manual:reference_installation [2022/03/11 13:44] i3_relativism [Verification of package signatures] |
en:manual:reference_installation [2024/03/26 23:08] throgh |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== The Installation Guide ====== | ====== The Installation Guide ====== | ||
+ | The intention of this reference Guide is to assist users in the process of installing **Hyperbola GNU/ | ||
- | The Installation Guide for Hyperbola live-CD image (launchable from USB thumb-drive, | + | ==== Blind and visually impaired |
+ | [[en: | ||
- | ===== Download | + | The brltty boot-time parameter consists of three comma-separated fields: **driver**, **device**, and **table**. |
+ | |||
+ | For example, suppose that you have a device connected to <color # | ||
+ | |||
+ | <code bash> | ||
+ | arch32 brltty=auto, | ||
+ | </ | ||
+ | |||
+ | Once <color # | ||
+ | |||
+ | ===== Create bootable image ===== | ||
+ | ==== Download live image ==== | ||
+ | |||
+ | Make sure to change your BIOS settings so that your computer will boot from your optical disk or USB stick. | ||
Download the new **Hyperbola ISO** from the [[en: | Download the new **Hyperbola ISO** from the [[en: | ||
* Instead of six different images we only provide a **single one** which can be booted into an **i686** and **x86_64** live system to install **Hyperbola GNU/ | * Instead of six different images we only provide a **single one** which can be booted into an **i686** and **x86_64** live system to install **Hyperbola GNU/ | ||
+ | | ||
+ | === Verify the live image ==== | ||
+ | Once you have downloaded the [[en: | ||
+ | |||
* Install images are **signed** and it is highly recommend to **verify their signature** before use. On **Hyperbola**, | * Install images are **signed** and it is highly recommend to **verify their signature** before use. On **Hyperbola**, | ||
* The image can be burned to a **CD**, mounted as an **ISO** file, or directly written to a **USB stick** using a utility like <color # | * The image can be burned to a **CD**, mounted as an **ISO** file, or directly written to a **USB stick** using a utility like <color # | ||
- | ===== Blind and visually impaired users ===== | + | ==== Writing a Hyperbola ISO image to an USB drive ==== |
+ | === Burn the image to your optical disk === | ||
+ | To create a disk to use as your install medium, insert a blank or re-writable disk, CD or DVD, into your disk drive. Next, you will need to mount the disk. | ||
- | There is a ISO called [[en: | + | <code bash> |
+ | # mount sr0 | ||
+ | </ | ||
- | ===== Writing | + | Provided your computer has a disk drive. Sr0 should the first or only, if you only have one disk drive, mount point of disk drives. You will need to address the correct destination for the command to work. |
<code bash> | <code bash> | ||
- | # dd if='' | + | # dd if=~/ |
</ | </ | ||
- | < | + | === Write the image to your USB === |
+ | If you don’t have an ISO writer, go (change directory) to the folder where you saved the downloaded Live image (probably the Downloads folder) and type the following into your terminal: | ||
- | <note>'' | + | <code bash> |
+ | # dd if=hyperbola-milky-way-v0.4.3-dual.iso of=/ | ||
+ | </code> | ||
- | ===== Installation ===== | + | < |
+ | To find out what’s the name of the USB device, type <color # | ||
- | ==== Keyboard layout ==== | + | You’ll probably see something like this: |
- | For many countries and keyboard types appropriate keymaps are available already, and a command like <color # | + | <code> |
+ | Device | ||
+ | /dev/sda1 2048 | ||
+ | /dev/sda2 | ||
+ | </code> | ||
- | === Braille Support === | + | < |
+ | Device | ||
+ | / | ||
+ | / | ||
+ | </ | ||
- | [[en: | + | From the above, sda is your HDD, and the sdb is your USB device where you’re going to write your Live image. |
- | The brltty boot-time parameter consists | + | Also take a note of your partitions, you will come to need it when you’re creating |
- | For example, suppose that you have a device connected to <color # | + | Once you’ve downloaded, verified and written |
<code bash> | <code bash> | ||
- | arch32 brltty=auto, | + | # dd if='' |
</ | </ | ||
- | Once <color # | + | <note>'' |
- | ==== Partition disks ==== | + | < |
- | + | ||
- | See [[https://wiki.archlinux.org/index.php/Partitioning|partitioning]] for details. | + | |
- | + | ||
- | Remember | + | |
- | + | ||
- | ==== Format the partitions ==== | + | |
- | See [[https:// | + | ===== Internet Connection ===== |
- | + | ||
- | If you are using (U)EFI you will most probably need another partition to host the UEFI System partition. Read [[https:// | + | |
- | + | ||
- | ==== Mount the partitions | + | |
- | + | ||
- | We now must mount the root partition on <color # | + | |
==== Connect to the Internet ==== | ==== Connect to the Internet ==== | ||
Line 70: | Line 93: | ||
# rc-service dhcpcd stop | # rc-service dhcpcd stop | ||
</ | </ | ||
- | |||
- | For more information read [[https:// | ||
The [[https:// | The [[https:// | ||
Line 183: | Line 204: | ||
< | < | ||
- | Currently, you may include a maximum of three nameserver lines. In order to overcome this limitation, you can use a locally caching nameserver like [[https:// | + | Currently, you may include a maximum of three nameserver lines. In order to overcome this limitation, you can use a locally caching nameserver like **Dnsmasq**. |
</ | </ | ||
- | You should now have a working network connection. If you do not, check the detailed [[https:// | + | You should now have a working network connection. |
=== Wireless === | === Wireless === | ||
Line 208: | Line 229: | ||
< | < | ||
- | If you do not see output similar to this, then your wireless driver has not been loaded. Please see [[https:// | + | If you do not see output similar to this, then your wireless driver has not been loaded. |
</ | </ | ||
Line 224: | Line 245: | ||
</ | </ | ||
- | Then, your wireless chipset could need a <color # | + | Then, your wireless chipset could need a <color # |
</ | </ | ||
Line 330: | Line 351: | ||
</ | </ | ||
- | === Behind a proxy server | + | === Behind a proxy server === |
- | If you are behind a proxy server, you will need to export the <color # | + | If you are behind a proxy server, you will need to export the <color # |
- | ==== Verification of package signatures | + | ===== Installation ===== |
- | + | ==== Partition disks ==== | |
- | New packager keys are necessary by default to install **Hyperbola** from current ISOs. Because changes in existing keys might happen since the ISO release, it is recommended, | + | |
<note important> | <note important> | ||
- | Keep in mind these steps will fail if your system is not set to the correct time, or if you are not connected to the internet. See [[en: | + | These instructions assume that you are using MBR (Master Boot Record) as the partitioning scheme |
</ | </ | ||
- | To check that your computer has the correct time, enter <color # | + | Once your computer has successfully booted into the Live USB device, type the following into you terminal: |
<code bash> | <code bash> | ||
- | # date | + | # cfdisk /dev/sda |
</ | </ | ||
- | If the date is incorrect, you will need to manually set the correct time. | + | This will bring up a graphical partitioning table, and will look somewhat like fig. 1 (see above). Use the Tab and arrow keys to navigate. This is assuming that you want Hyperbola installed on your HDD. |
+ | Delete all the partitions so that you only see Free Space. | ||
+ | |||
+ | Then make a new partition by choosing New and then make it Primary. Make this first partition a Swap. 1/4 of you computer’s memory should be enough. So with 8 GB of memory, your Swap would then be 2 GB. Then choose the End flag. | ||
+ | |||
+ | The rest of the space should be made Primary, then choose the Boot flag to make this partition bootable. Then choose Write and type ’yes’ to save your changes to disk. Then Quit. | ||
+ | |||
+ | You will then have something like this: | ||
+ | |||
+ | < | ||
+ | sda2 Boot Primary | ||
+ | sda1 | ||
+ | </ | ||
+ | |||
+ | Take note of the fact that the root partition that you soon will mount, is the bootable one (in this example the sda2) that you made from the rest of the space after creating the Swap partition. | ||
+ | |||
+ | Remember to create any stacked block devices like **LUKS**, or **RAID**. | ||
+ | |||
+ | ==== System Configuration ==== | ||
+ | === Activate swap === | ||
<code bash> | <code bash> | ||
- | # date MMDDhhmm[[CC]YY][.ss] | + | # mkswap /dev/sda1 |
</ | </ | ||
- | where **MM** is the month, **DD** the day, **hh** the hour, **mm** the minutes, **CC** the century, **YY** the year and **.SS** the seconds of current time, the seconds | + | <code bash> |
+ | # swapon /dev/sda1 | ||
+ | </ | ||
+ | |||
+ | === Keyboard layout === | ||
+ | For many countries and keyboard types appropriate keymaps are available already, and a command like <color # | ||
+ | |||
+ | If you’re not using an English keyboard, you can set your language by typing <color # | ||
<code bash> | <code bash> | ||
- | # date 111318442013.32 | + | # loadkeys uk. |
</ | </ | ||
- | Once the date is correct, we need to initialize | + | ==== Format |
+ | |||
+ | If you are using (U)EFI you will most probably | ||
+ | |||
+ | === Create a file system === | ||
+ | To create the ext4 file system, type: | ||
<code bash> | <code bash> | ||
- | # pacman-key --init | + | # mkfs.ext4 /dev/sda2 |
</ | </ | ||
+ | |||
+ | === Mount the partitions === | ||
+ | |||
+ | We now must mount the root partition on <color # | ||
+ | === Mount the root partition === | ||
<code bash> | <code bash> | ||
- | # mount -o remount, | + | # mount /dev/sda2 /mnt |
</ | </ | ||
+ | |||
+ | ==== Verification of system-date ==== | ||
+ | |||
+ | To check that your computer has the correct time, enter <color # | ||
<code bash> | <code bash> | ||
- | # pacman-key --populate hyperbola | + | # date |
</ | </ | ||
+ | |||
+ | If the date is incorrect, you will need to manually set the correct time. | ||
<code bash> | <code bash> | ||
- | # pacman-key --refresh-keys | + | # date MMDDhhmm[[CC]YY][.ss] |
</ | </ | ||
- | If you get GPG errors updating those packages, you can try running these commands to start over: | + | where **MM** is the month, **DD** the day, **hh** the hour, **mm** the minutes, **CC** the century, **YY** the year and **.SS** the seconds of current time, the seconds can be omitted (and then also the dot before them should be omitted), the year can also be submitted or just the century. for instance if the current time is 32 seconds and 44 minutes past 18 (6 pm) on the 13th November 2013. Then the command would be: |
<code bash> | <code bash> | ||
- | # rm -r /etc/pacman.d/gnupg/* | + | # date 111318442013.32 |
</ | </ | ||
+ | |||
+ | ==== Base system installation ==== | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | Install the base system using <color # | ||
<code bash> | <code bash> | ||
- | # pacman-key --init | + | # pacstrap /mnt base |
</ | </ | ||
+ | |||
+ | You can install additional packages passing <color # | ||
+ | |||
+ | < | ||
+ | |||
+ | <note warning> | ||
+ | If you have a **btrfs root**, you probably want to install also [[https:// | ||
+ | </ | ||
+ | |||
+ | ==== Wireless tools installation ==== | ||
+ | If your wireless network is WPA protected, you'll need [[https:// | ||
<code bash> | <code bash> | ||
- | # pacman-key --populate hyperbola | + | # pacstrap /mnt wpa_supplicant |
</ | </ | ||
+ | ==== System configuration ==== | ||
+ | === Generate an fstab === | ||
<code bash> | <code bash> | ||
- | # pacman-key --refresh-keys | + | # genfstab |
</ | </ | ||
- | If you get an error related | + | Generate a **fstab** with the following command (if you prefer |
<code bash> | <code bash> | ||
- | # mkdir / | + | # genfstab |
</ | </ | ||
- | For the time being, running the previous command might also be needed in the newly installed system. | + | === Chroot and configure |
+ | Next we need to enter directly our newly installed system: | ||
- | ==== Install the base system ==== | + | <code bash> |
+ | # arch-chroot /mnt | ||
+ | </ | ||
- | Before installing, you may want to edit <color # | + | === Hostname === |
+ | Usually it’s sufficient | ||
- | Install | + | <code bash> |
+ | # echo localhost > / | ||
+ | </ | ||
+ | |||
+ | Add the same hostname, i.e. localhost, to <color #0B71B9/#DDF1FF>/etc/hosts</ | ||
+ | |||
+ | Type: | ||
<code bash> | <code bash> | ||
- | # pacstrap | + | # nano /etc/hosts |
</ | </ | ||
- | You can install additional packages passing | + | <code> |
+ | # < | ||
+ | 127.0.0.1 localhost.localdomain | ||
+ | ::1 | ||
+ | </ | ||
- | If you have a **btrfs root**, you probably want to install also [[https:// | ||
- | <note> | + | === Locale === |
- | If you face GPG errors when running: | + | |
+ | Type the following to set locale preferences in <color # | ||
<code bash> | <code bash> | ||
- | # pacstrap | + | # nano /etc/ |
</ | </ | ||
- | Then, you can try to fix them with: | + | Now choose your locale from what language |
- | < | + | < |
- | # rm -r /etc/pacman.d/gnupg/* | + | ... |
+ | #en_SG ISO-8859-1 | ||
+ | en_US.UTF-8 UTF-8 | ||
+ | #en_US ISO-8859-1 | ||
+ | ... | ||
</ | </ | ||
+ | |||
+ | After you’ve uncommented your language, run the command: | ||
<code bash> | <code bash> | ||
- | # pacman-key --init | + | # locale-gen |
</ | </ | ||
+ | |||
+ | Then check the file <color # | ||
<code bash> | <code bash> | ||
- | # pacman-key --populate hyperbola arch | + | # echo LANG=en_US.UTF-8 > / |
</ | </ | ||
+ | |||
+ | Then export your chosen locale, just in case for your current session | ||
<code bash> | <code bash> | ||
- | # pacman-key --refresh-keys | + | # export LANG=en_US.UTF-8 |
</ | </ | ||
- | </note> | + | Add console keymap and font preferences in <color #0B71B9/# |
- | ==== Install and configure a bootloader ==== | + | === Keymap |
+ | As the locale, you need to setup the keymap in the file <color # | ||
- | === GRUB === | + | < |
+ | keymap=" | ||
+ | </ | ||
- | * For BIOS and EFI: | + | If you have an advanced usage of your keymap, you can watch the other functionalities, |
<code bash> | <code bash> | ||
- | # pacstrap /mnt grub | + | # rc-update add keymaps default |
</ | </ | ||
- | * Install GRUB after chrooting (refer to the [[en: | + | < |
- | See [[https://wiki.parabola.nu/GRUB2|GRUB]] for further details. | + | === Time zone === |
+ | Create a symbolic link <color #0B71B9/#DDF1FF>/etc/localtime</ | ||
- | === Syslinux === | + | <code bash> |
+ | # ln -s / | ||
+ | </ | ||
- | <code bash> | + | Example: |
- | # pacstrap | + | |
+ | <code bash> | ||
+ | # ln -s / | ||
</ | </ | ||
- | See [[https://wiki.parabola.nu/Syslinux|Syslinux]] for further details. | + | If you get <color # |
- | ==== Install wireless tools ==== | + | <code bash> |
+ | # ln -s -f / | ||
+ | </ | ||
- | If your wireless network is WPA protected, you'll need [[https:// | + | === Hardware clock === |
+ | Set the hardware clock to UTC | ||
<code bash> | <code bash> | ||
- | # pacstrap /mnt wpa_supplicant | + | # hwclock --systohc --utc |
</ | </ | ||
- | ==== Configure the system ==== | + | === Root password |
+ | Remember when you’re typing in your root password (as any password) into the terminal, it won’t show. Just carefully type in your chosen root password and repeat it when asked to. | ||
- | Generate a [[https:// | + | <code bash> |
+ | # passwd | ||
+ | </code> | ||
+ | * Set a root password with <color # | ||
+ | * Add your user to the relevant **group** such as: | ||
<code bash> | <code bash> | ||
- | # genfstab | + | # gpasswd |
</ | </ | ||
- | Next we [[https:// | + | ------------------------------ |
+ | ==== Bootloader installation and configuration ==== | ||
+ | === GRUB === | ||
+ | Finally follow these steps: | ||
<code bash> | <code bash> | ||
- | # arch-chroot /mnt | + | # pacman |
</ | </ | ||
- | |||
- | * Write your hostname to <color # | ||
<code bash> | <code bash> | ||
- | # echo myhostname > /etc/hostname | + | # grub-install --target=i386-pc --recheck |
</ | </ | ||
- | * Symlink | + | <note> |
+ | Here do NOT append a partition number, i.e. <color # | ||
+ | </note> | ||
+ | |||
+ | To configure the bootloader, you have to install it and generate the file <color #0B71B9/#DDF1FF>grub.cfg</ | ||
<code bash> | <code bash> | ||
- | # ln -s / | + | # grub-mkconfig -o /boot/grub/grub.cfg |
</ | </ | ||
- | * Set [[en: | + | === Syslinux === |
- | * Add console keymap and font preferences in <color # | + | |
- | * Uncomment the selected locale in <color # | + | |
- | * Set a root password with <color # | + | |
- | * Add your user to the relevant [[https:// | + | |
- | <code bash> | + | [[https:// |
- | # gpasswd -a YourActualUserName video | + | |
+ | <code bash> | ||
+ | # pacstrap /mnt syslinux | ||
</ | </ | ||
- | * Configure <color # | + | === Create RAM-disk |
+ | |||
+ | Configure <color # | ||
<code bash> | <code bash> | ||
Line 519: | Line 645: | ||
< | < | ||
- | * If you want to install GRUB for the (U)EFI mode, you will need to make sure that: | + | If you want to install GRUB for the (U)EFI mode, you will need to make sure that: |
* The computer booted in (U)EFI mode (if <color # | * The computer booted in (U)EFI mode (if <color # | ||
* The efivars module is loaded. (<color # | * The efivars module is loaded. (<color # | ||
- | * To configure the bootloader, you have to install it and generate | + | === Unmount |
+ | If you are still in the chroot environment type <color #620BB9/#EEDDFF>exit</ | ||
+ | <code bash> | ||
+ | # exit | ||
+ | </ | ||
+ | Earlier we mounted the partitions under <color # | ||
<code bash> | <code bash> | ||
- | # grub-install | + | # umount |
</ | </ | ||
- | < | + | < |
- | If you want to [[en: | + | If you have made separate partitions |
<code bash> | <code bash> | ||
- | grub-install --no-bootsector | + | # umount |
</ | </ | ||
</ | </ | ||
+ | Now reboot and then login into the new system. | ||
<code bash> | <code bash> | ||
- | # grub-mkconfig -o / | + | # reboot |
</ | </ | ||
- | * Configure the network again for newly installed environment. See [[https:// | + | Remember to remove your installation medium (your USB stick) before you reboot into your system. To log in, you type root and your password. |
- | <note tip> | + | Congratulations! You have now installed **Hyperbola GNU/ |
- | If you are following the [[en: | + | |
- | </ | + | |
- | ==== Configure speech support (for blind and visually impaired users) | + | ===== Post-installation |
+ | You will now have to create a user and get user privileges like doas. And of course, you will have to install your favourite desktop. | ||
- | If you are using [[en: | + | === Configure pacman === |
+ | Edit < | ||
- | * Install [[https:// | + | === Update |
- | * Enable | + | At this point you should update your system. |
<code bash> | <code bash> | ||
- | # rc-update add espeakup default | + | # pacman |
</ | </ | ||
- | * Save the state of the sound card, so that it will be retrieved on reboot: | + | === Add an user and groups for privileges === |
+ | Finally, add a normal user. | ||
<code bash> | <code bash> | ||
- | # alsactl store | + | # useradd -g users -m -s /bin/bash < |
</ | </ | ||
- | ==== Unmount and reboot ==== | + | You should consider the following groups to be used at start: |
- | If you are still in the chroot environment type <color # | + | <code bash> |
- | Earlier we mounted the partitions under <color # | + | # usermod -aG video <username> |
+ | </code> | ||
<code bash> | <code bash> | ||
- | # umount / | + | # usermod -aG audio < |
</ | </ | ||
- | Now reboot and then login into the new system with the root account. | + | <code bash> |
+ | # usermod -aG sys < | ||
+ | </ | ||
- | ==== Configure pacman ==== | + | <code bash> |
+ | # usermod -aG storage < | ||
+ | </ | ||
- | Edit <color #0B71B9/# | + | <code bash> |
+ | # usermod -aG optical < | ||
+ | </code> | ||
- | See [[https:// | + | <code bash> |
+ | # usermod -aG power < | ||
+ | </code> | ||
- | ==== Update the system ==== | + | <code bash> |
+ | # usermod -aG network < | ||
+ | </ | ||
- | At this point you should update your system. | + | <code bash> |
+ | # usermod -aG input < | ||
+ | </ | ||
- | See [[https:// | + | If you want to access |
- | ==== Add an user ==== | + | <code bash> |
+ | # usermod -aG wheel < | ||
+ | </ | ||
- | Finally, add a normal user as described in [[https:// | + | Please remember also that to execute and access installed free, libre games you need another group-membership: |
- | ===== Service management | + | <code bash> |
- | + | # usermod -aG games < | |
- | Since Hyperbola | + | </ |
+ | ==== Service management ==== | ||
+ | Since Hyperbola | ||
===== Conclusion ===== | ===== Conclusion ===== | ||
- | |||
Your new **Hyperbola GNU/ | Your new **Hyperbola GNU/ | ||
===== Acknowledgement ===== | ===== Acknowledgement ===== | ||
- | + | This wiki article is based on **[[https:// | |
- | This wiki article is based on **ArchWiki**, | + |