Pangram verdict · v3.3
We believe that this document is fully human-written
AI likelihood · overall
HumanArticle text · 1,794 words · 6 segments analyzed
Arch Linux 32 on an Eee PC 1000HE 2026.07.04KO | ENA new operating systemBefore installationPreparing the boot mediaConnecting to the internetSetting the system clockPartitioning the diskInstallationSystem configurationBootloader configurationNetwork configurationAfter installationArch User RepositoryDesktop environmentRAM upgradeI still have a netbook I bought back in 2009.The ASUS Eee PC 1000HE has an Intel Atom N280 and 1GB of DDR2 RAM. The Atom N series was Intel’s line of cheap, low-performance CPUs for netbooks. The chip has 56KB of L1 cache and 512KB of L2 cache, and its clock speed is 1.667GHz. Compare that with the Intel Core i3 N305, a budget laptop processor released in 2023, which has 768KB of L1 cache, 4MB of L2 cache, and runs at 3.8GHz, and you get a feel for how poor the Eee PC’s performance is.Those were the kinds of compromised specs that came with being a netbook, so there is not much point in complaining about how bad they were. Even at the time it was no match for a laptop, but it was still fine for light work like editing documents or browsing the web. By around 2012, though, it had become hard to use even for routine tasks. Programs kept gaining features, websites kept growing more interactive, and the netbook’s small HDD was aging. In the end, ultrabooks replaced netbooks.And so the netbook went to sleep in storage.A new operating systemMore than ten years later, in 2023, I suddenly thought of the netbook again. The machine I pulled out of storage looked exactly as it had when it went in, and the tacky Windows XP UI that appeared after booting was just as I remembered it. It took several seconds just to open Windows Explorer, and the cursor stuttered while it loaded. I could not remember whether the machine had gotten even slower, or whether it had always been like this and I had once thought even this was fast.
Once the netbook was out of storage again, I decided to bring it back to life and put it to use again, whether as a server or a YouTube machine.My first thought was that Windows XP, whose support ended in 2014, had to go. Windows releases after Windows 7 required at least 1GB of RAM. Because the netbook had exactly 1GB of RAM installed, I figured I would need a lighter operating system if I wanted it to be pleasant to use. Ubuntu required at least 512MB of RAM, but when I had installed Ubuntu on low-spec laptops in the past, I had not found the performance especially good.I needed an extremely light operating system with only the bare minimum. It had to come without unnecessary default features, and it had to let me build an environment from the ground up for this netbook alone. The answer was obvious. Arch Linux. Arch Linux is a Linux distribution built on the principles of simplicity, modernity, pragmatism, user centrality, and versatility. I had wanted to try Arch Linux for a while anyway, so it felt like a good chance. The fact that the setup process would teach me a lot about operating systems also made it a nice hobby to start right before the semester began.Before installationArch Linux officially dropped support for the x86 architecture after 2017. The Atom N2xx processors support only 32-bit, so I had no choice but to use Arch Linux 32, which is maintained by the community. The installation process for Arch Linux 32 was not very different from the Arch Linux installation guide on the ArchWiki, but the machine’s limited performance led to some unexpected twists. In this article I want to record, in detail, my personal experience installing Arch Linux 32 on this netbook.Preparing the boot mediaFirst, I needed an Arch Linux disk image. On the Arch Linux 32 download page, I downloaded the image file (.iso) and the signature file (.sig), then used the gpg command to verify that the image had not been tampered with.$ gpg --keyserver-options auto-key-retrieve --verify archlinux32-2023.03.02-i686.iso.sigIf everything checks out, create the boot media.
I used Rufus on a Windows desktop to burn the ISO file I had downloaded to a USB drive. I then plugged the USB drive into the netbook, entered the BIOS (Basic Input/Output System), set USB as the first boot option, and rebooted. That makes the computer boot from the USB drive instead of the hard disk.Connecting to the internetThe Arch Linux installation image uses zsh as its default shell. To install Arch Linux, the machine needs an internet connection. First check whether the network interfaces are up.$ ip link 1: lo ... state UNKNOWN ... link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: enp3s0 ... state DOWN ... link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff 4: wlan0 ... state UP ... link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ffHere lo is the loopback interface. The loopback interface is a virtual network interface the system uses to connect to itself. The IP address 127.0.0.1 is the loopback address assigned to it. enp3s0 is the interface corresponding to the Ethernet device (en) on the motherboard’s PCI bus 3 (p3), slot 0 (s0). Ethernet is the standard for wired networking. wlan0 is the wireless LAN interface. Since I was going to connect over Wi-Fi, I checked that wlan0 was in the UP state. Next, use rfkill to check whether any interfaces are blocked.$ rfkill ID TYPE DEVICE SOFT HARD 0 wlan eeepc-wlan unblocked unblocked 1 bluetooth eeepc-bluetooth unblocked unblocked 2 wwan eeepc-wwan3g unblocked unblocked ...If a wired connection is available, you can just plug in a LAN cable. To connect over Wi-Fi, though, you have to use iwctl to scan for access points and connect manually.
iwctl is the client program provided by iwd (iNet wireless daemon), the wireless network daemon made by Intel. The Arch Linux installation image ships with iwd by default.$ iwctl
[iwctl]# device list Devices ----------------------------------------------------------- Name Address Powered Adapter Mode ----------------------------------------------------------- wlan0 xx:xx:xx:xx:xx:xx on phy0 station
[iwctl]# station wlan0 scan
[iwctl]# station wlan0 get-networks Available networks ---------------------------------- Network name Security Signal ---------------------------------- iptime psk **** iptime_2.4G psk ****
[iwctl]# station wlan0 connect iptime_2.4G Type the network passphrase for iptime_2.4G psk. Passphrase: ********
[iwctl]# exitThe netbook’s wireless card did not support 5GHz networks, so I had no choice but to connect to 2.4GHz. Finally, send a ping to archlinux32.org to make sure the internet connection is working.$ ping -c3 archlinux32.orgSetting the system clockUpdate the system clock. First enable NTP (Network Time Protocol), then check that the clock is correct. NTP is a protocol that synchronizes the system clock by receiving the correct time from a server. I explain it briefly in How railway timetables became Unix time.$ timedatectl set-ntp true $ timedatectlPartitioning the diskfdisk lets you check what disks are attached to the computer.$ fdisk -l Disk /dev/sda: 14.8 Gib, x bytes, x sectors Disk model: Flash Disk ... Disk /dev/sdb: 149.0 GiB, x bytes, x sectors Disk model: ST9160410AS ...sda is the installation USB, and sdb is the HDD inside the netbook, so I selected sdb.$ fdisk /dev/sdbThe existing partitions had been set up for Windows. One HDD was split into a C drive and a D drive, and there was also an EFI partition and a recovery partition.
I wanted to delete all of the old partitions, which I no longer needed, and set everything up from scratch. To do that, I first had to understand the system’s motherboard.The motherboard’s ROM holds the firmware that runs first when the system receives power and initializes the hardware needed for booting. Broadly speaking, there are three kinds of firmware: BIOS, EFI (Extensible Firmware Interface), and UEFI (Unified Extensible Firmware Interface). EFI improved on BIOS, and UEFI improved on EFI, so recent hardware usually ships with UEFI. Older motherboards typically came with BIOS. Yet even though the Eee PC 1000HE clearly used BIOS, it still had an EFI partition. I later learned that the EFI partition existed not because the firmware was EFI, but to support the BIOS’s “Boot Booster” option[1]. When a computer powers on, the BIOS goes through POST (Power-On Self Test), which checks the system’s hardware before initializing it. That takes a few seconds. “Boot Booster” reduces boot delay by caching POST information in the EFI partition. POST screen of the American Megatrends International BIOS. (CC0)There are two partitioning schemes: MBR (Master Boot Record) and GPT (GUID Partition Table). MBR occupies the first 512 bytes of a storage device. Of those, 440 bytes hold bootstrap code, 6 hold a disk signature, 64 hold a partition table for up to four partitions at 16 bytes each, and the remaining 2 hold a boot signature. GPT, meanwhile, is a partitioning scheme that improves on many of MBR’s limits and is also part of the UEFI specification. Compared with MBR, GPT allows more primary partitions and larger partitions. Unlike MBR, it also uses a separate boot partition. I made two mistakes here. One was choosing MBR because I mistakenly believed[2] there was no way to use GPT with BIOS. The other was partitioning in an ordinary MBR layout like the one below without understanding what the EFI partition was for. I regretted it a little, but I did not bother setting it up again.
Mount pointPartitionPartition type IDBoot flag[SWAP]/dev/sdb182 (Linux swap)No//dev/sdb283 (Linux)YesA swap partition is needed when physical memory is insufficient and part of storage has to be used as memory. The ArchWiki recommends allocating at least 512MB to the swap partition. That is not enough. On this netbook, which has 1GB of RAM, if you keep the swap partition small you will run into “No space left on device” errors all the time. RHEL recommends allocating swap at twice the size of RAM when the system has 2GB of RAM or less. So on a netbook with 1GB of RAM, a 2GB swap partition would do. I gave it 4GB to be safe, though, because building from source can sometimes require more than 4GB of memory. Making the swap partition larger than main memory is also a good choice if you want to leave room for hibernation.Command (m for help): n
Command action e extended p primary partition (1-4) p
Partition number (1-4): 1
First sector (2048-y, default 2048): <enter> Using default value 2048
Last sector, +sectors or +size(K,M,G) (2048-y, default y): +4GChange the type of the swap partition you just created to 82 (Linux swap).Command (m for help): t Partition number (1-4): 1 Hex code: 82 Changed system type of partition 2 to 82Next create the root partition. The root partition is where Arch Linux will be installed.Command (m for help): n
Command action e extended p primary partition (1-4) p
Partition number (1-4): 2
First sector (x-y, default x): <return> Using default value x
Last sector, +sectors or +size(K,M,G) (x-y, default y): <return> Using default value yFinally, check the result.