Install Arch Linux Uefi (Without Grub Menu)
Install Arch Linux Uefi (Without Grub Menu)
Install Arch Linux Uefi (Without Grub Menu)
Its 7 AM and I am editing this guide, so please bare with me while it looks like a giant blob of text.
Part 1 Video:
2016 Arch Linux EFI Install Guide Part 1 - Preparation and Disk Partitioning
Part 2 Video:
2016 Arch Linux EFI Install Guide Part 2 - Installing Arch and Making it Boot
Part 3 Video:
2016 Arch Linux EFI Install Guide Part 3 - Making it user friendly and adding a desktop
environment
-
TABLE OF CONTENTS:
Preparation
-Items necessary
-Downloads necessary
-Details regarding enabling EFI mode via BIOS
-Details regarding booting from USB in EFI mode
-Verifying internet connectivity
-Verifying EFI mode is enabled
Disk Partitioning
-Finding all available drives
-Wiping the existing partition table
-Creating boot partition and the dierence between EF00 and EF02 Hex codes
-Creating swap partition, the swap debate, choosing a swap size, and the swap 8200 hex code
-Creating root and home, the dierences between them, and choosing whether to keep them on the same partition
-Telling linux which le systems to use for our partition
Preparation:
-Items necessary
1. A 4gb or higher USB stick
-Downloads necessary
2. Arch linux ISO image
https://www.archlinux.org/download/
(sdX being your USB stick. You can nd this withthe command: lsblk)
Ok, so we have our USB stick, we plug it in. We boot into the USB stick. We select the rst option that reads
something like Arch Linux archiso x86_64 UEFI USB
ping -c 3 www.google.com
efivar -l
if it spits out a list of stu (ue variables) then you are using UEFI mode.
-
Disk Partitioning:
lsblk
These are known to the system as /dev/sda, /dev/sda1, /dev/sdb, /dev/sdb1 and so forth.
boom. zapped.
-Creating boot partition and the dierence between EF00 and EF02 Hex codes
Now to create my new partitions. So lets start partitioning:
cgdisk /dev/sdX
Note: the order you create the partitions is the order they will be listed in, so if I create three partitions in order such
as boot, swap, root, home on /dev/sda, then lsblk again, they will be listed as:
sda
-sda1 (our boot partition)
-sda2 (our swap partition)
-sda3 (our root partition)
-sda4 (our home partition)
Im going to create my boot partition rst. I am using EFI, so EF00 will be our hex code (NOT EF02. Ive racked my
brain over this error before trying to gure out why EFI system wouldnt boot). I generally dedicate 1Gb (1024MiB) of
space to the boot sector so that I have room to breathe in case I need to change anything or add multiple boot
kernels, although arch wiki recommends only 200-300Mb. I also will name it boot.
Note the 1007KiB existing before the boot partition we just made. This is where the Protective MBR is, and is
present on all GPT partition tables. This cannot be removed/deleted. (This is yet another thing Ive racked my brain
over in the past while trying to create boot partitions). It is OK to ignore.
Now, arrow down to the next free space available, then go to [New] again.
-Creating swap partition, the swap debate, choosing a swap size, and the swap 8200 hex code
To swap, or not to swap, that is the question. There has always been a debate on whether or not to create a swap
partition when using an SSD or if you have a large amount of memory.
Detailed Explanation:
The way the Linux kernel works, swap isnt only used when you have exhausted all physical memory. The Linux
kernel will take applications that are not active (sleeping) and after a period of time, move the application to swap
from real memory. The result is that when you need that application, there will be a momentary delay (usually just a
second or two) while the applications memory is read back from swap to RAM.
If youre running a laptop or a desktop that you might want to put in hibernate mode (Suspend to Disk), then you
always want at least as much swap as you have memory. The swap space will be used to store the contents of the
RAM in the computer while it sleeps. Additionally, this allows you to put inactive applications to sleep, giving your
active applications access to additional RAM.
In the unlikely event that you run out of RAM perhaps opening a big le, perheps a long running tab in refox, it
doesnt matter, in that event your kernel OOM killer will kick in and start killing applications to get memory back.
From a developer perspective, you also need to have substantial swap space if you are running Java/Java apps.
References:
http://serverfault.com/questions/5841/how-much-swap-space-on-a-high-memory-system
http://askubuntu.com/a/49130
Here is the Redhat preferred reference table for linux swap partition sizes:
(Note: Redhat is another Linux Distribution, however linux partitions are utilized the same across all distros)
Amount of RAM in the system Recommended swap space Recommended swap space
if allowing for hibernation
-
2GB of RAM or less 2 times the amount of RAM 3 times the amount of RAM
2GB to 8GB of RAM Equal to the amount of RAM 2 times the amount of RAM
8GB to 64GB of RAM 0.5 times the amount of RAM 1.5 times the amount of RAM
64GB of RAM or more 4GB of swap space No extra space needed
In my case I have 16GB of RAM, and wish to use hibernation, so I will create a 24GB Swap drive (16*1.5=24), and
of course name it swap.
-Creating root and home, the dierences between them, and choosing whether to keep them on the same partition
Root:
Last Im going to create my root partition. I normally dont create a home partition, I just store /home inside the root
partition since I prefer to not have to worry about the partition size for /home being limited. However
I will explain both for the sake of user options.
Home-
Home is where your user les are stored. In windows that would be C:\Users\Someusername, which would then
contain My Documents, Downloads, Pictures, Videos etc. All of the folders pertaining to that user. Some may
prefer to have /home on a seperate partition for security or storage sake.
If you are only using root, and storing /home inside of it, you can create root using all of the default values (except
giving it the name of root) for the new partition options by just pressing Enter.
If you are creating a seperate /home partition, arch wiki recommends the root partition be 15-20GB, and that the
/home partition be whatever size you like (I would use the remainder of the disk). You can do this by rst creating the
root partition, and specifying 20GiB when choosing the size, naming it root (all other options just press Enter), then
creating the home partition again using all default options and naming it home.
Arrow down to the next free space available, then go to [New] again.
Arrow down to the next free space available, then go to [New] again.
Arrow over to [Write] to save your new partitions, hit enter, type yes, hit enter again.
Lastly, Arrow over to [Quit] and press enter.
Reboot
I now need to let linux know the le system for our partitions. For EFI with GPT, boot needs to be Fat32. For swap we
simply use mkswap. The rest are default ext4 le systems:
cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup
Now, instead of going through the list with nano and trying to scroll down a million mirrors, were going to do
something dierent. Run the following sed line to uncomment every mirror:
Lets sort that backup. This command will run a check for the top 6 mirrors you have the best connection to, and
leave them uncommented while commenting out the rest:
For any options that come up just press enter or type y and press enter
-Generating an fstab le
and now we generate our fstab le
now edit it to make sure an entry is listed for each partition. by typing
nano /mnt/etc/fstab
check to see if there is an entry in fstab for swap since we are here. if there is, it should look something like:
/dev/sda2 none swap defaults 0 0
or
UUID=some-crazy-long-random-id none swap defaults 0 0
if you have an SSD hard drive that has TRIM support, change defaults to defaults,discard:
/dev/sda2 none swap defaults,discard 0 0
Now we are going to chroot into our newly installed system and begin to congure its booting, time, and language
arch-chroot /mnt
-Language
Create locale le:
nano /etc/locale.gen
Uncomment your locale. I uncommented en_US.UTF-8. You can search the le for it by typing ctrl+W, type
en_US.UTF-8, hit enter, then uncomment it and press ctrl+x to exit
Now generate that locale by typing:
locale-gen
-Time
List the available time zone info with
ls /usr/share/zoneinfo/
nano /etc/pacman.conf
[multilib]
Include = /etc/pacman.d/mirrorlist
While we are still inside pacman.conf le, lets also add the AUR repo so we can easily install packages from AUR.
Add these lines at the bottom of the le:
[archlinuxfr]
SigLevel = Never
Server = http://repo.archlinux.fr/$arch
pacman -Sy
passwd
passwd someusername
-Setting up sudoers
Now we have to edit the sudoers le to give this user the much needed sudo powers. Don\92t open this le with a
regular editor; it must be edited with visudo command.
EDITOR=nano visudo
Uncomment:
And were going to make sudoers require typing the root password instead of their own password by adding:
Defaults rootpw
Lastly were going to install bash-completion which makes it easier with auto-complete of commands and package
names.
pacman -S bash-completion
If this says already mounted just ignore and keep following this guide.
As we are doing an UEFI installation of archlinux we are going to use Gummiboot as our boot manager, which has
now been incorporated into bootctl/systemd-boot.
bootctl install
Next, we need the PARTUUID of the /root partition in order to add it to our bootloader conguration.
Do this by typing:
Where x is the device letter and Y is the partition number for the root partition. In our case it was sda1
Write the id down that it spits out, youll have to type it in the next part.
Now you will need to manually create a conguration le to add an entry for Arch Linux to the gummiboot manager:
nano /boot/loader/entries/arch.conf
Type the following, make sure sdaX is your root partition (mine is sda3):
Processor manufacturers release stability and security updates to the processor microcode. While microcode can be
updated through the BIOS, the Linux kernel is also able to apply these updates during boot. These updates provide
bug xes that can be critical to the stability of your system. Without these updates, you
may experience spurious crashes or unexpected system halts that can be dicult to track down.
Users of CPUs belonging to the Intel Haswell and Broadwell processor families in particular must install these
microcode updates to ensure system stability. But all Intel users should install the updates as a matter of course.
For AMD processors the microcode updates are available in linux-rmware, which is installed as part of the base
system. No further action is needed for AMD users.
Since I have an Intel i7 4770k, which is a Haswell processor, we need this installed:
pacman -S intel-ucode
then we will have to update our gummiboot by adding another initrd line for intel-ucode as follows:
initrd /intel-ucode.img
initrd /initramfs-linux.img
Now before we exit this, we are also going to set up our graphics drivers BEFORE we boot into the system. Reason
being Archs kernel is set to use nouveau drivers by default for nvidia cards, and some cards dont work properly and
will cause a freeze/hang (such as my gtx 980 ti..)
I assume you know which GPU you are using. Arch wiki has done a great job at documenting which drivers you
need to install for your hardware.
I have an Nvidia GTX 980 TI, so my latest drivers will just be nvidia. I also want the multilib drivers, so I will install
lib32-nvidia-libgl:
exit
umount -R /mnt
reboot
Now that weve rebooted, lets get our internet to stay on, and install an interface
rst lets see what network adapters were working with via
ip link
Ignore the one listed as lo, that is loopback and is always listed.
mine was listed as
enp5s0
so were going to enable it via systemctl
reboot
-Installing 3D support
now we add 3d support
DONE! ENJOY YOUR NEW ARCH LINUX SYSTEM! I HOPE THIS GUIDE HELPED!!!
Feel free to subscribe to my youtube channel for more linux tutorials and plenty of other stu!
youtube.com/gloriouseggrolltv
(youtube.com/gloriouseggrolltv)
References:
http://serverfault.com/questions/5841/how-much-swap-space-on-a-high-memory-system (https://serverfault.com
/questions/5841/how-much-swap-space-on-a-high-memory-system)
http://askubuntu.com/a/49130 (https://askubuntu.com/a/49130)
http://www.tomshardware.com/faq/id-1860905/install-arch-linux-ue.html (http://www.tomshardware.com/faq/id-
1860905/install-arch-linux-ue.html)
http://www.linuxveda.com/2014/06/07/arch-linux-tutorial/ (http://www.linuxveda.com/2014/06/07/arch-linux-tutorial/)
https://wiki.archlinux.org/ (https://wiki.archlinux.org/)
32 comments
thanks very much for your guide, all up and running perfectly. Is it possible to add expand on your
boot loader section to include how you can ad in windows 10 to the boot loader? Having quite a
headache trying to work this out.
Sure, I actually plan on doing another article shortly regarding dual booting as many people
have asked me about it.
Hi, Loved the Guide. I have been trying to install Arch on my Dell Xps 15 9550 laptop and
succeeded using your videos here. Only issue I have is I can not install any Desktop environment.
Gnome just installs and then fails when it boots to it.
The laptop has an nvidia gtx 960m as well as intel 530 graphics so I think Im installing the wrong
graphics packages? For cards like mine, which nvidia packages should I use. The rest of the install
and conguration goes without a hitch, only thing I am missing is the GUI.
Hey sorry for the late reply here! Ive actually gotten this question quite a bit, for laptops and
nvidia you should setup/install bumblebee:
https://wiki.archlinux.org/index.php/bumblebee#Installing_Bumblebee_with_Intel.2FNVIDIA
(https://wiki.archlinux.org/index.php/bumblebee#Installing_Bumblebee_with_Intel.2FNVIDIA)
Hey, man,
nice tutorial, but I followed it 3 times, and all of them I got a mount: unknown lesystem type vfat'
error
any clues?
Thank you so much for this guide. It made installing Arch Linux a breeze with having this along with
the beginner guide. To bad that there doesnt seem to be a way to get Arch Linux to work with the
secure boot option, cause it is kind of a nice option for those of us that are also using a Windows.
Be sure to make a guide for secure boot, if you ever gure it out. Thanks again!
I spoke to soon. Everything seems to work right, able to boot into gnome, but after 5 mins it dumps
me into the screenshot linked below. Then after another 5 mins, it sends me back to the gnome
login screen. Any idea whats going on? Is this related to the intel-ucode?
PC Specs:
CPU: i7-6700K
GPU: Gigabyte GTX 980 To
MB: ASUS Maximus VIII hero
RAM: G.SKILL Ripjaws V Series 16GB DDR4 2666
COOLER: Corsair H100i GTX
PSU: EVGA SuperNOVA 650W
HD: 1x WD Blue 1TB 7200 RPM (Storage)
1x Crucial 250GB SSD (Windows 10 64-bit)
1x WD 160GB 7200 RPM (Arch Linux)
http://imgur.com/sH3Wzp1 (https://imgur.com/sH3Wzp1)
Great guide Everything working like a charm. I have a few doubts, if you could throw some light?
Earlier was running mbr with grub but my disk was partitioned BTRFS, thanks to BTRFS error
cannot nd root 8, this time I decided to go with EXT4. Eventhough boot time upto login is roughly
about the same, after that login seems to take quite longer! The DE is Cinnamon in both the cases
and installed Softwares and the ones set to autostart are all the same. And the HDD is a traditional
5400rpm disk not SSD. So no changes except the le system! Can there be signicant dierence in
speed because of that?
Also can you make a guide for Secure Boot installation of Arch as and when you nd time?
Thanks.
Hi, Im trying to install Arch on my Acer Aspire E5-573G, and whenever I type nomodeset(space)
and hit enter the screen is frozen black and it doesnt boot. Any help?
Man great guide! Very helpful. Im new to Linux and I know Arch is a hell of a distro for a newbie to
take on. But I gured if I am going to learn a new operating system and learn it as well as I know
windows, I might as well jump right in for the challenge and learn it. This helped a lot and gave me a
root to be able to research more of the commands and how the le system works. Great Job!
Installing on my desktop works great, however my laptop has Nvidia Optimus, so I am still trying to
sort that out since you get a blank screen on start of the desktop manager.
Dude thanks for the tutorial! Just one thing I hate gnome with a burning pasion, and no
where else is at all helpfull about installing kde plasma. Since youre the only person making
USEFUL arch tutorials, how the heck do I throw kde on my machine instead of gnome/get it
to work?
DonnyQ 2 months ago
Reply (https://www.gloriouseggroll.tv/arch-linux-e-install-guide/?replytocom=588#respond)
I wrestled Optimus for months, because I wanted three displays. I found no acceptable Linux
implementation. Finally, I realized I could turn it o in BIOS (Dell M6600, runs EFI over
BIOS). That allowed me to get two monitors working properly. Good enough. If Bumblebee
guesses correctly someday, or NVIDIA decides to play nice, Ill be thrilled. If anyone knows
some magic, Id love to hear it.
I wanted to thank you for you videos. I had to use part of your video and another video from a few
years ago, to get grub installed. Sadly, I didnt realize the laptop I was installing Arch on didnt have
UEFI. It is so true what they say, you just dont install Arch right the rst time. It took me three days,
with your tutorials I was able to get further each time, and nally now I have my DE.
-Semper Fi
Great guide! Just one correction, discards are not recommended for NVMe drives:
https://wiki.archlinux.org/index.php/Solid_State_Drives/NVMe#Discards (https://wiki.archlinux.org
/index.php/Solid_State_Drives/NVMe#Discards)
Hey, 1st of all. Big thank you for making the videos, getting thru the arch install on my e laptop felt
damn near impossible otherwise.
Ive tried systemctl disable dhcpcd.service and other simialar variations but Im seemingly unable
to disable it from activiting in boot.
Any advice or suggestions on how to reverse the sudo systemctl enable dhcpcd@(my wi).service
would be awesome.
Thanks man
Oh my god can you PLEASE do a tutorial on how to set up AMD drivers (AMDGPU) on arch, this
shit is driving me insane
John 3 months ago
Reply (https://www.gloriouseggroll.tv/arch-linux-e-install-guide/?replytocom=585#respond)
Yes also wondering about AMD GPU drivers , I have crossre r9 390.
My login takes verry long, like 5 minutes gdm starts fast but after I enter my password it takes
forever to login. Its not because of hardware, I have a similar setup you have. Any Ideas?
Also I usually dont use a swap partition I create a swaple in root, so i dont have to create another
partition.
You are writing that your root partition is sda1 at some point and which is not correct. it is sda3,
which you also later refer it as. However Im confused, are you meaning to refer to your boot (sda1)
or root (sda3). The relevant command is this:
blkid -s PARTUUID -o value /dev/sdxY
sorry for the confusion, I was referring to root which was sda3
What a relief it is to have someone like you in the world. Honestly thank you for this well dened and
thorough installation guide. Very newb friendly THANK YOU
Hi,
Thanks for the amazing tutorial. Your site is very much useful for me to learn a lot about Arch Linux
and related setup guides. Im nding it hard to disable my discrete graphics card. Im currently
running Arch Linux on my Alienware M14x-R2. I have bumblebee and bbswitch installed with default
settings, but the discrete graphics always keeps running and draining power. Can you tell how can I
disable the discrete graphics forever or keep it o most of the times as my tasks are not GPU
intensive.
Thanks,
Prasad
naph 6 months ago Reply (https://www.gloriouseggroll.tv/arch-linux-e-install-guide/?replytocom=571#respond)
Hi,
thank you for that guide. I would appreciate if you can tell me how i can make my arch dual booting
with my windows.
Every time i update the sistem and reboot the system dont start. Failed to start Login Service
Hi ,
I followed your guide several times. When I reboot my system for the rst time after part 2 I get the
following error:
Hey man
Firstly, I appreciated for the nicest tutorial ever. Next, Id be thankful if yo help me to make a network
and connect two laptop one running Arch linux and another with Windows 10.
By a way if this helps, Arch comes with XFCE DE.
Awesome. Thanks. I almost wish I had found this before working it out through the Arch Wiki but
then I would have missed out on getting familiar with with that, and wouldnt appreciate the
concision and clarity of your articles!
Coban 1 month ago
Reply (https://www.gloriouseggroll.tv/arch-linux-e-install-guide/?replytocom=590#respond)
Hey man i have a Problem.regarding initrdThe Command cant be found by Arch Linux. Help a
dude Out my man.
Markdown enabled
Name
URL
Post comment
Follow me on:
(https://www.twitter.com
/gloriouseggroll)
(https://www.github.com
/gloriouseggroll)
(https://www.instagram.com
/gloriouseggroll/)
(https://www.youtube.com
/channel
/UCUMSHXWczvxHy9e8silnVNw)
(https://www.twitch.tv
/gloriouseggroll)
(https://steamcommunity.com
/id/GloriousEggroll/)
Search...
META
Register
(https://www.gloriouseggroll.tv
/wp-login.php?action=register)
Log in
(https://www.gloriouseggroll.tv
/wp-login.php)
WordPress.org
(https://wordpress.org/)
Back to top
GloriousEggroll's Blog
Theme by nehalist.io (http://nehalist.io)