- Bài viết này mình sẽ không nói đến những bước sau:
- Tải ISO Void Linux
- Tạo USB boot
- Kết nối Wi-Fi
- Sẽ có bài viết riêng nói kỹ hơn và mình sẽ cập nhật khi hoàn thiện mọi thứ.
Lựa chọn boot
- Tại màn hình GRUB, chọn dòng đầu tiên, hoặc cứ để yên vài giây GRUB sẽ tự chọn.
Đăng nhập
- Tiến hành đăng nhập với:
- Username:
root
- Password:
voidlinux
- Username:
- Chạy lệnh
bash
- Chạy lệnh
setfont -d
để nhân đôi cỡ chữ. - Bấm Ctrl+l cho đỡ rối mắt.
Phân vùng ổ cứng
- Liệt kê những ổ đĩa sẵn có trên máy bằng lệnh
lsblk
.
- Của bạn có thể sẽ là
nvme0n1
,sda
,sdb
,sdc
,... - Riêng mình sẽ cài đặt Void Linux lên ổ
vda
và chia nó 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, nhớ thay
/dev/vda
thành/dev/sda
,/dev/nvme0n1
theo ý của bạ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
. - Bấm t, sau đó 1 để chuyển định dạng thành EFI.
- Sau khi định dạng phân vùng EFI, tiếp tục với phân vùng root và home.
- n để tạo phân vùng root.
- Enter đến khi thấy dòng
Last sector...
, nhập+20G
.- Hoặc
+30G
,+40G
nếu bạn muốn nhiều dung lượng cho root hơn, riêng mình thấy 30GB là đủ, nhưng vì đây là máy ảo nên mình chỉ cần 20GB.
- Hoặc
- n để tạo phân vùng home.
- Enter luôn dòng
Last sector...
để dùng phần còn lại của ổ đĩa.
Cảnh báo
Bước dưới đây sẽ xóa mọi thứ và bắt đầu phân vùng lại ổ đĩa của bạn.
Mọi dữ liệu có sẵn trên ổ cứng này ĐỀU SẼ BỊ XÓA.
- Bấm w để bắt đầu phân vùng ổ đĩa.
- Để kiểm tra ổ đĩa đã được phân vùng đúng như ý muốn chưa, nhập lệnh
lsblk
.
- Bên dưới
vda
lúc này sẽ cóvda1
,vda2
vàvda3
, vậy là chúng ta đã thành công rồi!
Định dạng phân vùng
- Chuyển định dạng
vda1
(EFI) thành FAT32.
mkfs.fat -F32 /dev/vda1 -n EFI
- Chuyển đị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 (mount) phân vùng
- Chúng ta sẽ tạm xem như
/mnt
là root của hệ điều hành. - Dùng lệnh dưới để 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 địa chỉ để gắn phân vùng EFI và home bên trong root.
mkdir -p /mnt/{boot/efi,home}
- Gắn boot và home lần lượt vào địa chỉ của chúng.
mount /dev/vda1 /mnt/boot/efi
mount /dev/vda3 /mnt/home
- Để kiểm tra các phân vùng đã nằm đúng nơi của chúng chưa, nhập lệnh
lsblk
.
- Bạn có thể thấy ba dòng cuối giống hệt bảng phân vùng phía trên rồi, tiếp tục thôi!
Sao chép khóa GPG
- Mình sẽ không giải thích kỹ về bước này, chỉ cần 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ột tí giải thích để rõ ràng hơn:
- 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úng ta chọn máy chủ mà các gói sẽ được tải về từ.
- Sau một thời gian thử 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
là tập hợp các gói cơ bản nhất, tối thiểu để Void Linux hoạt động.linux
là kernel Linux.linux-firmware
là driver để linux làm việc với phần cứng.booster
là phần mềm tạoinitramfs
để boot vào Linux.kmod
quản lý các modules trong kernel.kpartx
quản lý các phân vùng.cpio
vàeudev
quản lý các bộ phận phần cứng ở trong thiết bị của bạn.ncurses
đảm bảo các tính năng như lệnhclear
.bash
là shell mình sẽ dùng.
-
Bấm Enter một lần nữa để đồng ý cài đặt.
Tạo fstab
/etc/fstab
là file linux sẽ đọc khi khởi động để gắn các phân vùng vào đúng địa chỉ của chúng.- Chạy lệnh sau để tạo
fstab
:
xgenfstab -U /mnt > /mnt/etc/fstab
Truy cập vào Void Linux
- Dùng lệnh sau để truy cập vào môi trường Linux mà sau này chúng ta sẽ dùng, giống như dọn vào ngôi nhà chúng ta đang xây.
xchroot /mnt /bin/bash
- Prompt lúc này sẽ chuyển từ
bash-5.2#
thành[xchroot /mnt] #
.
Thiết lập múi giờ
- Dùng lệnh sau để thiết lập 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 của bạn sẽ dùng để giao tiếp với các máy khác trong mạng nội bộ.
- Ví dụ bạn đang dùng laptop với host name là "laptop-cua-khiem" thì khi kết nối Wi-Fi, những thiết bị khác sẽ thấy "laptop-cua-khiem" đang hiện diện.
- Lưu ý nên đặt tên đơn giản, không chứa ký tự đặt biệt, chỉ được có các ký tự cơ bản như
-
,_
,.
. - Ở đây mình sẽ đặt là
void
, thayvoid
thành host name mà bạn mong muốn, nhớ giữ lại dấu ngoặc kép nhé
echo "void" > /etc/hostname
Đặt locale
- Locale là hình thức hiển thị ngày tháng, giờ giấc,...
- Chẳng hạng như hiển thị ngày theo locale của Việt Nam mình là
01/07/2025
còn theo locale của Mỹ là2025/07/01
. - Mặc dù là người Việt nhưng mình sẽ để locale Mỹ, vì hầu hết các phần mềm đều mặc định locale của máy là Mỹ.
- Để đặt locale, chạy lần lượt các lệnh sau:
echo "en_US.UTF-8 UTF-8" > /etc/default/libc-locales
xbps-reconfigure -f glibc-locales
Tạo người dùng
- Dùng lệnh dưới đây để tạo một người dùng phổ thông (không có quyền quản trị).
- Ở đây mình sẽ lấy tên
khiem
, đây cũng sẽ là tên thư mục chính của bạn, chẳng hạn như của mình sẽ là/home/khiem
. - Những lưu ý cũng tương tự như bước Đặt host name.
- Nhớ thay
khiem
thành tên người dùng mà bạn mong muốn.
useradd -m khiem
Đổi máy chủ repository
- Còn nhớ bước Cài đặt các gói tối thiểu mình đã dùng repository gì không nào.
- Ta sẽ lại đặt đường dẫn đó làm máy chủ mặc định.
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, người dùng phải có quyền quản trị.
- Thường thì chúng ta sẽ dùng
sudo
, nhưng để tối giản hóa hệ thống, mình sẽ dùngdoas
. - Tiến hành cài đặt
doas
bằng lệnh sau:
xbps-install -S opendoas
- Chạy lệnh sau và nhớ thay
khiem
thành tên người dùng của bạn nhé!
echo "permit khiem as root" > /etc/doas.conf
Đặt mật khẩu
- Tiếp theo ta sẽ đặt mật khẩu cho người dùng của mình bằng lệnh dưới đây, thay
khiem
thành tên người dùng của bạn, bạn sẽ phải nhập mật khẩu hai lần.
passwd khiem
Bootloader
- Để có thể khởi động vào môi trường nãy giờ chúng ta xây dựng, cần có một bootloader.
- Ở đây mình sẽ chọn GRUB, để cài đặt gói, chạy lệnh sau:
xbps-install -S grub-x86_64-efi
- Sau đó chạy lệnh này để cài đặt GRUB lên phân vùng EFI.
grub-install --efi-directory=/boot/efi --target=x86_64-efi --bootloader-id="Void Linux"
- Bạn có thể thay
Void Linux
bằng bất cứ gì bạn muốn.
Cài đặt mạng
- Để dễ dàng quản lý mạng, mình sẽ dùng
NetworkManager
. - Cài đặt bằng lệnh dưới đây:
xbps-install -S NetworkManager
Gỡ bỏ dracut
dracut
là một phần mềm cùng chức năng vớibooster
chúng ta có cài đặt ở bước Cài đặt các gói tối thiểu.- Mình chọn dùng
booster
vì trải nghiệm cá nhân thấy tốc độ tạoinitramfs
củabooster
nhanh hơndracut
rất nhiều. - Mặc định gói
base-container
đi kèmdracut
, do đó để hệ thống dùngbooster
, ta phải gỡ bỏdracut
. - Chạy lệnh sau để bắt buộc hệ thống gỡ bỏ
dracut
.
xbps-remove -RF dracut
Áp dụng mọi thứ
- Đây là lệnh cuối cùng bạn sẽ nhập trong môi trường tạm bợ này.
xbps-reconfigure -fa
- Lệnh này sẽ tốn một thời gian, sau đó nhập lệnh
exit
để thoát môi trườngchroot
. - Prompt lúc này sẽ chuyển trở lại thành
bash-5.2#
.
Dọn dẹp
- Trước khi khởi động lại máy, hãy chạy lệnh dưới đây để tháo gỡ các phân vùng rối rắm mà chúng ta đã gắn lúc nãy.
umount -R /mnt
- Bây giờ thì bạn đã có thể khởi động lại bằng lệnh
reboot
, sau đó rút USB ra và nhìn máy của mình boot vào Void Linux.
Vài việc cuối cùng
- Dưới đây là màn hình của GRUB và màn hình đăng nhập của Void Linux, nếu bạn thấy được hai khung hình này thì chứng tỏ bạn đã cài Void Linux thành công rồi, chúc mừng bạn!
- Tuy nhiên hiện tại Void Linux của bạn chưa có kết nối mạng, bạn phải kích hoạt trình chạy ngầm
NetworkManager
vàdbus
nữa, gõ lần lượt hai lệnh dưới đây:
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 máy bằng lệnh
doas reboot
, thế là bạn đã có thể kết nối mạng rồi! - Để kiểm tra có mạng chưa, hãy thử cập nhật hệ thống bằng lệnh:
doas xbps-install -Su
Kết thúc
- Vậy là chúng ta đã cài đặt thành công Void Linux lên máy.
- Đây chỉ là môi trường đơn giản nhất mà mình có thể hướng dẫn trong bài viết này.
- Để có cho mình một môi trường desktop đúng nghĩa 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,...
- Mình sẽ cập nhật khi có bài viết hoàn chỉnh!