Skip to content

VN-Linux-Family/CaramOS

CaramOS Logo

CaramOS

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

English · VNLF · Website

Phát triển bởi: VNLF · MRD · Kỳ Nguyễn


CaramOS là gì?

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.1Open 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 nổi bật

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

CaramOS Open Beta banner

Trải nghiệm CaramOS

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.

Bước Hình ảnh
1. GRUB boot menu
Chọn live session hoặc cài đặt CaramOS.
CaramOS GRUB boot menu
2. Startup loading
Màn hình khởi động/Plymouth branding.
CaramOS startup loading screen
3. Desktop
Giao diện Cinnamon đã tuỳ biến theme, icon, panel và wallpaper.
CaramOS Cinnamon desktop
4. Neofetch
Thông tin hệ thống và nhận diện CaramOS trong terminal.
CaramOS neofetch output

Công nghệ sử dụng

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

Cấu trúc dự án

./
├── 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

Version & release model

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/info
  • neofetch / 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.1

Nếu tag không khớp, GitHub Actions sẽ fail trước khi build release.

Build ISO local

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-utils

Build dev đầy đủ, nén lz4 để test nhanh:

make build

Build release local, nén xz để ISO nhỏ hơn:

make release

Build từ ISO Mint có sẵn:

make build ISO=linuxmint-22.3-cinnamon-64bit.iso

Make targets

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

Workflow sửa nhanh

Sau lần build/prepare đầu tiên, nếu chỉ sửa overlay/hook/theme/app config:

make customize-only
make quick

Nếu chỉ sửa boot menu/Plymouth:

make boot-only
make iso-only

Debug trong chroot:

make shell

Docker build

Dùng Docker nếu máy không phải Ubuntu/Mint/Debian phù hợp:

make docker-build

Release build trong Docker:

make docker-release

GitHub Actions release

Workflow CI nằm ở .github/workflows/build.yml.

  • Push/PR vào branch main hoặc develop: 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ạo SHA256SUMS, 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.1

GitHub Release sẽ đính kèm:

CaramOS-1.0.1-cinnamon-amd64.iso
SHA256SUMS

Cài đặt cho người dùng cuối

1. Tải ISO

Tải ISO từ trang GitHub Releases của dự án sau khi có bản phát hành.

2. Ghi ra USB

Linux/macOS:

sudo dd if=CaramOS-1.0.1-cinnamon-amd64.iso of=/dev/sdX bs=4M status=progress oflag=sync

Hoặc dùng Balena Etcher/Ventoy trên mọi hệ điều hành.

3. Boot và cài đặt

  1. Khởi động lại máy, vào BIOS/UEFI bằng F2/F12/Del/Esc tuỳ máy.
  2. Chọn boot từ USB.
  3. Chọn live session hoặc Cài đặt CaramOS.
  4. Làm theo hướng dẫn cài đặt trên màn hình.

Đóng góp

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

Contributors

Cảm ơn tất cả thành viên đã đóng góp cho CaramOS trên GitHub.

CaramOS GitHub contributors

Giấy phép

CaramOS là phần mềm mã nguồn mở theo giấy phép GPL-3.0.

Cảm ơn


CaramOS — Sweet & Simple Linux
Made with love by Vietnam Linux Family

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors