Перенесення openwrt на usb (flash

Рано чи пізно, приходиш до думки, що внутрішній пам'яті TL-MR3020 недостатньо для експериментів в області домашньої автоматизації, і природно - виникає бажання її розширити. На щастя, MR3020 володіє USB-портом, і працює під OpenWRT. А це, хоч і урізаний, але все-таки - Linux!

Перенесення openwrt на usb (flash

Розіб'ємо змінний накопичувач на потрібну кількість розділів. Я взяв мініатюрну флешку Cruzer Fit на 32 Gb, яку попередньо відформатував наступним чином:

Тепер маленьке пояснення щодо розділів. Якщо з розділом підкачки і розділом для файлів, в принципі - все зрозуміло, то про системний (/ overlay) потрібно сказати кілька слів.

Overlay - внутрішня область пам'яті, яку OpenWRT використовує для змінюваних даних (таких як конфігураційні файли або пакети програм). Інші файли в самій прошивці знаходяться в read-only файлової системи. Тому, для розширення пам'яті, необхідно перемістити Overlay з пам'яті роутера на зовнішній носій.

Оновимо список пакетів і зробимо установку потрібних модулів для підтримки USB-накопичувачів і файлової системи ext4:

Не варто звертати увагу на повідомлення про помилку, яке виникає в процесі установки пакета kmod-usb-storage (Barrier Breaker 14.07). Насправді - модуль успішно встановлюється.

kmod: failed to insert /lib/modules/3.10.49/sd_mod.ko

Підключаємо USB-накопичувач і дивимося як на це відреагувала система (вона повинна його знайти). У моєму випадку, команда dmesg показала наступне:

Якщо система побачила накопичувач і все його розділи - відредагуємо файл / etc / config / fstab із зазначенням точок монтування.

Замість імен розділів «sdxx» в файлі fstab - використовуйте ідентифікатори «uuid», так як вони унікальні. Якщо ви підключите ще один (а то і кілька носіїв), немає гарантії, що роутер призначить системному USB-накопичувача потрібне ім'я. Тому, замість імені розділу «device» вказуйте унікальний ідентифікатор розділу «uuid».

Дізнатися ідентифікатори розділів можна, виконавши команду block detect, після чого, внести відповідні зміни в fstab. Якщо система встановлюється з нуля, краще сформувати fstab автоматично:

Перевіряємо, що вийшло:

Якщо параметри точок монтування очевидні, то на параметрах секції global хотілося б зупинитися детальніше:

Створюємо тимчасову директорію / mnt / sda2 (для перенесення системи, яка розташована у внутрішній пам'яті роутера), і монтуємо в неї розділ USB-накопичувача.

Копіюємо розділ / overlay з внутрішньої пам'яті роутера на розділ, який розташований на USB-накопичувачі. Операція копіювання проводиться із збереженням всіх прав.

Тепер можна отмонтировать розділ і видалити тимчасову директорію:

Якщо все зроблено правильно, роутер повинен завантажитися з USB-накопичувача. Якщо роутер не завантажується: вимкніть USB-накопичувач, завантажити з внутрішнім / overlay, підключіть USB-накопичувач, змонтуйте розділи і перевірте fstab (іноді, навіть - кілька разів ... це допомагає :)) Перевірено на собі!

Після завантаження роутера, дивимося на доступну пам'ять (системний розділ і розділ підкачки):

Як бачимо, після внесених змін, розділ підкачки став 249 Мб, а системний розділ 285 Мб.

Відмінно! Тепер у нас повноцінна платформа для експериментів в області домашньої автоматизації.

Схожі статті