Skip to content

Commit 5078760

Browse files
committed
up
0 parents  commit 5078760

File tree

11 files changed

+314
-0
lines changed

11 files changed

+314
-0
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
**/build/*
2+
**/releases/*

1.new_chroot

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
#!/bin/bash
2+
# noble 24.04 LTS mới nhất (2024)
3+
# jammy 22.04 LTS ổn định phổ biến
4+
# focal 20.04 LTS lâu dài, ổn định
5+
# bionic 18.04 LTS cũ
6+
7+
sudo apt update
8+
sudo apt install mtools xorriso -y
9+
sudo apt install qemu-system
10+
sudo apt install debootstrap squashfs-tools xorriso grub-pc-bin grub-efi-amd64-bin
11+
sudo mkdir -p build/chroot
12+
sudo chown -R hcode:hcode build/chroot # hcode:hcode = $USER:$USER
13+
sudo chmod -R u+rw build/chroot
14+
sudo debootstrap --arch=amd64 noble build/chroot http://archive.ubuntu.com/ubuntu
15+
16+
17+
# vào chroot
18+
sudo rm -f build/chroot/etc/resolv.conf
19+
sudo cp /etc/resolv.conf build/chroot/etc/resolv.conf
20+
sudo mount -t proc proc build/chroot/proc
21+
sudo mount -t sysfs sys build/chroot/sys
22+
sudo mount --bind /dev build/chroot/dev
23+
sudo mkdir -p build/chroot/dev/pts
24+
sudo mount -t devpts devpts build/chroot/dev/pts
25+
26+
# vào choot
27+
sudo chroot build/chroot
28+
export HOME=/root
29+
export LC_ALL=C
30+
31+
# thực thi lệnh trong chroot k cần vào chroot
32+
sudo chroot build/chroot apt update
33+
34+
# cập nhật cho live-boot trong chroot
35+
nano /etc/apt/sources.list
36+
37+
# Thay nội dung thành (cho Ubuntu 24.04 Noble):
38+
deb http://archive.ubuntu.com/ubuntu noble main universe
39+
deb http://archive.ubuntu.com/ubuntu noble-updates main universe
40+
deb http://archive.ubuntu.com/ubuntu noble-security main universe
41+
42+
# Nếu bạn dùng Ubuntu 22.04 (Jammy):
43+
deb http://archive.ubuntu.com/ubuntu jammy main universe
44+
deb http://archive.ubuntu.com/ubuntu jammy-updates main universe
45+
deb http://archive.ubuntu.com/ubuntu jammy-security main universe
46+
47+
# cài đặt cần thiết trong chroot
48+
apt update
49+
apt install -y lvm2 gdisk parted dosfstools rsync
50+
apt install -y live-boot live-boot-initramfs-tools live-tools live-config-systemd
51+
apt install -y grub-pc-bin grub-efi-amd64-bin grub-common
52+
apt install -y grub-efi grub-efi-amd64 grub-efi-amd64-signed shim-signed
53+
apt install net-tools openssh-server systemd-sysv nano
54+
apt install systemd-networkd systemd-resolved
55+
apt install linux-image-generic -y
56+
apt install locales -y
57+
locale-gen en_US.UTF-8
58+
update-locale LANG=en_US.UTF-8
59+
export LANG=en_US.UTF-8
60+
export LC_ALL=en_US.UTF-8
61+
echo 'LANG="en_US.UTF-8"' > /etc/default/locale
62+
63+
# cài đặt mật khẩu root trong chroot
64+
echo "root:1234" | chpasswd
65+
66+
# Tạo file cấu hình mạng tự động: trong chroot
67+
mkdir -p /etc/systemd/network
68+
cat <<EOF > /etc/systemd/network/20-wired.network
69+
[Match]
70+
Name=en*
71+
72+
[Network]
73+
DHCP=yes
74+
EOF
75+
ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
76+
systemctl enable systemd-networkd
77+
systemctl enable systemd-resolved
78+
79+
# đăng nhập ssh bằng root trong chroot
80+
sed -i 's/^#*PermitRootLogin.*/PermitRootLogin yes/' /etc/ssh/sshd_config
81+
sed -i 's/^#*PasswordAuthentication.*/PasswordAuthentication yes/' /etc/ssh/sshd_config
82+
systemctl enable ssh
83+
84+
# set các thông tin cho custom ubuntu trong chroot
85+
echo "Welcome Ubuntu Lite by DEV BETA.,JSC (2025)" > /etc/motd
86+
echo "ubuntu-lite" > /etc/hostname
87+
88+
89+
# cập nhât trong chroot
90+
update-initramfs -u -k all
91+
92+
# thoát chroot
93+
exit
94+
95+
# gỡ mount
96+
sudo umount build/chroot/dev/pts
97+
sudo umount build/chroot/dev
98+
sudo umount build/chroot/sys
99+
sudo umount build/chroot/proc

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# mini-os
2+
3+
# Tạo release
4+
gh release create v1.0 releases/minios-chroot.tar.gz --title "MiniOS v1.0" --notes "Initial mini system"

