Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
en:manual:reference_installation [2022/03/11 13:44] i3_relativism [Verification of package signatures] |
en:manual:reference_installation [2025/03/17 01:21] (current) throgh [System configuration] |
||
---|---|---|---|
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**. |
+ | |||
+ | 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:// | + | ===== Internet Connection |
- | + | ||
- | Remember to create any stacked block devices like [[https:// | + | |
- | + | ||
- | ==== Format the partitions | + | |
- | + | ||
- | See [[https:// | + | |
- | + | ||
- | 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 65: | Line 81: | ||
<note warning> | <note warning> | ||
- | A DHCP service is already enabled for **all available devices**. If you need to setup a static IP or use management tools, | + | A DHCP service is already enabled for **all available devices**. If you need to setup a static IP or use management tools, |
- | + | ||
- | <code bash> | + | |
- | # rc-service dhcpcd stop | + | |
- | </ | + | |
- | + | ||
- | For more information read [[https:// | + | |
The [[https:// | The [[https:// | ||
Line 100: | Line 110: | ||
</ | </ | ||
- | Identify the name of your Ethernet | + | Identify the name of your ethernet |
<code bash> | <code bash> | ||
Line 113: | Line 123: | ||
</ | </ | ||
- | In this example, the Ethernet | + | In this example, the ethernet |
<code bash> | <code bash> | ||
Line 130: | Line 140: | ||
</ | </ | ||
- | In this example, neither **enp2s0f0** nor the **loopback** device have wireless extensions, meaning **enp2s0f0** is our Ethernet | + | In this example, neither **enp2s0f0** nor the **loopback** device have wireless extensions, meaning **enp2s0f0** is our ethernet |
You also need to **know these settings**: | You also need to **know these settings**: | ||
Line 140: | Line 150: | ||
* Domain name (unless you are on a local LAN, in which case you can make it up). | * Domain name (unless you are on a local LAN, in which case you can make it up). | ||
- | Activate the connected | + | Activate the connected |
<code bash> | <code bash> | ||
Line 183: | Line 193: | ||
< | < | ||
- | 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 218: | ||
< | < | ||
- | 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 234: | ||
</ | </ | ||
- | Then, your wireless chipset could need a <color # | + | Then, your wireless chipset could need a <color # |
</ | </ | ||
Line 263: | Line 273: | ||
Follow this procedure if you need **ADSL with PPPoE/ | Follow this procedure if you need **ADSL with PPPoE/ | ||
- | First, identify the name of your Ethernet | + | First, identify the name of your ethernet |
<code bash> | <code bash> | ||
Line 276: | Line 286: | ||
</ | </ | ||
- | In this example, the Ethernet | + | In this example, the ethernet |
- | Second, create the PPP net script and the net script for the Ethernet | + | Second, create the PPP net script and the net script for the ethernet |
<code bash> | <code bash> | ||
Line 330: | Line 340: | ||
</ | </ | ||
- | === 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. |
- | <code bash> | + | Delete all the partitions so that you only see Free Space. |
- | # date MMDDhhmm[[CC]YY][.ss] | + | |
- | </ | + | |
- | where **MM** is the month, **DD** the day, **hh** the hour, **mm** the minutes, **CC** the century, **YY** the year and **.SS** the seconds | + | 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 |
- | <code bash> | + | 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. |
- | # date 111318442013.32 | + | |
- | </ | + | |
- | Once the date is correct, we need to initialize the gnupg directory and update pacman' | + | You will then have something like this: |
- | < | + | < |
- | # pacman-key --init | + | 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> | ||
- | # mount -o remount, | + | # mkswap |
</ | </ | ||
<code bash> | <code bash> | ||
- | # pacman-key --populate hyperbola | + | # 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> | ||
- | # pacman-key --refresh-keys | + | # loadkeys uk. |
</ | </ | ||
- | If you get GPG errors updating those packages, | + | ==== Format the partitions ==== |
+ | |||
+ | If you are using (U)EFI | ||
+ | |||
+ | === Create a file system === | ||
+ | To create the ext4 file system, type: | ||
<code bash> | <code bash> | ||
- | # rm -r /etc/pacman.d/gnupg/* | + | # mkfs.ext4 /dev/sda2 |
</ | </ | ||
+ | |||
+ | === Mount the partitions === | ||
+ | |||
+ | We now must mount the root partition on <color # | ||
+ | === Mount the root partition === | ||
<code bash> | <code bash> | ||
- | # pacman-key --init | + | # 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 an error related to <color # | + | where **MM** is the month, **DD** the day, **hh** the hour, **mm** the minutes, **CC** the century, **YY** the year and **.SS** the seconds |
<code bash> | <code bash> | ||
- | # mkdir /root/.gnupg && chmod go-rx / | + | # date 111318442013.32 |
</ | </ | ||
- | For the time being, running the previous command might also be needed in the newly installed system. | + | ==== Base system |
- | + | < | |
- | ==== Install the base system ==== | + | </ |
- | + | ||
- | Before installing, you may want to edit <color # | + | |
Install the base system using <color # | Install the base system using <color # | ||
<code bash> | <code bash> | ||
- | # pacstrap /mnt | + | # pacstrap /mnt base |
</ | </ | ||
You can install additional packages passing <color # | You can install additional packages passing <color # | ||
+ | < | ||
+ | |||
+ | <note warning> | ||
If you have a **btrfs root**, you probably want to install also [[https:// | If you have a **btrfs root**, you probably want to install also [[https:// | ||
+ | </ | ||
- | < | + | ==== Wireless tools installation ==== |
- | If you face GPG errors when running: | + | If your wireless network is WPA protected, |
<code bash> | <code bash> | ||
- | # pacstrap /mnt | + | # pacstrap /mnt wpa_supplicant |
</ | </ | ||
- | Then, you can try to fix them with: | + | ==== System configuration ==== |
+ | === Generate an fstab === | ||
+ | <code bash> | ||
+ | # genfstab -U -p /mnt >> / | ||
+ | </ | ||
+ | |||
+ | Generate a **fstab** with the following command (if you prefer | ||
<code bash> | <code bash> | ||
- | # rm -r /etc/pacman.d/gnupg/* | + | # genfstab |
</ | </ | ||
+ | |||
+ | === Chroot and configure the base system === | ||
+ | Next we need to enter directly our newly installed system: | ||
<code bash> | <code bash> | ||
- | # pacman-key --init | + | # arch-chroot /mnt |
</ | </ | ||
+ | |||
+ | === Hostname === | ||
+ | Usually it’s sufficient to set your hostname to localhost. | ||
<code bash> | <code bash> | ||
- | # pacman-key --populate hyperbola arch | + | # echo localhost > / |
</ | </ | ||
+ | |||
+ | Add the same hostname, i.e. localhost, to <color # | ||
+ | |||
+ | Type: | ||
<code bash> | <code bash> | ||
- | # pacman-key --refresh-keys | + | # nano /etc/hosts |
</ | </ | ||
- | </note> | + | < |
+ | # < | ||
+ | 127.0.0.1 | ||
+ | ::1 | ||
+ | </code> | ||
- | ==== Install and configure a bootloader ==== | ||
- | === GRUB === | + | === Locale |
- | * For BIOS and EFI: | + | Type the following to set locale preferences in <color # |
<code bash> | <code bash> | ||
- | # pacstrap | + | # nano /etc/ |
</ | </ | ||
- | * Install GRUB after chrooting | + | Now choose your locale from what language you’re using. All locales are commented out (preceded by #) by default. Uncomment (remove |
- | See [[https:// | + | < |
+ | ... | ||
+ | #en_SG ISO-8859-1 | ||
+ | en_US.UTF-8 UTF-8 | ||
+ | #en_US ISO-8859-1 | ||
+ | ... | ||
+ | </ | ||
- | === Syslinux === | + | After you’ve uncommented your language, run the command: |
- | <code bash> | + | <code bash> |
- | # pacstrap /mnt syslinux | + | # locale-gen |
</ | </ | ||
- | See [[https://wiki.parabola.nu/Syslinux|Syslinux]] for further details. | + | Then check the file <color #0B71B9/#DDF1FF>/etc/locale.conf</color>. If not existing you can create it like following up: |
- | ==== Install wireless tools ==== | + | <code bash> |
+ | # echo LANG=en_US.UTF-8 > / | ||
+ | </ | ||
- | If your wireless network is WPA protected, you'll need [[https:// | + | Then export |
<code bash> | <code bash> | ||
- | # pacstrap /mnt wpa_supplicant | + | # export LANG=en_US.UTF-8 |
</ | </ | ||
- | ==== Configure the system ==== | + | Add console keymap and font preferences in <color # |
- | Generate a [[https:// | + | === Keymap === |
+ | As the locale, | ||
+ | |||
+ | < | ||
+ | keymap=" | ||
+ | </ | ||
+ | |||
+ | If you have an advanced usage of your keymap, you can watch the other functionalities, | ||
<code bash> | <code bash> | ||
- | # genfstab | + | # rc-update add keymaps default |
</ | </ | ||
- | Next we [[https://wiki.archlinux.org/index.php/Change_Root|chroot]] into our newly installed system: | + | < |
+ | |||
+ | === Time zone === | ||
+ | Create a symbolic link <color #0B71B9/#DDF1FF>/etc/ | ||
<code bash> | <code bash> | ||
- | # arch-chroot | + | # ln -s /usr/ |
</ | </ | ||
- | * Write your hostname to <color # | + | Example: |
<code bash> | <code bash> | ||
- | # echo myhostname > /etc/hostname | + | # ln -s / |
</ | </ | ||
- | * Symlink | + | If you get <color #620BB9/#EEDDFF>ln: failed to create symbolic link ’/ |
<code bash> | <code bash> | ||
- | # ln -s / | + | # ln -s -f / |
</ | </ | ||
- | * Set [[en: | + | === Hardware clock === |
- | * Add console keymap and font preferences in <color # | + | Set the hardware clock to UTC |
- | * Uncomment | + | |
- | * Set a root password with <color # | + | |
- | * Add your user to the relevant [[https:// | + | |
<code bash> | <code bash> | ||
- | # gpasswd | + | # hwclock |
</ | </ | ||
- | * Configure | + | === 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. | ||
+ | |||
+ | <code bash> | ||
+ | # passwd | ||
+ | </ | ||
+ | |||
+ | ==== Bootloader installation and configuration ==== | ||
+ | === GRUB === | ||
+ | Finally follow these steps: | ||
+ | |||
+ | <code bash> | ||
+ | # pacman -S grub | ||
+ | </ | ||
+ | |||
+ | <code bash> | ||
+ | # grub-install --target=i386-pc --recheck /dev/sdX | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | Here do NOT append a partition number, i.e. <color # | ||
+ | </ | ||
+ | |||
+ | To configure the bootloader, you have to install it and generate the file <color # | ||
+ | |||
+ | <code bash> | ||
+ | # grub-mkconfig -o / | ||
+ | </ | ||
+ | |||
+ | === Syslinux === | ||
+ | |||
+ | [[https://en.wikipedia.org/wiki/ | ||
+ | |||
+ | <code bash> | ||
+ | # pacstrap /mnt syslinux | ||
+ | </ | ||
+ | |||
+ | For further details refer to the [[https:// | ||
+ | |||
+ | === Create RAM-disk | ||
+ | |||
+ | Configure <color # | ||
<code bash> | <code bash> | ||
Line 519: | Line 629: | ||
< | < | ||
- | * 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 additional environment for working. | ||
- | 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 ===== | + | ==== Graphical environment and your favorite desktop |
+ | Hyperbola does not include the common known desktop-environments, | ||
- | Your new **Hyperbola GNU/ | + | You can for sure create your own working graphical environment as we offer several [[en:system: |
- | ===== Acknowledgement ===== | + | ==== Final note about included packages, applications and others |
- | This wiki article is based on **ArchWiki**, **GentooWiki** and **[[https:// | + | We ask to make usage of the [[https:// |
+ | |||
+ | ===== Conclusion ===== | ||
+ | Your new **Hyperbola GNU/ | ||
+ | |||
+ | ===== Acknowledgement ===== | ||
+ | This wiki article is based on **[[https:// |