Sweet & Simple Linux — Hệ điều hành Linux ngọt ngào cho người Việt
Caram = Carambola = Trái khế — 5 cánh như ngôi sao trên quốc kỳ, gắn liền với tuổi thơ người Việt
Phát triển bởi: VNLF · MRD · Kỳ Nguyễn
CaramOS là bản phân phối Linux dựa trên Linux Mint 22.3 Cinnamon (Ubuntu 24.04 LTS), được thiết kế đặc biệt cho người dùng Việt Nam. Dự án được build theo hướng ISO remaster: bung ISO Linux Mint gốc, tuỳ biến rootfs bằng packages/overlay/hooks, rồi đóng gói lại thành ISO CaramOS.
Important
Phiên bản hiện tại: 1.0.1 — Open Beta.
CaramOS đang mở beta để lấy ý kiến từ cộng đồng. Dự án rất hoan nghênh
mọi góp ý, báo lỗi, đề xuất cải tiến giao diện, package, trải nghiệm cài đặt
và các ý tưởng giúp CaramOS thân thiện hơn với người dùng Việt Nam.
Mục tiêu của CaramOS là phổ thông hoá Linux — giúp người dùng Việt chuyển từ Windows sang Linux dễ hơn, có sẵn giao diện thân thiện, bộ gõ tiếng Việt, trình duyệt, ứng dụng văn phòng và các tiện ích quen thuộc.
| Tính năng | Mô tả |
|---|---|
| Dựa trên Linux Mint 22.3 | Nền Ubuntu 24.04 LTS ổn định, desktop Cinnamon quen thuộc |
| Giao diện CaramOS | Branding CaramOS, boot menu/Plymouth, logo, wallpaper, panel và theme được tuỳ biến |
| Tiếng Việt mặc định | Locale Việt Nam, timezone Asia/Ho_Chi_Minh, font Be Vietnam Pro |
| Bộ gõ tiếng Việt | Fcitx5 + Lotus được cài và cấu hình sẵn |
| Google Chrome | Trình duyệt phổ biến được cài sẵn |
| WPS Office | Bộ ứng dụng văn phòng thân thiện với người dùng chuyển từ Windows |
| Zalo | Zalo AppImage được cài sẵn và có shortcut ngoài Desktop |
| Cinnamon Delight + Tela/Bibata | Theme, icon và cursor hiện đại, nhẹ, dễ nhìn |
| Neofetch/Fastfetch CaramOS | Logo ASCII màu và OS identity đồng bộ theo version CaramOS |
| Build linh hoạt | Dev build nhanh bằng lz4, release build nhỏ hơn bằng xz, hỗ trợ Docker |
Từ boot menu đến desktop, CaramOS được tuỳ biến đồng bộ để mang lại cảm giác thân thiện, hiện đại và sẵn sàng cho người dùng Việt Nam.
| Thành phần | Công nghệ / cấu hình hiện tại |
|---|---|
| Base ISO | Linux Mint 22.3 Cinnamon 64-bit |
| Ubuntu base | Ubuntu 24.04 LTS / noble |
| Desktop | Cinnamon |
| Display manager | LightDM theo Linux Mint base |
| Build method | ISO remaster: extract → customize → repack |
| Build scripts | Bash + Makefile |
| Compression dev | SquashFS lz4 |
| Compression release | SquashFS xz |
| Theme | Cinnamon Delight |
| Icons | Tela circle / Cinnamon Delight Icons |
| Cursor | Bibata |
| Font | Be Vietnam Pro |
| Input method | Fcitx5 + Lotus |
| Browser | Google Chrome |
| Office | WPS Office |
| Chat | Zalo AppImage |
./
├── build.sh # Script build chính
├── Makefile # Target build/dev/release/debug
├── scripts/ # Module build
│ ├── config.sh # Version, base ISO, mirror, output ISO
│ ├── utils.sh # Log, deps, download ISO, mount helpers
│ ├── extract.sh # Mount ISO + rsync + unsquashfs
│ ├── customize.sh # Chroot + packages + overlay + hooks
│ ├── repack.sh # mksquashfs + xorriso
│ ├── boot_config.sh # Boot menu + Plymouth branding
│ ├── overlay.sh # Copy config/includes.chroot vào rootfs
│ ├── chroot_shell.sh # Debug chroot
│ └── debug_iso.sh # Kiểm tra ISO/boot branding
├── config/
│ ├── packages.txt # Packages cài thêm
│ ├── hooks/live/ # Hook chạy trong chroot theo thứ tự NNNN-*.hook.chroot
│ └── includes.chroot/ # Overlay copy trực tiếp vào rootfs
├── assets/ # Logo/banner/source assets
├── Dockerfile # Docker builder
└── docker-compose.yml # Docker build entrypoint
CaramOS dùng mô hình version giống Linux kernel: version nằm trong source tree, không lấy tag làm nguồn duy nhất.
Version được khai báo trong scripts/config.sh:
CARAMOS_VERSION_MAJOR=1
CARAMOS_VERSION_MINOR=0
CARAMOS_VERSION_PATCH=1
CARAMOS_VERSION_EXTRA=""
CARAMOS_CODENAME="Open Beta"
CARAMOS_VERSION="${CARAMOS_VERSION_MAJOR}.${CARAMOS_VERSION_MINOR}.${CARAMOS_VERSION_PATCH}${CARAMOS_VERSION_EXTRA}"Version này được dùng cho:
- tên ISO:
CaramOS-<version>-cinnamon-amd64.iso - boot menu/boot branding
/etc/os-release/etc/lsb-release/etc/linuxmint/infoneofetch/fastfetch- GitHub Release artifact
Khi release production, Git tag phải khớp version trong source.
Ví dụ source version là 1.0.1 thì tag hợp lệ là:
v1.0.1Nếu tag không khớp, GitHub Actions sẽ fail trước khi build release.
Cài dependency build trên Ubuntu/Mint/Debian:
sudo apt update
sudo apt install squashfs-tools xorriso rsync wget curl isolinux syslinux-common syslinux-utilsBuild dev đầy đủ, nén lz4 để test nhanh:
make buildBuild release local, nén xz để ISO nhỏ hơn:
make releaseBuild từ ISO Mint có sẵn:
make build ISO=linuxmint-22.3-cinnamon-64bit.iso| Lệnh | Mục đích |
|---|---|
make build |
Build dev đầy đủ, nén lz4 |
make release |
Build release, nén xz |
make prepare |
Bung ISO/rootfs ra build/ để sửa nhanh |
make customize-only |
Chạy packages, overlay và hooks trong rootfs |
make overlay |
Chỉ copy config/includes.chroot vào rootfs |
make quick |
Prepare nếu cần, overlay, repack squashfs và ISO |
make repack |
Đóng gói lại squashfs và ISO từ work tree hiện có |
make iso-only |
Chỉ tạo lại ISO từ build/custom |
make boot-only |
Chỉ áp dụng boot menu, GRUB và Plymouth branding |
make shell |
Vào chroot build/squashfs để debug thủ công |
make debug-iso |
Kiểm tra boot menu/Plymouth/branding của ISO |
make clean |
Xoá build/cache/output ISO |
make clean-work |
Xoá work tree, giữ cache extract |
make clean-cache |
Xoá cache extract/work tree |
make docker-build |
Build dev trong Docker |
make docker-release |
Build release trong Docker |
make docker-clean |
Clean build bằng Docker |
Sau lần build/prepare đầu tiên, nếu chỉ sửa overlay/hook/theme/app config:
make customize-only
make quickNếu chỉ sửa boot menu/Plymouth:
make boot-only
make iso-onlyDebug trong chroot:
make shellDùng Docker nếu máy không phải Ubuntu/Mint/Debian phù hợp:
make docker-buildRelease build trong Docker:
make docker-releaseWorkflow CI nằm ở .github/workflows/build.yml.
- Push/PR vào branch
mainhoặcdevelop: build dev ISO bằng./build.sh. - Push tag
v*: kiểm tra tag khớp source version, build release bằng./build.sh --release, tạoSHA256SUMS, upload artifact và tạo GitHub Release.
Quy trình release 1.0.1:
# 1. Bump version trong scripts/config.sh nếu cần
# CARAMOS_VERSION_MAJOR=1
# CARAMOS_VERSION_MINOR=0
# CARAMOS_VERSION_PATCH=1
# 2. Commit và merge vào main
git add scripts/config.sh
git commit -m "[release] bump CaramOS to 1.0.1"
git push
# 3. Sau khi merge main
git checkout main
git pull origin main
git tag v1.0.1
git push origin v1.0.1GitHub Release sẽ đính kèm:
CaramOS-1.0.1-cinnamon-amd64.iso
SHA256SUMS
Tải ISO từ trang GitHub Releases của dự án sau khi có bản phát hành.
Linux/macOS:
sudo dd if=CaramOS-1.0.1-cinnamon-amd64.iso of=/dev/sdX bs=4M status=progress oflag=syncHoặc dùng Balena Etcher/Ventoy trên mọi hệ điều hành.
- Khởi động lại máy, vào BIOS/UEFI bằng F2/F12/Del/Esc tuỳ máy.
- Chọn boot từ USB.
- Chọn live session hoặc Cài đặt CaramOS.
- Làm theo hướng dẫn cài đặt trên màn hình.
Xem CONTRIBUTING.md để biết thêm về kiến trúc, quy ước hook, quy trình build/test và hướng dẫn đóng góp.
Quy ước nhanh:
| Task | Vị trí |
|---|---|
| Thêm package | config/packages.txt |
| Tạo hook mới | config/hooks/live/NNNN-name.hook.chroot |
| Sửa overlay hệ thống | config/includes.chroot/ |
| Sửa version | scripts/config.sh |
| Sửa workflow release | .github/workflows/build.yml |
Cảm ơn tất cả thành viên đã đóng góp cho CaramOS trên GitHub.
CaramOS là phần mềm mã nguồn mở theo giấy phép GPL-3.0.
- Linux Mint — Base distro tuyệt vời
- Ubuntu — Nền tảng LTS ổn định
- VNLF (Vietnam Linux Family) — Cộng đồng Linux Việt Nam
- DrMcC0y — Cinnamon Delight theme/icons
- vinceliuice — Tela Circle icons
- ful1e5 — Bibata cursor
- Cộng đồng Linux/FOSS Việt Nam
CaramOS — Sweet & Simple Linux
Made with love by Vietnam Linux Family





