Bài viết này không đề cập các bước:
- Tải ISO Void Linux
- Tạo USB boot
- Kết nối Wi-Fi
Lựa chọn boot
Tại màn hình GRUB, chọn dòng đầu tiên, hoặc dòng thứ 3 (có chữ "graphics disabled") nếu bạn đã thử dòng 1 và gặp lỗi).

Đăng nhập
Đăng nhập với:
- Username:
root - Password:
voidlinux
Chạy lệnh bash.
Chạy lệnh setfont -d để nhân đôi cỡ chữ.
Bấm Ctrl+l làm sạch màn hình.
Phân vùng ổ cứng
Liệt kê các ổ đĩa bằng lệnh lsblk.

Máy bạn có thể hiện nvme0n1, sda, sdc,...
Mình sẽ cài lên ổ vda, chia thành 3 phân vùng.
| Tên | Vị trí | Định dạng | Kích thước | Chức năng |
|---|---|---|---|---|
| EFI | /boot/efi | FAT32 | 100MB | Phân vùng boot |
| Root | / | Ext4 | 20GB | Files hệ thống |
| Home | /home | Ext4 | Còn lại | Dữ liệu người dùng |
Chạy lệnh dưới đây, thay /dev/vda thành /dev/sda hay /dev/nvme0n1 nếu cần.
fdisk /dev/vda
g chuyển định dạng ổ đĩa thành GPT.

n tạo phân vùng mới.
Enter đến khi thấy dòng Last sector..., nhập +100M.
t, sau đó 1 định dạng thành EFI.

n tạo phân vùng root.
Enter đến khi thấy dòng Last sector..., nhập +20G.
- Hoặc
+30G,+40Gnếu muốn. - Mình thấy 30GB là đủ.
Vì đây là máy ảo nên mình chỉ cần 20GB.
n tạo phân vùng home.
Enter luôn dòng Last sector...: dùng dung lượng còn lại.

Cảnh báo
Bước này sẽ xóa mọi thứ trên ổ đĩa của bạn.
Mọi dữ liệu trên ổ cứng này ĐỀU SẼ BỊ XÓA.
w bắt đầu phân vùng ổ đĩa.

Nhập lệnh lsblk kiểm tra kết quả.

vda lúc này có vda1, vda2 và vda3. Vậy là thành công rồi!
Định dạng phân vùng
Định dạng vda1 (EFI) thành FAT32.
mkfs.fat -F32 /dev/vda1 -n EFI
Định dạng vda2 (root) và vda3 (home) thành Ext4.
mkfs.ext4 /dev/vda2 -L ROOT
mkfs.ext4 /dev/vda3 -L HOME

Gắn phân vùng
Hãy tạm xem /mnt là root của hệ điều hành.
Gắn /dev/vda2 (phân vùng root trong bảng phân vùng) vào /mnt.
mount /dev/vda2 /mnt
Tạo thư mục EFI và home bên trong root.
mkdir -p /mnt/{boot/efi,home}
Gắn phân vùng tương ứng vào địa chỉ vừa tạo.
mount /dev/vda1 /mnt/boot/efi
mount /dev/vda3 /mnt/home
Nhập lệnh lsblk để kiểm tra.

