This guide aids with the ArchLinux installation using VMWare
This is based on the official Arch Linux installation guide, my own experience and some videos I found on Youtube.
First of all change the keyboard layout to the desired language with loadkeys, in my case to spanish
loadkeys esVerify internet connection:
ping -c 1 google.comCreate partitions with cfdisk
cfdisk- Select dos
- Create one partition with 512M
- Create the second partition with the total amount of space less 4.5G
- Create last partition for swap with the rest of the free space (Change type to Linux swap)
- Press "Write" to apply partitions changes and press "Quit"
Format first partition (512M) with mkfs.vfat:
mkfs.vfat -F 32 /dev/sda1Format second partition (the biggest one):
mkfs.ext4 /dev/sda2Create swap and apply changes:
mkswap /dev/sda3
swaponCreate and mount partitions:
mount /dev/sda2 /mnt
mkdir /mnt/boot
mount /dev/sda1 /mnt/bootNow the first and most important part of the installation is done, lets continue by installing some packages:
pacstrap /mnt linux linux-firmware grub networkmanager wpa_supplicant base base-develOnce it has finished, create the partitions file with genfstab:
genfstab -U /mnt > /mnt/etc/fstabAt this point, we can say that the system is ready to use it... but it's empty!
To "jump" into the real system let's use arch-chroot:
arch-chroot /mntLet's change root's password:
passwdCreate a new user and change its password:
useradd -m d3ext
passwd d3extBefore we continue further I recommend you to install some useful packages:
pacman -S sudo nano vimIf you want the user to have high privileges, add it to wheel group:
usermod -aG wheel d3extEdit sudoers file and uncomment this line "%wheel ALL=(ALL:ALL) ALL"
nano /etc/sudoersChange the system hostname:
echo 'archlinux' > /etc/hostnameEdit the /etc/hosts config file:
127.0.0.1 localhost
::1 localhost
127.0.0.1 arch arch.localhost archConfigure keyboard layout so every time the system boots, it uses correct layout:
Uncomment "en_us" and "es_es" (in my case spanish)
nano /etc/locale.gen
locale-genInstall the Grub:
grub-install /dev/sda
grub-mkconfig -o /boot/grub/grub.cfgTo verify that the Grub has been installed successfully let's reboot the system:
reboot nowOnce the system has booted as expected let's enable some services:
systemctl enable wpa_supplicant
systemctl enable NetworkManager
systemctl start wpa_supplicant
systemctl start NetworkManagerInstall aur and more packages to have more "power":
pacman -S git curl wget kitty firefoxExecute as non-privileged user (d3ext)
git clone https://aur.archlinux.org/paru-bin.git
cd paru-bin
makepkg -siIf you want to use ArchLinux for pentesting purposes, install the BlackArch repo:
curl -O https://blackarch.org/strap.sh
chmod +x strap.sh
./strap.shInstall a basic graphical interface (we will change it later, this operation may take some time):
pacman -S xorg xorg-server gnome gtkmm
systemctl enable gdm
systemctl start gdmOnce you have entered the graphical interface go to "Settings" --> "Keyboard" and add your language and remove english
Now install vmware tools to set the correct screen display and more:
pacman -S open-vm-tools xf86-video-vmware xf86-input-vmmouse
systemctl enable vmtoolsdRestart system again to verify that the screen size is correct:
reboot nowInstall some fonts:
wget https://github.com/ryanoasis/nerd-fonts/releases/download/v2.2.2/Hack.zip
wget https://github.com/ryanoasis/nerd-fonts/releases/download/v2.2.2/Iosevka.zip
wget https://github.com/ryanoasis/nerd-fonts/releases/download/v2.2.2/JetBrainsMono.zip
# Move fonts files
fc-cache -v -f* Next steps are only to configure the system as I like:
pacman -S bspwm sxhkd polybar dunst rofi alacritty kitty feh zsh fish brightnessctl ranger pulseaudio bat thunar neofetch picom discord neovim i3lock bc flameshot inetutils lsd zsh-autosuggestions zsh-syntax-highlightingChange default shell
chsh -s /usr/bin/zsh d3extDownload some showcase scripts:
wget https://raw.githubusercontent.com/stark/Color-Scripts/master/color-scripts/panes
chmod +x panes
mv panes /usr/bin/panes
wget https://raw.githubusercontent.com/dylanaraps/pfetch/master/pfetch
chmod +x pfetch
mv pfetch /usr/bin/pfetch-
Run VMWare as Administrator
-
Enable USB 3.1 compatibility option
-
Enable
Virtualize IOMMU -
Disable
Accelerate 3D graphics -
Edit VM configuration file and add:
usb.generic.keepStreamsEnabled = "TRUE"andusb.restrictions.defaultAllow = "TRUE" -
Ensure to have installed VMWare packages:
sudo pacman -S open-vm-tools
systemctl enable vmtoolsd- Install drivers:
pacman -S mesa libva-mesa-driver libva-intel-driver libva-utils nvidia-utils intel-media-driver- Disable
wireplumberandpipewire:
systemctl --user disable pipewire
systemctl --global disable wireplumber- Check if hardware acceleration is enabled:
glxinfo | grep -i "direct rendering"- Update keyboard speed:
kbdrate- aesthetic-wallpapers (my personal collection)