It all starts when my sister’s husbands fathers wife’s daughter’s laptop breaks somewhere in the early 2010s. Since I was seen as the resident tech-guy I would sometimes get weird IT-repairs on my hands, and this time I was handed a tiny little Acer Aspire.
I thought it was quite cool, but it never booted.
It ran some old rendition of windows, and it was it had Siamese letters made from the sticky sides of big post-its all over the keyboard.
I struggled a bit before giving it up for months.
And then, one day, as I was sick and took an extended weekend to recoup from studies. I looked at it and thought “Well, does it accept Linux?”.
I put Ubuntu on it, but it really wouldn’t play nice with that either, so I decided to give that particular laptop up altogether.
But it was a sad sight, I spent that night reading up on EEE-PC and it’s small but pristine community of Linux and hacker enthusiasts praising it for its portability.
A couple of years later the same man would gift me a second and third one of these Acer Aspires.
And number three worked surprisingly well!
So I knew the time was right one lonely Christmas day.
It was time to make a haxx0r laptop!
Arch Linux is composed of free, open-source and non-free software and supports community involvement.
If you’re into Linux you probably already know what Arch is all about.
If you’re new to all of this: Linux is the kernel and every other flavor, or distribution as we call it, is a community or enterprise effort to make a customized operating system that best suits the varying needs of Linux users.
If you’ve been tickled enough by the prospect of a free operating system, I highly suggest testing out Ubuntu first to get your bearings straight in terms of what you demand from an operating system.
We are going customize this distro with minimal software so that I can do anything I’d need to do from from a laptop with as little resources as I can.
I started by downloading Rufus to create a USB from my windows desktop with which to load the bootable Arch Installer onto the USB.
This laptop is now old enough to need ArchLinux32 instead of the regular Arch.
I downloaded the Archlinux32 ISO from here.
Once that was done I popped it into the Acer and pressed
F12 to get to the boot menu.
I changed the boot settings so that it starts booting from USB and pressed
F10 to be prompted with if I should save the settings, pressed yes and eagerly awaited to see if it worked or not.
And it did! Sometimes things like this just work as they are supposed to, which is lovely.
Once Arch is loaded I was met with a root menu.
Arch is minimal and does what you tell it to do, and I need to have my keyboard buttons correspond correctly, so I loaded the Swedish keyboard layout using the following command:
I then put my trusty ethernet cable into the laptop and issued:
this command will provide us with internet as long as it’s connected and all things are as they should.
Now let’s see if that worked:
ping -c 3 google.com
Pacman is the package manager that Arch Linux uses, through Pacman you can download most of the software needed for a nice user experience.
This command will synchronize all packages.
Don’t forget to put
man in front of any basic command to get documentation on what the program does and how to use it, really neat isn’t it?
Now.. I needed to prepare my internal HDD in order to install it, I did this using
With that out of the way, I chose ext4 .. and now it’s time to format the partition.
You must check what partition you use for what directory. Typically, I make one boot directory, one home directory and a swap directory on older computers. But EEE-PC laptops with old harddrives aren’t that fond of swap, so I skipped that for this one. Moving on, let us mount the partition.
mount /dev/sdXY /mnt
install the base system and the devel package for some goodies.
pacstrap -i /mnt base base-devel
then create the fstab
genfstab -U -p /mnt >> /mnt/etc/fstab
chroot a little
arch-chroot /mnt /bin/bash
Edit /etc/locale.gen and uncomment the languages you want for utf-8 and en_US.UTF-8 UTF-8.. if nano triggers you I’m sorry, not sorry.
sv_SE.UTF-8 UTF-8 en_US.UTF-8 UTF-8
and now we create the locale
And now we pick the time zone:
ln -sf /usr/share/zoneinfo/Europe/Stockholm /etc/localtime
hardware clock might be useful
hwclock --systohc --utc
time to name it
echo dotBook > /etc/hostname
we use passwd to change the root password and then we install some necessities.
pacman -S grub sudo dialog netctl wpa_supplicant
at this point we need grub for the computer to properly boot into Arch.
grub-install /dev/sdX grub-mkconfig -o /boot/grub/grub.cfg
now we can
exit out of chroot, unmount the partition and get ready for takeoff.
umount -R /mnt
Here’s to hoping we got all we needed.
I installed a user
useradd -m -g users -G wheel -s /bin/bash dotmavriq
set the password for that user
edited the SUDOERS file so that my user has those neat root superpowers.
and then, inside that file, we need to make sure that it looks like this inside that file.
%wheel ALL=(ALL) ALL
And now for some good stuff.
sudo pacman -S pulseaudio pulseaudio-alsa alsa-utils xorg xorg-xinit i3-wm dmenu i3status vim firefox xfce4-terminal
alsa-utils provides working audio,
i3-wm will be the window manager that we will use. It is minimal and works beautifully on smaller screens for effective work.
xfce4-terminal is just a convenient terminal to have even though it’s a bit fat compared to lighter alternative terminals such as
st. It becomes way easier to copy and paste code from web browsers into it without too much of a hassle, and it worked for me as I started this project.
ViM is the go-to editor for anyone that wishes to maximize their programming experience. There’s tons of documentation and arguments for why you might want to use it all over the internet, so I’m not going to bother explaining it in this project documentation.
I went through an old list of some programs that I knew I needed on top of all and installed them…
Now, with vim, I edited
.xinitrc so that
i3 boots up nicely.
setxkbmap se & xrandr --output eDP-1 --primary --mode 1920x1080 --pos 5120x360 --rotate normal --output DP-1 --off --output HDMI-1 --off --output DP-2 --off --output HDMI-2 --off --output DP-2-1 --mode 2560x1440 --pos 2560x0 --rotate normal --output DP-2-2 --mode 2560x1440 --pos 0x0 --rotate normal --output DP-2-3 --off & feh --bg-scale /home/dotmavriq/Pictures/wallpaper.png & xrdb -merge ~/.Xresources & pa-applet & nm-applet & exec i3
pa-applet will give us a volume-knob,
nm-applet will give us one to manage wifi connections.
Feh is a minimal image viewer that can also act as a background creator when used like this. The
xrandr setup works for my current workstation rig.
Setxkbmap will set the keyboard layout correctly within X. exec i3 will make sure that we get into i3 as we use the command
Yup… that’s about it. I installed
finch and entered all of my chat protocols to have them at my fingertips at all times,
ncmpcpp to manage my music,
mplayer for video files,
ranger for a minimal file explorer.
Neofetch to meme along with the peeps.
Gruvbox is a must, it is the holiest of color schemes. You can have a look here.
I dabbled with thinner browsers, but I feel as if qutebrowser isn’t quite there yet.
A SNES-emulator was a must too, of course.
I decked it out with some nice Linux swag and played around with it for a couple of months.
Now my beloved dotMargui uses it for studies. She’s using Arch too, btw 😉