Hello and welcome to Hyperbola GNU with Linux-Libre
today I'll show you how to install the Hyperbola distribution
in its 0.3 version
My name is Jesus Eduardo
and I'm am on the Hyperbola Security team
and well then let's start with the main steps
one of the first steps is to download de ISO
from the official Hyperbola page
let's go to where it says 'download'
Here we can see that we have
a little guide about the types of images
we have a normal image
and another named 'Hypertalking'
that allows us
activate
voice
for those people who have problems with vision.
for that you must download HyperTalking
Let's go down, where it says 'source'
because if we go up
we can only download the ISO with torrent
or through magnetic links
but some users will like to download it with HTTP
let's 'source'
Down this page
let's go where it says 'other sources'
Any mirror will be good, but of course one would have to choose the nearest mirror
once we are inside, let's click on '/other/'
and then to the directory 'live_images/'
followed by gnu-plus-linux-libre
once here we choose the desired version. In my case, the stable one, milky-way v0.3
Here we can see multiple files
first,
the pure .iso image
then an magnet archive
a sha512 file, to check the liability of the file,
a signature of the data integration (sha512)
an signature of the .iso image
an a torrent file
You will want to download the .iso image
and for security reasons, the signature of the .iso image.
Then, you'll go to the 'verify your live image'
following this guide you can be sure that the .iso image downloaded has no data errors
Once downloaded the file, you'll want to save it inside a memory USB
or you can also save it on a CD
in order to boot from the device,
Remember that you need to check your BIOS settings in order to Boot to the live image (USB or CD).
I'll use a virtual machine to simulate the installation
in my physic machine
I'm using a wireless network card from TP-link,
exactly the 'TL-WN722N' model
it is a wireless device that works with free software.
I'll give you the description in case you don't have internet connection.
Remember that it's a free distro, so some devices may not work.
To check in where Bus is my USB,
I'll use the command lsusb.
in this case is the Bus 003, and the device 007.
I'll go to the Qemu configurations, and specify my device Bus number and device number.
hostbus is 3, and hostaddr is 7.
I have the instructions of my virtual machine in a bash file
my virtual machine will have 1GB of RAM and with a 20GB Hard Drive.
I'll start my virtual machine with the command 'bash /home/heckyel/ and the name of the file, which is vm.sh
[Intro]
The virtual machine opens
and it says that he can't find a bootable device, basically our image is not being detected, let's configure the disk part, id idn't add it actually.
To add it, I'll use AQEMU,
click on Media and on CD-ROM, and, yes, it's missing, that's why it isn't working
Here I'll add the disk configurations
perfect!
let's close AQEMU
and try again
Perfect, now it works,
let's click to View and check 'Zoom To Fit'
in order to have a better resolution
I'll maximize it.
Here we have our...
Hyperbola Menu
Her ewe have options for x64 and x32 bits
to boot from an existent operating system
to run a RAM test
to know hardware information
to reboot and to power off the machine
Let's go to the first option, to install a 64 bits system,
remember that this video will be based on the DOS mode.
Let's see the installation on DOS, the MBR installation, to be exact.
Let's configure the keyboard map,
because for default we won't the right keyboard
unless you have an english keyboard, for that I'll use a clear
and then run a 'loadkeys' space 'es'
I'll activate 'screenkey' so you can understand...
my commands better
perfect!
The first command was 'loadkeys es' and that will be enough for my keyboard in general.
What to do next?
first
connect to the internet
If I do a 'pacman -Syy'
- you'll see
that I have internet connection,
this is because
by default, the virtual machine
has a NAT connection
and that is why I have internet connection from
the virtual machine
Logically this wont happend
in your case, you won't be doing it on a virtual machine,
so probably you won't have internet,
I'll make an example with my wireless network card, to show you how to configure it.
For this, let's use the 'iw dev' command
we can see that the interface is being 'seen'
so we have a name.
Let's use
now the 'wpa_supplicant- command
with -B -i to indicate what interface should be used
in this case is wlp0s1f2u1
and now
add -c to
redirect some parameters
using the command wpa_passphrase,
and then 'lynx' the name of the connection in this case
and the password would be the one I'm writing since it is an 'artificial' network
there's no problem.
This would be the command, once we press enter
it will say that the connection was succesfull
then, I'll use the command 'dhcpcd'
and tell them to bring me Ip's to the wlp0s1f2u1 interface.
Once we press enter
it will say that it is running commands, now
to check if we have internet connection
we will use a 'pacman -Syy'.
We see now that we do have internet connection
perfect!
Now
I'll go to the next steps
they will be to format
the hard drive
and make the partitions that we will need
for this
I'll use the 'cfdisk' command
but before this command, we need to know which devices we have connected
to this, we will use the 'lsblk' command
[enter]
it will show us all the devices
we will use the sda drive
with a 20GB capacity
here we install the operating system
Now, let's use cfdisk /dev/sda.
Here we have to select the type of installation
as I said before, it will be a DOS installation
Now
we have the totally free disk,
let's create the first partition
which will be dedicated to the boot process
with a 300M space
primary type
Then the root file, I'll give it 10GB,
the /home partition, 8G
and the swap memory,
it will the remain, 1.7GB
[enter] Done!
To the swap
the thumb rule is to assign the double of space
you have in your machine
for example, if you have a computer with 2GB of RAM,
the swap should have 2 or more
in this case as I'm using a virtual machine
that has a 1.7 GB approximately
Once we are done with the partitions
let's say that our first partition, the boot one has to be bootable, since it is where he kernel
and the grub will be, to start the system
Then, in the last sector
let's change its type to Linux swap.
After this, let's write every partition,
let's go to the first one and go enter on write
and say yes
yes
one by one.
yes
Perfect, let's go to quit
and rerun the cfdisk /dev/sda command in order to see if everything is correct
we see that they are correct
Let's go quit again.
now we will rormat the partition
this is necessary since the partitions have to be formatted and the mounted
let's make a clear.
Let's use the command 'mkfs'
the type of archive system with -t would be ext4
on the /dev/sda1 device the /boot partition
[enter]
Again, mkfs -t ext4 to the root partition, /dev/sda2.
We wait some seconds and again, mkfs -t ext4 /dev/sda3, our /home partition
[enter]
we have almost everything ready
now we will format the swap,
we use the command 'mkswap /dev/sda4'
now we will activate the swap
since we will latter use the command genfstab
command that detects all the systems to be used
to activate the swap
we use the 'swapon /dev/sda4' command,
[enter]
and the swap is now activated.
Now we will organize the partitions
we have a partition that will be home and another for root
let's start mounting this partitions:
Using the command 'mount /dev/sda2' in the /mnt directory
then enter.
Now we will create the boot and the home directory with the mkdir command,
mkdir /mnt/boot
and mkdir /mnt/home commands
perfect!
now let's mount the devices in those newly created directories
using -mount /dev/sda1 /mnt/boot
[enter]
now mount /dev/sda3 /mnt/home
[enter]
All perfect
now we will simply make sure that the system keys are correct
to this we'll use the command 'pacman -Sy hyperbola-keyring' then enter
enter again
and this is so we dont have errors later in the moment of installing the system with pacstrap
In the 1.0 version of hyperbola, this problem won't be here animore
since in that version we will only have one key, so it wont give us problems on that version
now let's
use 'pacstrap /mnt', as you can see in our root directory, which is mounted on /mnt
we will install
the 'base',
'base-devel',
'grub-bios' for GRUB
wpa_supplicant to be able to connect through wifi
if you don't have wifi you don't have to install it
iw too for this, kernel-firmware,
ldns, which will help us later to do pings to webpages in order to check our internet connection
and finally a 'xenocara-input-synaptics' packages in order for the touchpad to work
just install it if you're working on a laptop.
Now let's press enter
and with this we will have our packages installed from
the hyperbola repositories from core, extra and community.
The downloading and installation of packages is now done
now let's make the principal system configuration
for this
let's make a clear
and the use 'genfstab
with the -U and -p parameter
from /mnt
and let's redirect that >> to the /mnt/etc/fstab directory
[enter]
now we verify with the cat command to see if it everything is correct
cat /mnt/etc/fstab, and as you can see
and as you can see, we have the 4 partitions with its correspondent mount points
sda2 as root, sda1 as boot, sda3 as home and sda4 as swap.
now let's
write a name for the machine
for this lets use the command 'echo' and the hostname,
in this case I'll use the 'libre' name
and this will be redirected...
to /mnt/etc/hostname.
now we have the name ready
to keep configuring and to not refer all the time to /mnt we will have to enter to our root directly
to this we will use the 'arch-chroot /mnt' command
[enter]
now we will have /mnt as a root, basically we are inside our new OS,
now let's configure our zone,
for this we will use the 'ln -s' command to create a simbolyc link
to the /usr/share/zoneinfo/America Here you choose your location
If I press TAB, you can see that there's more zones,
in this case I'll chase America and Lima for the Peru country
space, /etc/localtime, enter and we're done.
Now let's work wit hthe localization
and its specific characters of it
for spanish
i'll use the nano -w /etc/locale.gen
and then enter
now we have to search the english language
the language
which is en_US.UTF-8
with the character set UTF-8
and the spanish one which is es_ES.UTF, and uncomment those.
Continuing with some localization preferences, we will use the 'nano' command
with -w /etc/locale.conf
[enter]
here we write that we are using the LANG=es_ES.UTF-8 variable
Ctrl+o and enter to save, and Ctrl+x to exit, now clear.
then
we write the command 'locale-gen'
and our localization...
and languages will be generated
Now we have to tell the system what type of characters it will use in the tty
for this we will use again the 'nano' command
with -w /etc/conf.d/keymaps
now we can change the -keymap- variable, change us for es
in order to replace spanish for english.
Now we will configure GRUB
with the following the 'grub-install' command
we will tell it that the target is i386-pc (mode grub legacy)
tell it to recheck with --recheck
and this followed by the target, which is /dev/sda
GRUB now will check for operating systems installed on the device
[enter]
wait for the installation.
one finished, no errors reported, we will generate the configuration file for GRUB
with the grub-mkconfig command,
and write this in the /boot/grub/grub.cfg directory
here it generates the GRUB configuration
If we wanted to change something in the linux-libre kernel
with the command 'mkinitcpio -p linux-libre-lts' the kernel of use
the generation begins
When we runned pacstrap, this process was already done
but with this command we make sure that they are generated
Me re-run the grub-mkconfig -o /boot/grub/grub.cfg command.
If we wanted to change something in the linux-libre kernel
we can use the command nano -w /etc/mkinitcpio.conf
and here we can see all the kernel configuration
here you can configurate everything you need, it is unlikely, but you could
Now, we will mkae a password for root
with the 'passwd' command.
we place for example 4 zeros
we repeat
all perfect
now type exit
and unmount devices
with '-umount /mnt/{boot,home,}'
This command will umount all the devices we mounted, boot, home and root.
Now we can do a reboot or a poweroff
in this case, I'll use a poweroff
to make some adjustements to the virtual machine
for example some network adjustements
and I want to connect through it.
I'll use AQUEMU and go to the network part
and change Connection mode to No connection and apply.
I'll copy the parameter
for this option
and add it to my bash script.
I'll hceck again if everything is right with lsub
Bus 3, and device 9,
the device changed
Now we boot into the hyperbola USB, but now I'll choose the option of Boot existing OS, since we already have it installed.
[enter]
Here in theory, I shouldn't have internet connection,
I'll enter with root in order to check this
password are 4 zeros
I'll make a pacman -Syu
and as you can see,
I don't have internet connection
that's what I want to show you, how to have internet connection through wifi
Now we could use the same command as we used in the installation
but making a file is better since we have it saved, and don't have to make every configuration manually.
Let's make a 'nano -w /etc/wpa_supplicant/wpa_supplicant.conf
by default, this file has some stf written in it, and we can use it as help.
Her we can see that we have a connection through cable, which is in IEEE8021X,
and a wireless connection, the one we need..
Let's write: network
open brackets '{}'
and write inside them:
For example, the parameter that we wil use is the ssid parameter
which is the name of the connection, its name, lynx, and for example,
the passwd, for this
we use psk.
we write the wifi password
perfect
Now Ctrl+o sto save and exit with Ctrl+x.
Let's check what services are running in our system
using the 'rc-status' command
we see that the services wpa_supplicant and dhcpcd are now started
we write 'rc-service wpa_supplicant start'
we write 'rc-service dhcpcd start'
and we review the services with 'rc-status'
and check that wpa_supplicant and dhcpcd is already activated
dhcpcd is important because it will generate the network's ip's
and allows us to have internet connection
Now lets check our intenret connection with the command pacman -Syy
and we are NOT able to reach the internet yet,
Using que command 'iw dev' would give us information about the interface
now, let's run 'dhcpcd wlp0s1f2u1'
then enter
it says that the configuration
for the dhcpcd is running,
so we should have our IP now, running pacman -Syy
would give us, no internet
let's now reboot in case it is needed,
but not yet, we will ifrst run
rc-update add wpa_supplicant and enter
and the same with dhcpcd, after this, let's reboot.
I'll check on my part that the password is the correct one
good
we have now the base system of Hyperbola but we do not have yet internet connection,
let's check if now it is fixed, we now go to Boot existing OS again and start our system.
Remember that we now have wpa_supplicant and dhcpcd at startup
so, in theory we should now have internet connection,
let's enter with root with the 4 zeros password and enter.
Let's run rc-status and now we can see that wpa_supplicant is started, as well for dhcpcd
now let's check if we have an IP address
let's use the command 'ip route'
and enter
and as you can see we have the host which is 192.168.1.1 and our IP address being 58
so it looks great, now let's check our internet connection,
since dhcpcd already gave us IP address,
for this we use the command 'drill gnu.org',
as you can see it ended succesfully, and now let's check with pacman -Syy,
and as we can see, we now have internet connection, we are connected thorough wifi with wpa_supplicant
and with dhcpcd, without the needs of NetworkManager or such
I didn't did the tutorial
about NetworkManager, since it will be removed from Hyperbola in the 0.4 version
so in order to save some work, you now know how to configure the network without NetworkManager.
In the next video we will configure
the part of the user creation
and also how to make the right permissions for the user
in the next video.