Встроенные 16Мб флешки — конечно хорошо. Но с развитием OpenWRT столкнулся с пакетами и по 10 мегабайт и больше для своих нужд, конечно есть решения с загрузкой в оперативную память, но со временем оно надоедает. И так, у нас есть порт для microSD карточек, надо его использовать. К тому же в старом телефоне нашёл флешку ещё на 1 Гигабайт, значит надо её тоже использовать.

Приступим.

Для начала необходимо установить драйвер, устанавливаем:

opkg update
opkg install kmod-sdhci-mt7620

Подключаем карточку, смотрим:

kern.info kernel: [ 1690.105720] mmc0: new high speed SD card at address 0007
kern.info kernel: [ 1690.116283] mmcblk0: mmc0:0007 SD01G 954 MiB
kern.info kernel: [ 1690.132559]  mmcblk0: p1

Прекрасно. Теперь Открываем статью на родном сайте Extroot configuration

К слову, мы будем практически всё делать «как там», только разница в том, что «там» информация о том, как расширить систему на USB-накопитель, для SD немного не так.

Сразу пишем в терминал

ls -l /sys/block

Смотрим, что наша флешка есть и тут.

lrwxrwxrwx    1 root     root             0 Nov 20 11:36 mmcblk0 -> ../devices/platform/1e130000.sdhci/mmc_host/mmc0/mmc0:0007/block/mmcblk0

Всё что нам нужно, это её название «mmcblk0»

Проверяем, что у нас есть в секции dev:

root@OpenWrt:~# ls -l /dev/mmc*
brw-------    1 root     root      179,   0 Nov 20 11:30 /dev/mmcblk0
brw-------    1 root     root      179,   1 Nov 20 11:30 /dev/mmcblk0p1

Всё есть, приступаем дальше

Устанавливаем необходимые пакеты для форматирования и создания разделов

opkg install block-mount kmod-fs-ext4 e2fsprogs parted

Теперь пишем сие. Особо отмечу, что переменная диск задаётся из первой строки, а устройство задаётся из второй строки (добавляется «p1»). Карта размечается и форматируется:

DISK="/dev/mmcblk0"
parted -s ${DISK} -- mklabel gpt mkpart extroot 2048s -2048s
DEVICE="${DISK}p1"
mkfs.ext4 -L extroot ${DEVICE}

Далее какие-то нужные моменты с оригинальной статьи:

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

И ещё порция:

ORIG="$(block info | sed -n -e '/MOUNT="\S*\/overlay"/s/:\s.*$//p')"
uci -q delete fstab.rwm
uci set fstab.rwm="mount"
uci set fstab.rwm.device="${ORIG}"
uci set fstab.rwm.target="/rwm"
uci commit fstab

Теперь скопируем данные в новое место:

mount ${DEVICE} /mnt
tar -C ${MOUNT} -cvf - . | tar -C /mnt -xf -

Наконец-то можно перезагрузиться

reboot

Заходим в терминал, смотрим:

df -h

Видим результат:

/dev/mmcblk0p1          918.7M      4.4M    850.7M   1% /overlay

Заходим в веб-интерфейс, смотрим диспетчер пакетов:

Наслаждаемся кучей свободного места!

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

Включите изображения, чтобы увидеть вопрос *