Sau khi chuyển qua firware OpenWRT, thì do bộ nhớ còn lại của Archer C7 rất ít, không đủ để cài thêm các phần mềm hay ho. Vậy là mình quyết định gắn thêm USB để tăng thêm dung lượng, giúp cài thoải mái nhiều phần mềm hơn.
Thường thì các router sẽ có bộ nhớ rất nhỏ (chỉ vài trăm MB) cho nên hầu như chỉ đủ để cài openwrt và một vài ứng dụng đơn giản.
BẮT ĐẦU NÀO
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.
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:Bây giờ config phân vùng đó thành overlay thông qua fstab UCI subsystem:
TỔNG QUAN
Thông thường thì OpenWrt sẽ chia bộ nhớ thành 2 phân vùng là rootfs và rootfs_data. Trong đó phân vùng rootfs_data được mount vào file hệ thống là overlayPartition | Mount point | Compression | Writable |
---|---|---|---|
rootfs | /rom | Yes | No |
rootfs_data | /overlay | No | Yes |
overlay | / | Unmodified files | Yes |
Trong hướng dẫn mở rộng bộ nhớ, mình tận dụng USB cũ để mount vào overlay. Trong quá trình khởi động nó sẽ được gắn vào overlay. Nếu như USB bị hỏng thì có thể gỡ bỏ mà không ảnh hướng tới overlay cũ. Và router vẫn có thể hoạt động được.
Cấu hình này sẽ không thể được sử dụng trên các thiết bị không có phân vùng /overlay trên mtd hoặc trên các ROM không có phân vùng /overlay. Trong trường hợp đầu tiên, OpenWrt sẽ không đọc cấu hình /etc/config/fstab (FS # 2231); trong phần sau trường hợp bạn có thể làm việc xung quanh nó bằng cách gắn đĩa ngoài (đĩa bổ sung) trực tiếp tới / .
BẮT ĐẦU NÀO
VIDEO HƯỚNG DẪN
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-fs-ext4 kmod-usb-storage kmod-usb-ohci kmod-usb-uhci e2fsprogs 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
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"
DEVICE="/dev/sda1"
mkfs.ext4 ${DEVICE}
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% /
1 nhận xét