OpenWrt: Подключаем usb flash диск

usbВ роутерах обычно небольшой объем памяти и при установке дополнительного софта она быстро заканчивается. Но если подключить к usb разъему флэшку то тогда количество дополнительных программ будет ограничено только объемом usb накопителя.

Подключаем usb flash диск к роутеру с OpenWrt

Для того чтобы добавить поддержку usb-flash устанавливаем дополнительные модули

opkg update
opkg install kmod-usb-storage kmod-fs-ext4 block-mount

Подготавливаем usb-flash, на роутере нет ни необходимых утилит ни места чтобы их установить  поэтому подключаем флэшку к компьютеру с linux.

Здесь и далее в качестве символьного имени диска я использую sdX. При выполнении команды надо подставить реальное имя диска.  Чтобы его узнать можно посмотреть вывод dmesg после подключения usb-flash.

Пример вывода команды dmesg:

[89065.876377] usb 5-1.2: new high-speed USB device number 11 using ehci_hcd
[89065.970696] usb 5-1.2: New USB device found, idVendor=058f, idProduct=6387
[89065.970700] usb 5-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[89065.970703] usb 5-1.2: Product: Mass Storage Device
[89065.970705] usb 5-1.2: Manufacturer: JetFlash
[89065.970707] usb 5-1.2: SerialNumber: FYZ178A2
[89065.971283] scsi18 : usb-storage 5-1.2:1.0
[89066.968029] scsi 18:0:0:0: Direct-Access     JetFlash Transcend 4GB    8.07 PQ: 0 ANSI: 2
[89066.969187] sd 18:0:0:0: Attached scsi generic sg1 type 0
[89066.970456] sd 18:0:0:0: [sdc] 7843840 512-byte logical blocks: (4.01 GB/3.74 GiB)
[89066.971013] sd 18:0:0:0: [sdc] Write Protect is off
[89066.971014] sd 18:0:0:0: [sdc] Mode Sense: 03 00 00 00
[89066.971602] sd 18:0:0:0: [sdc] No Caching mode page found

В этом пример диск определился как sdc.
ВНИМАНИЕ!!! если указать имя неправильно, то можно потерять данные на жестком диске.

Отчищаем карту ( стираем таблицу разделов и т.д.)

dd if=/dev/zero of=/dev/sdX bs=512 count=100

Затем создаем первый раздел для файловой системы:

echo -e "n\np\n1\n\n\na\n1\nw" | fdisk /dev/sdX

Форматируем его в ext4

mkfs.ext4 -L rootfs /dev/sdX1

Теперь подключаем флэшку к роутеру.

Переносим систему на usb флеш накопитель. С этой целью монтируем  диск и копируем на него все необходимое:

Монтируем первый раздел в /mnt/sda1

mkdir /mnt/sda1
mount /dev/sda1 /mnt/sda1

Монтируем корневую файловую систему в /tmp/root

mkdir /tmp/root
mount --bind / /tmp/root

Копируем все файлы

tar -C /tmp/root -cvf - . | tar -C /mnt/sda1 -xvf -
sync 

Далее создаем конфигурационный файл /etc/сonfig/fstab

block detect > /etc/config/fstab

После чего приводим его к следующему виду (uuid менять не надо)

config 'global'
        option  anon_swap       '0'
        option  anon_mount      '0'
        option  auto_swap       '1'
        option  auto_mount      '1'
        option  delay_root      '5'
        option  check_fs        '0'

config 'mount'
        option  target  '/'
        option  uuid    '5807e2fb-05ae-4d94-b906-0330a84f2811'
        option  enabled '1'

Презагружаемся и проверяем все ли у нас получилось командой df -h

Filesystem                Size      Used Available Use% Mounted on
rootfs                    3.5G     16.5M      3.3G   0% /
/dev/root                 2.3M      2.3M         0 100% /rom
tmpfs                    14.1M     56.0K     14.0M   0% /tmp
/dev/sda1                 3.5G     16.5M      3.3G   0% /
tmpfs                   512.0K         0    512.0K   0% /dev

Здесь видно что /dev/sda1 подмонтирован как корневой раздел «/» и используется как rootfs.

Запись опубликована в рубрике Использование linux с метками . Добавьте в закладки постоянную ссылку.

2 комментария: OpenWrt: Подключаем usb flash диск

  1. Chupacabras говорит:

    Здравствуйте. у меня вопрос- в какой формат роутер форматирует жесткий диск? он потом будет читаться на компе?

  2. Артём Двинин говорит:

    В данной статье диск форматируем в ext4, под виндой его не будет видно, только в линукс. Возможно заработает и с fat32 но я не пробовал.
    Если нет необходимости переносить корневую файловую систему роутера на usb-диск то точно можно пользоваться fat32.

Добавить комментарий

Ваш e-mail не будет опубликован.

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>