Created by Andrew Lee (andrew@alee14.me)
This tutorial has been tested on Virtualbox.
Guide in GitHub: https://gist.github.com/Alee14/e32a44e53d910a4cf5802e0c59d78061
Guide in Rentry: https://rentry.co/arch-2002
Video tutorial: https://youtu.be/ieSpJkeDtPY
Arch 0.1 Guide (A lot of stuff is missing): https://web.archive.org/web/20020605064538/http://www.archlinux.org/install.php
Rev 1 (Dec 5th, 2021): It is no longer needed to create new directories/files. The filesystem package is needed in order for the install to include these extra files.
Rev 2 (Dec 6th, 2021): Now using pacman instead of installworld for installing filesystem.
Rev 3 (Dec 6th, 2021): Added links to the other guides.
Chipset: ICH9
Pointing Device: PS/2 MouseSet the hard drive to IDE instead of SATA to detect the hard drive.
Mirror 1: https://archive.archlinux.org/iso/0.1/arch-0.1-full-i686.iso
Mirror 2: http://archlinux.arkena.net/archive/iso/0.1/arch-0.1-full-i686.iso
Mirror 3: http://mirrors.powernet.com.ru/archlinux/archive/iso/arch-0.1-full-i686.iso
Once you boot into the system, you can partition the disk by doing fdisk [disk] or cfdisk [disk]
The VM disk is on /dev/discs/disc0/disc
Make sure to set the partition to have the boot flag by making it bootable.
# Swap is optional
mkswap /dev/discs/disc0/partY
# This is the system disk
mkreiserfs /dev/discs/disc0/partXReboot after that
swapon /dev/discs/disc0/partY
mount /dev/discs/disc0/partX /mntmkdir -p /mnt/var/lib/pacman
touch /mnt/var/lib/pacman/pacman.dbcd /arch
./installworld /mnt # Think of this as pacstrap
pacman -A -r /mnt /arch/pkg/filesystem-0.1.2.pkg.tar.gzmkdir -p /mnt/usr/src
cd /mnt/usr/src
tar zxvf /arch/linux-2.4.18.tar.gzmount -t devfs none /mnt/dev
mount -t proc none /mnt/proc
chroot /mnt /bin/bashcd /usr/src/linux
make menuconfigEnable the following options
Code maturity level options --> Prompt for development and/or incomplete code/drivers
File systems --> Reiserfs support
File systems --> /dev file system support (EXPERIMENTAL)
File systems --> /dev file system support (EXPERIMENTAL) --> Automatically mount at bootBuild the kernel then copy it to /boot
make dep
make bzImage && make modules
make modules_install
cp arch/i386/boot/bzImage /boot/vmlinuz
cp System.map /bootEdit the bootloader config to where the system boots
(This is optional if you have a partition for /boot)
vi /etc/lilo.confChange root=/dev/discs/disc0/part2 to root=/dev/discs/disc0/part1
Run lilo
Add these lines to your fstab config
/dev/discs/disc0/part1 / reiserfs defaults 0 0
none /dev devfs defaults 0 0passwd rootexit
rebootMake sure to unmount the iso so you won't boot into the iso again.
Once you login, mount the iso once again to install XFree86
mount /dev/cdroms/cdrom0 /mnt
pacman -A /mnt/arch/pkg/xfree86-4.2.0-1.pkg.tar.gzConfigure /etc/ld.so.conf using vim
Add /usr/X11R6/lib then execute ldconfig
(This part will need some revision)
Run xf86config then press enter
Select "PS/2 Mouse" then type `n`.
Use `/dev/input/mice` or `/dev/psaux` as the mouse driver
Type 1 for the keyboard type then press enter, after type 1 again (for U.S English) then press enter
Press enter
Type n and press enter
Press enter
Select Standard VGA and press enter
Select 50-70 and press enter
Press enter
Type n and press enter
Select 1024K and press enter
Type in `* Generic VESA compatible`
Type 5 and press enter
Edit `/etc/X11/XF86Config`
Go to line 371
Replace `vga` with `vesa`Now type in startx and you are running X11 with TWM (You can install other Window Managers like WindowMaker)
Thank you for the guide! The CD Drive must also be IDE so that the live-iso kernel can mount it, to use IDE disks the VM must be created with BIOS firmware and i440FX chipset(As far as I've seen in Arch Linux as of QEMU 10.1.2)