# [Project] The dotBook

Reviving an old Acer Aspire with minimal Arch Linux

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

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.

Arch Linux is targeted towards the ambitious power user. The people that want to have a thin and slick operating system with as minimal means possible (I’m not ready for Gentoo yet, sorry).

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.

## The installation

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.

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.

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:

loadkeys sv-latin


I then put my trusty ethernet cable into the laptop and issued:

dhcpcd


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


Nice!

Pacman is the package manager that Arch Linux uses, through Pacman you can download most of the software needed for a nice user experience.

pacman -Syy


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 cfdisk.

The Arch Wiki has really good information if you are eager to install Arch for yourself.

With that out of the way, I chose ext4 .. and now it’s time to format the partition.

mkfs.ext4 /dev/sdXY


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.

nano /etc/locale.gen


For example:

sv_SE.UTF-8 UTF-8
en_US.UTF-8 UTF-8


and now we create the locale

locale-gen


And now we pick the time zone:

Like this:

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.

reboot


## Next steps

I installed a user

useradd -m -g users -G wheel -s /bin/bash dotmavriq


set the password for that user

passwd dotmavriq


edited the SUDOERS file so that my user has those neat root superpowers.

nano /etc/sudoers


and then, inside that file, we need to make sure that it looks like this inside that file.

%wheel     ALL=(ALL) ALL


cool, cool…

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


PulseAudio and 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.

vim ~/.xinitrc


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 startx.

Yup… that’s about it. I installed finch and entered all of my chat protocols to have them at my fingertips at all times, mpd + ncmpcpp to manage my music, mplayer for video files, ranger for a minimal file explorer. Neofetch to meme along with the peeps.

Oh, and 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 😉