Ba dòng cuối giống hệt bảng phân vùng, vậy là thành công rồi!
Sao chép khóa GPG
Mình sẽ không giải thích kỹ ở đây, nhập các lệnh sau:
mkdir -p /mnt/var/db/xbps/keys
cp /var/db/xbps/keys/* /mnt/var/db/xbps/keys
Cài đặt Void Linux
Môi trường chúng ta thao tác nãy giờ là hệ điều hành linux nằm trên USB của bạn. Chúng ta chưa hề đụng chạm tới môi trường linux mà sau này sẽ dùng. Giả dụ bây giờ tháo USB ra và khởi động lại máy, sẽ chẳng có Void Linux hay hệ điều hành nào trên máy của bạn cả. Từ bước này trở đi, chúng ta mới thật sự "cài đặt Void Linux lên máy" nè!
Cài đặt các gói tối thiểu
Dòng đầu tiên chọn máy chủ, nơi tải phần mềm về máy. Theo kinh nghiệm, mình thấy server này là nhanh nhất.
Nhập lần lượt các lệnh sau:
REPO="https://mirrors.bfsu.edu.cn/voidlinux/current"
XBPS_ARCH=x86_64 xbps-install -S -r /mnt -R "$REPO" base-container linux linux-firmware booster kmod kpartx cpio eudev ncurses bash
Giải thích sơ qua các gói trên:
base-container: gồm vài gói thiết yếu để Void Linux hoạt độnglinux: kernel Linuxlinux-firmware: driver chungbooster: tạoinitramfsđể bootkmod: quản lý modules trong kernelkpartx: quản lý phân vùngcpio,eudev: quản lý phần cứng, thiết bịncurses: các tính năng nhưclearbash: shell
Bấm Enter một lần nữa để đồng ý cài đặt.
Tạo fstab
/etc/fstab chứa thông tin về phân vùng và nơi gắn của chúng, dùng khi khởi động.
xgenfstab -U /mnt > /mnt/etc/fstab
Truy cập vào Void Linux
Truy cập vào môi trường Linux chính thức.
Prompt lúc này sẽ chuyển từ bash-5.2# thành [xchroot /mnt] #.
xchroot /mnt /bin/bash
Thiết lập múi giờ
Cài múi giờ Việt Nam.
ln -sf /usr/share/zoneinfo/Asia/Ho_Chi_Minh /etc/localtime
Đặt host name
Host name (tên thiết bị) là tên mà máy dùng để giao tiếp với các máy khác trong mạng nội bộ.
Nên đơn giản, không ký tự đặc biệt, chỉ nên có vài ký tự -, _, ..
Trường hợp này mình đặt là "void".
echo "void" > /etc/hostname
Đặt locale
Locale là hình thức hiển thị ngày tháng, giờ giấc,... Nên dùng locale Mỹ vì là mặc định của hầu hết các phần mềm.
echo "en_US.UTF-8 UTF-8" > /etc/default/libc-locales
xbps-reconfigure -f glibc-locales
Tạo người dùng
Mình lấy tên khiem, cũng sẽ là tên thư mục nhà, trường hợp này sẽ là /home/khiem.
useradd -m khiem
Đổi máy chủ repository
echo "repository=https://mirrors.bfsu.edu.cn/voidlinux/current" > /etc/xbps.d/00-repository-main.conf
Cấp quyền quản trị
Để có thể thao tác với hệ thống, thường dùng sudo.
Tuy nhiên để tối giản, mình dùng doas.
xbps-install -S opendoas
Thay khiem thành tên người dùng của bạn.
echo "permit khiem as root" > /etc/doas.conf
Đặt mật khẩu
Thay khiem thành tên người dùng của bạn.
passwd khiem
Bootloader
xbps-install -S grub-x86_64-efi
grub-install --efi-directory=/boot/efi --target=x86_64-efi --bootloader-id="Void Linux"

Cài đặt mạng
Để quản lý mạng, mình dùng NetworkManager.
xbps-install -S NetworkManager
Gỡ bỏ dracut
Mình dùng booster vì thấy tốc độ nhanh hơn dracut rất nhiều.
Mặc định gói base-container đi kèm dracut, do đó ta phải thủ công gỡ bỏ dracut.
xbps-remove -RF dracut
Áp dụng mọi thứ
xbps-reconfigure -fa
Nhập lệnh exit để thoát môi trường chroot, prompt sẽ trở lại thành bash-5.2#.
Dọn dẹp
Chạy lệnh dưới để gỡ các phân vùng ra khỏi địa chỉ.
umount -R /mnt
Khởi động lại bằng lệnh reboot.
Vài việc cuối cùng
Đây là GRUB và màn hình đăng nhập của Void Linux.


Tuy nhiên Void Linux lúc này chưa thể vào mạng, tiến hành kích hoạt NetworkManager và dbus.
doas ln -s /etc/sv/dbus /var/service
doas ln -s /etc/sv/NetworkManager /var/service
Một lần nữa khởi động lại bằng lệnh doas reboot.
Để kiểm tra mạng, hãy thử cập nhật hệ thống:
doas xbps-install -Su
Kết thúc
Đây chỉ là môi trường hậu cài đặt đơn giản nhất mà mình có thể hướng dẫn trong một bài viết. Để có môi trường desktop chúng ta cần:
- Trình quản lý âm thanh như Pipewire, Pulse Audio, ALSA,...
- Trình quản lý hiển thị như Wayland, X11,...
- Trình quản lý cửa sổ hoặc desktop environment như dwm, Openbox, Hyprland, Gnome, KDE,...