Skip to main content

ArchLinux Installation EFI

Installing ArchLinux with UEFI

The official ArchLinux installation page is very good, but obviously cannot cover all installation scenario.

I had to install with EFI and steps are not straight copy/paste of that page.

I will make the log story short but just pasting the commands and indicate what is needed and not in the guide.

timedatectl set-ntp true
Use parted instead of fdisk
parted /dev/sda
Print existing partitions and clear them all:
(parted) print
(parted) rm 1
(parted) rm 2
(parted) rm ...
Create the EFI partition and fill the remaining
(parted) mklabel gpt
(parted) mkpart ESP fat32 1MiB 513MiB
(parted) set 1 boot on
(parted) mkpart primary btrfs 513MiB 100%
(parted) print
(parted) quit
Note that in "parted", "quit" also saves (in "fdisk", "quit" does not)

Format and mount created partitions
mkfs.fat -F32 /dev/sda1
mkfs.btrfs /dev/sda2
mount /dev/sda2 /mnt
mkdir -pv /mnt/boot/efi
mount /dev/sda1 /mnt/boot/efi
Here is just a small improve of the officiel guide: add some usefull packages to installation
pacstrap /mnt linux linux-firmware nano base base-devel dhclient openssh btrfs-progs grub efibootmgr
genfstab -U /mnt >> /mnt/etc/fstab
arch-chroot /mnt
The following is just copy/paste of
ln -sfv /usr/share/zoneinfo/Indian/Antananarivo /etc/localtime
hwclock --systohc
echo 'en_US.UTF-8 UTF-8' > /etc/locale.gen
echo 'LANG=en_US.UTF-8' >  /etc/locale.conf
echo 'KEYMAP=fr' > /etc/vconsole.conf
echo 'hv-01' > /etc/hostname
echo ' hv-01' >> /etc/hosts
mkinitcpio -p linux
The EFI flavour "grub-install" is documented, but here it is:
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub
grub-mkconfig -o /boot/grub/grub.cfg

You may now just exit the chroot and reboot on your new installation.

Popular posts from this blog

npm run build base-href

Using NPM to specify base-href When building an Angular application, people usually use "ng" and pass arguments to that invocation. Typically, when wanting to hard code "base-href" in "index.html", one will issue: ng build --base-href='' I used to build my angular apps through Bamboo or Jenkins and they have a "npm" plugin. I got the habit to build the application with "npm run build" before deploying it. But the development team once asked me to set the "--base-href=''" parameter. npm run build --base-href=' did not set the base href in indext.html After looking for a while, I found where it says: You need to use −− to pass arguments to npm scripts. This did the job! The command to issue is then: npm run build -- --base-href='

Jenkins invalid privatekey

Publish over SSH, Message "invalid privatekey:" With quite recent (June-July 2020) installations of Jenkins and OpenSSH, I have the following error message when using the "Deploy overs SSH" Jenkins plug-in and publishing artifacts to the target overs SSH: jenkins.plugins.publish_over.BapPublisherException: Failed to add SSH key. Message [invalid privatekey: [B@d8d395a] This problem seems to be referenced here: Just regenerate a key with the right parameters To solve it: ssh-keygen -t rsa -b 4096 Or ssh-keygen -t rsa -b 4096 -m PEM

Emacs Pulumi LSP

Install Pulumi Emacs Mode The source code is on At the very bottom of the page are the instructions on how to install. You Need to have make installed. $ make install emacs-client mkdir -p ./bin go build -ldflags "-X" -o ./bin -p 10 ./cmd/... go: downloading v3.53.1 ... ... ... go install -ldflags "-X" ./cmd/... mkdir -p editors/emacs/bin cd editors/emacs && emacs -Q --batch --eval "(progn (setq package-user-dir \"$(pwd)/bin\" \ package-archives '((\"melpa\" . \"\") \