Đặt sẵn cấu hình cho firmware OpenWrt từ khi build

Khi sử dụng firmware OpenWrt cho router wifi, thỉnh thoảng ta muốn có một bản firmware với một số cấu hình theo ý muốn ngay từ đầu, thay vì cài firmware xong mới vào trang admin để cấu hình. Ví dụ, mặc định trong OpenWrt, tính năng phát wifi bị tắt, hoặc user "root" không có password. Mỗi lần cài mới firmware là lại phải đăng nhập vào admin để kích hoạt wifi cũng như tạo password cho root.

Vậy làm cách nào để có sẵn một số cấu hình ngay từ đầu?

OpenWrt cho phép ghi đè một số file mặc định ngay từ khi build, thông qua đó ta có thể thay thế cấu hình gốc của OpenWrt bằng cấu hình của ta. Những file ta cần ghi đè, chỉ việc bỏ vào thư mục tên files trong thư mục build. File đặt trong thư mục này, cần được bảo lưu đúng đường dẫn như trong hệ thống thật. Ví dụ, để thay thế file /etc/passwd gốc thì ta cần có một file tại [OpenWrt source]/files/etc/passwd.

Làm thế nào để có nội dung đúng cho file thay thế?

Để tránh sai sót, ta không nên tự viết nội dung của file thay thế. Cách đơn giản, nhưng hơi mất thời gian là cứ tạo một firmware "sạch" (với cấu hình gốc), flash cho router, rồi vào trang Admin, thay đổi cấu hình như ý muốn, rồi copy những file cấu hình tương ứng (trong /etc/) ra ngoài. Những file copy được này sẽ được cho vào "files" để build lại firmware sau đó.

Cảnh báo

Một số file cấu hình, điển hình như file /etc/config/wireless, có nội dung gốc khác nhau tùy theo loại router. Không thể lấy file trong firmware của router này, để cho vào "files" và tạo firmware cho router kia.