build_live_boot

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
#!/bin/bash
2+
3+
# Yêu cầu quyền sudo nếu không phải root
4+
if [[ $EUID -ne 0 ]]; then
5+
echo "⚠️ This script must be run as root (sudo)"
6+
exec sudo "$0" "$@"
7+
exit 1
8+
fi
9+
10+
BUILD_DIR="build/live_boot"
11+
CHROOT="build/chroot"
12+
OUTPUT="releases/mini-os.iso"
13+
14+
set -e
15+
16+
rm -r $BUILD_DIR
17+
mkdir -p $BUILD_DIR
18+
mkdir -p $BUILD_DIR/live
19+
20+
# Copy kernel và initrd
21+
cp -a $CHROOT/boot/vmlinuz-6.8.0-31-generic $BUILD_DIR/live/vmlinuz
22+
cp -a $CHROOT/boot/initrd.img-6.8.0-31-generic $BUILD_DIR/live/initrd
23+
24+
# update menu GRUB
25+
mkdir -p $BUILD_DIR/boot/grub
26+
cp -a config/grub_live_boot.cfg $BUILD_DIR/boot/grub/grub.cfg
27+
28+
# pack squashfs
29+
bash clear_cache
30+
echo "🧱 File size: $(du -sh $CHROOT)"
31+
rm -rf $BUILD_DIR/live/filesystem.squashfs
32+
mksquashfs $CHROOT $BUILD_DIR/live/filesystem.squashfs
33+
34+
#Build ISO boot
35+
rm -rf $OUTPUT
36+
grub-mkrescue -o $OUTPUT $BUILD_DIR --modules="linux normal iso9660 memdisk search tar ls" --xorriso=/usr/bin/xorriso
37+
echo "✅ hoàn thành: $OUTPUT"
38+
39+

build_rootfs

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
#!/bin/bash
2+
3+
# Yêu cầu quyền sudo nếu không phải root
4+
if [[ $EUID -ne 0 ]]; then
5+
echo "⚠️ This script must be run as root (sudo)"
6+
exec sudo "$0" "$@"
7+
exit 1
8+
fi
9+
10+
BUILD_DIR="build/rootfs"
11+
CHROOT="build/chroot"
12+
OUTPUT="releases/mini-os.iso"
13+
14+
set -e
15+
16+
rm -r $BUILD_DIR
17+
mkdir $BUILD_DIR
18+
mkdir $BUILD_DIR/boot
19+
20+
# Tạo rootfs
21+
bash clear_cache
22+
echo "🧱 File size: $(du -sh $CHROOT)"
23+
cp -a $CHROOT/* $BUILD_DIR
24+
25+
# Copy kernel và initrd
26+
cp -a $CHROOT/boot/vmlinuz-6.8.0-31-generic $BUILD_DIR/boot/vmlinuz
27+
cp -a $CHROOT/boot/initrd.img-6.8.0-31-generic $BUILD_DIR/boot/initrd
28+
29+
# update menu GRUB
30+
mkdir -p $BUILD_DIR/boot/grub
31+
cp -a config/grub_rootfs.cfg $BUILD_DIR/boot/grub/grub.cfg
32+
33+
#Build ISO boot
34+
rm -rf $OUTPUT
35+
grub-mkrescue -o $OUTPUT $BUILD_DIR --modules="linux normal iso9660 memdisk search tar ls" --xorriso=/usr/bin/xorriso
36+
echo "✅ hoàn thành: $OUTPUT"
37+

clear_cache

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
#!/bin/bash
2+
# set -e
3+
4+
# Yêu cầu quyền sudo nếu không phải root
5+
if [[ $EUID -ne 0 ]]; then
6+
echo "⚠️ This script must be run as root (sudo)"
7+
exec sudo "$0" "$@"
8+
exit 1
9+
fi
10+
11+
CHROOT="build/chroot"
12+
echo "🧹 Đang dọn sạch chroot: $CHROOT"
13+
14+
# Gỡ mount còn tồn tại
15+
echo "🔄 Gỡ tất cả mount trong $CHROOT nếu còn..."
16+
sudo mount | grep "$CHROOT" | awk '{print $3}' | sort -r | xargs -r sudo umount -lf
17+
18+
# cập nhật lại dns
19+
cat > "$CHROOT/etc/resolv.conf" <<EOF
20+
nameserver 8.8.8.8
21+
nameserver 8.8.4.4
22+
EOF
23+
24+
# Dọn dẹp các vùng không cần thiết
25+
sudo rm -rf $CHROOT/tmp/*
26+
sudo rm -rf $CHROOT/var/tmp/*
27+
sudo rm -rf $CHROOT/var/log/*
28+
sudo rm -rf $CHROOT/var/log/journal/*
29+
sudo rm -rf $CHROOT/var/cache/*
30+
sudo rm -rf $CHROOT/var/spool/*
31+
sudo rm -rf $CHROOT/var/mail/*
32+
sudo rm -rf $CHROOT/var/backups/*
33+
sudo rm -rf $CHROOT/var/opt/*
34+
sudo rm -rf $CHROOT/var/local/*
35+
sudo rm -rf $CHROOT/etc/cloud $CHROOT/var/lib/cloud $CHROOT/var/run/cloud-init
36+
sudo rm -rf $CHROOT/var/log/cloud-init*
37+
sudo rm -f $CHROOT/root/.bash_history
38+
sudo rm -f $CHROOT/home/*/.bash_history
39+
40+
# Dọn PID/socket
41+
sudo find $CHROOT/var/lock -type f -delete
42+
sudo find $CHROOT/var/run -name '*.pid' -delete
43+
sudo find $CHROOT/var/run -name '*.lock' -delete
44+
45+
# Tạo lại cấu trúc thư mục thiết yếu
46+
echo "🧱 Tạo lại cấu trúc /var tối thiểu..."
47+
sudo mkdir -p $CHROOT/var/{cache,lib,log,mail,opt,spool,tmp,local,backups}
48+
sudo mkdir -p $CHROOT/var/run
49+
sudo mkdir -p $CHROOT/var/lock
50+
sudo chmod 1777 $CHROOT/var/tmp
51+
sudo chmod 1777 $CHROOT/var/lock
52+
[ -L "$CHROOT/var/run" ] || sudo ln -sf /run $CHROOT/var/run
53+
[ -L "$CHROOT/var/lock" ] || sudo ln -sf /run/lock $CHROOT/var/lock
54+
55+
# Cho dpkg và apt nếu cần
56+
sudo mkdir -p $CHROOT/var/lib/dpkg
57+
sudo mkdir -p $CHROOT/var/lib/apt/lists
58+
sudo mkdir -p $CHROOT/var/lib/systemd
59+
sudo mkdir -p $CHROOT/var/lib/landscape
60+
sudo touch $CHROOT/var/lib/dpkg/status
61+
sudo touch $CHROOT/var/lib/dpkg/available
62+
63+
echo "✅ Dọn sạch và tái tạo chroot xong!"

