Thứ Hai, 14 tháng 11, 2022

MỞ RỘNG BỘ NHỚ CHO ROUTER OPENWRT CÓ CỔNG USB

Nguồn: https://www.hs2t.com/2021/09/tang-bo-nho-cho-tp-link-archer-c7-voi.html?m=1

CHUẨN BỊ

Router của bạn cần dư khoảng 8MB để cài các packages cần thiết. Truy cập SSH của router và dùng lệnh bên dưới để cài các gói cần thiết:

opkg update && opkg install block-mount kmod-usb-core kmod-usb-storage-extras kmod-usb-ledtrig-usbport kmod-usb2 kmod-fs-cifs kmod-fs-exfat kmod-fs-ext3 kmod-fs-ext4 kmod-usb-storage kmod-usb-ohci kmod-usb-uhci e2fsprogs kmod-fs-f2fs f2fs-tools kmod-fs-ntfs ntfs-3g ntfs-3g-utils gdisk fdisk

CONFIGURING ROOTFS_DATA

Tiếp theo cài đặt /etc/config/fstab để mount rootfs_data để mount vào thư mục khác:

DEVICE="$(sed -n -e "/\s\/overlay\s.*$/s///p" /etc/mtab)"
uci -q delete fstab.rwm
uci set fstab.rwm="mount"
uci set fstab.rwm.device="${DEVICE}"
uci set fstab.rwm.target="/rwm"
uci commit fstab

Thư mục /rwm sẽ chứa overlay, được sử dụng khi khởi động. Sau đó, bạn có thể chỉnh sửa /rwm/upper/etc/config/fstab để thay đổi cấu hình ngoại vi của mình (hoặc tạm thời vô hiệu hóa nó) nếu bạn cần.

CONFIGURING EXTROOT

Kiểm tra lại các phân vùng bằng lệnh block info bạn có thể thấy nó giống thế này:

/dev/mtdblock3: UUID="93880031-a9abf263-b291d60a-b76f2528" VERSION="4.0" MOUNT="/rom" TYPE="squashfs"
/dev/mtdblock4: MOUNT="/overlay" TYPE="jffs2"
/dev/sda1: UUID="64CD-1450" VERSION="FAT32" TYPE="vfat"

Phân vùng /dev/mtdblock là bộ nhớ trong của router và /dev/sda1 là phân vùng của USB flash, gõ lệnh sau để định dạng thành ext4:
DEVICE="/dev/sda1"
mkfs.ext4 ${DEVICE}
Bây giờ config phân vùng đó thành overlay thông qua fstab UCI subsystem:

eval $(block info ${DEVICE} | grep -o -e "UUID=\S*")
uci -q delete fstab.overlay
uci set fstab.overlay="mount"
uci set fstab.overlay.uuid="${UUID}"
uci set fstab.overlay.target="/overlay"
uci commit fstab

SAO CHÉP DỮ LIỆU

Bây chuyển dữ liệu từ overlay cũ qua usb:
mkdir -p /tmp/cproot
mount --bind /overlay /tmp/cproot
mount ${DEVICE} /mnt
tar -C /tmp/cproot -cvf - . | tar -C /mnt -xf -
umount /tmp/cproot /mnt
reboot

KIỂM TRA LẠI

VỚI GIAO DIỆN TRÊN WEB

LuCI → System → Mount Points cần hiển thị phân vùng USB mounted vào overlay. 
LuCI → System → Software sẽ hiển thị dung lượng của USB.

DÙNG DÒNG LỆNH KIỂM TRA

Phân vùng USB cần mounted /overlay. Bộ nhớ trống của / cần bằng với /overlay.

# grep -e /overlay /etc/mtab
/dev/sda1 /overlay ext4 rw,relatime,data=ordered
overlayfs:/overlay / overlay rw,noatime,lowerdir=/,upperdir=/overlay/upper,workdir=/overlay/work
# df /overlay /
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 7759872 477328 7221104 6% /overlay
overlayfs:/overlay 7759872 477328 7221104 6% /

Không có nhận xét nào:

Đăng nhận xét

Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.