config/grub_live_boot.cfg

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
set default=0
2+
set timeout=5
3+
4+
menuentry "Install MiniOS [DEV BETA.,JSC (2025)]" {
5+
linux /live/vmlinuz boot=live from=/live/ root=/dev/sr0 ro
6+
initrd /live/initrd
7+
}

config/grub_rootfs.cfg

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
set default=0
2+
set timeout=5
3+
4+
menuentry "Install MiniOS [DEV BETA.,JSC (2025)]" {
5+
linux /boot/vmlinuz root=/dev/sr0 ro
6+
initrd /boot/initrd
7+
}

node.txt

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
sudo nano /usr/local/bin/proxy-install
2+
sudo chmod +x /usr/local/bin/proxy-install
3+
4+
5+
sudo nano /usr/local/bin/ubuntu-lite-install
6+
sudo chmod +x /usr/local/bin/ubuntu-lite-install
7+
8+
9+
10+
which mini-os-install
11+
sudo apt install -y xorriso
12+
13+
14+
// bắt đầu tạo phân vùng gắn kết
15+
16+
sudo mkdir -p /mnt/rootfs /mnt/efi
17+
sudo mount /dev/sda2 /mnt/rootfs
18+
sudo mount /dev/sda1 /mnt/rootfs/boot/efi
19+
20+
sudo mkdir -p /mnt/rootfs/EFI/boot
21+
### sudo cp -a /mnt/rootfs/boot/efi/EFI/ubuntu/. /mnt/rootfs/EFI/boot/
22+
sudo cp /mnt/rootfs/boot/efi/EFI/ubuntu/grubx64.efi /mnt/rootfs/EFI/boot/bootx64.efi
23+
24+
sudo ./bankup_iso.sh
25+
26+
27+
28+
29+
sudo apt install -y make build-essential
30+
31+
sudo apt install squashfs-tools
32+
33+
34+
sudo ln -sf /etc/systemd/system/proxyV4DN.service /etc/systemd/system/multi-user.target.wants/proxyV4DN.service
35+
36+
37+
sudo apt purge --auto-remove plymouthd
38+
39+
40+
// gỡ những gói k cần thiết
41+
sudo apt purge --auto-remove cloud-init snapd avahi-daemon popularity-contest whoopsie popularity-contest ubuntu-release-upgrader-*
42+
43+
// các ứng dụng đang bật nhưng k dùng
44+
sudo systemctl list-unit-files --state=enabled
45+
46+
// fix lai sh file

qemu_test

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
3+
qemu-system-x86_64 -m 2048 -cdrom dist/ubuntu-lite.iso -boot d

0 commit comments

Comments
 (0)