Показано с 1 по 10 из 10
Like Tree1Likes
  • 1 Post By sergsero

Тема: Расширяем образ файловой системы на весь размер SD карты

  1. #1
    МегаПрофи
    Регистрация
    29.05.2011
    Город
    Novosibirsk
    Аэропорт
    UNNT
    Сообщений
    2,348
    В Блоге
    1
    Downloads
    35
    Uploads
    12

    Расширяем образ файловой системы на весь размер SD карты

    Современные одноплатные компьютеры на базе ARM-процессоров, как правило, приходят от производителя с предустановленной версией Android. Но такие компьютеры умеют работать и под Linux'ом. Специально созданный образ системы, например, ubuntu, записывается на внешний носитель - SD-карту и, при отключенном питании, помещается в картоприемник платы. После включения компьютер окажется уже под управлением новой OS - сразу загрузившейся ubuntu или через recovery в Android. Это зависит от конкретной платы и способа загрузки Linux.

    Однако готовый образ системы создается разработчиками под вполне определенный размер, например, 4МБ или 8МБ. И сама OS занимает в нем до 90% объема. Оставшихся свободных 10% места может не хватить для ваших нужд. Причем, даже если сама SD-карта физически имеет размер 16МБ или 32МБ. Но после установки и запуска системы изначальный размер раздела можно увеличить, заняв им все неиспользуемое пространство на карте.

    Сразу оговорюсь, что далее речь пойдет об образах из двух разделов: swap и / или boot и /, которые обычно и используются на Raspberry Pi, Cubieboard и подобных компьютерах. Если нужный вам для расширения раздел "зажат" между другими, то лучше использовать программу parted (или GUI'шный gparted).
    Вот как процесс расширения корневого раздела Linux происходит на компьютере Odroid-X2, изначально развернутый из готового образа на SD-карту размером 16МБ.

    Заходим на компьютер в терминале:
    Код:
    login as: odroid
    odroid@192.168.64.159's password:
    Welcome to Ubuntu 13.04 (GNU/Linux 3.0.75-odroidx2 armv7l)
    Выполняем команду df -h, чтобы увидеть существующие устройства и разделы на них:
    Код:
    odroid@odroid:~$ df -h
    Файл.система   Размер Использовано  Дост Использовано% Cмонтировано в
    /dev/mmcblk0p2   5,3G         4,1G  1,1G           81% /
    none             4,0K            0  4,0K            0% /sys/fs/cgroup
    udev             991M          12K  991M            1% /dev
    tmpfs            993M          12K  992M            1% /tmp
    tmpfs            199M         612K  198M            1% /run
    none             5,0M            0  5,0M            0% /run/lock
    none             993M         288K  992M            1% /run/shm
    none             100M          20K  100M            1% /run/user
    /dev/mmcblk0p1   127M         7,5M  119M            6% /media/boot
    SD-карта в системе значится устройством: /dev/mmcblk0. Как и ожидалось, корневой раздел создался 5.3ГБ из которых 4.1ГБ занимает сама система, оставляя для пользователя только 1.1ГБ. Не мало, конечно , но ~10ГБ пространства карты "пропадают" без дела.
    Подсоединим их к корневому разделу, используя программу fdisk и введем m, чтобы увидеть список ее команд:
    Код:
    odroid@odroid:~$ sudo fdisk /dev/mmcblk0
    [sudo] password for odroid:
    Команда (m для справки): m
    Действие команды
       a   переключение флага загрузки
       b   редактирование метки диска bsd
       c   переключение флага dos-совместимости
       d   удаление раздела
       l   список известных типов файловых систем
       m   вывод этого меню
       n   добавление нового раздела
       o   создание новой пустой таблицы разделов DOS
       p   вывод таблицы разделов
       q   выход без сохранения изменений
       s   создание новой чистой метки диска Sun
       t   изменение id системы раздела
       u   изменение единиц измерения экрана/содержимого
       v   проверка таблицы разделов
       w   запись таблицы разделов на диск и выход
       x   дополнительная функциональность (только для экспертов)
    Вводим команду p, чтобы увидеть разделы, теперь уже средствами fdisk:
    Код:
    Команда (m для справки): p
    
    Диск /dev/mmcblk0: 15.8 Гб, 15811477504 байт
    4 головок, 16 секторов/треков, 482528 цилиндров, всего 30881792 секторов
    Units = секторы of 1 * 512 = 512 bytes
    Размер сектора (логического/физического): 512 байт / 512 байт
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Идентификатор диска: 0x000c4046
    
     Устр-во Загр     Начало       Конец       Блоки   Id  Система
    /dev/mmcblk0p1            4096      266239      131072    b  W95 FAT32
    /dev/mmcblk0p2          266240    11532287     5633024   83  Linux
    Первый раздел - это FAT32 с загрузчиком, а второй - собственно интересующий нас EXT4 с Linux.
    Записываем на бумагу значение номера начала нашего второго раздела. Это число 266240.
    А теперь - самое захватывающее - вводим последовательно команду d (для удаления) и, затем, во второй строке, цифру 2 (для второго раздела). Это удалит раздел 2 на SD-карте!
    Код:
    Команда (m для справки): d
    Номер раздела (1-4): 2
    Теперь вновь создаем раздел 2, используя тот же номер начального цилиндра этого второго раздела, какой был в оригинале (а был - 266240), выполняя последовательно команды: n - новый раздел, p - чтобы сделать его основным разделом, 2 - его номер.
    Код:
    Команда (m для справки): n
    Partition type:
       p   primary (1 primary, 0 extended, 3 free)
       e   расширенный
    Select (default p): p
    Номер раздела (1-4, по умолчанию 2):
    Используется значение по умолчанию 2
    Здесь внимательнее, первый сектор нового раздела 2 нужно указать тот же самый, какой был у оригинального. То есть вводим после двоеточия значение 266240.
    Код:
    Первый сектор (2048-30881791, по умолчанию 2048): 266240
    Далее, нажмите Enter, чтобы принять последний сектор и использовать все незадействованное пока пространство карты. Или измените, как вы хотите, используя подсказку в МБ, ГБ и т.д. Но рекомендую здесь просто нажать Enter :
    Код:
    Last сектор, +секторы or +size{K,M,G} (266240-30881791, по умолчанию 30881791):
    Используется значение по умолчанию 30881791

  2. 3 пользователя(ей) сказали cпасибо:
    ATC (19.05.2013) Disp (30.08.2017) SimpleHosting (30.04.2018)
  3. Ksuxa ATC

  4. #2
    МегаПрофи
    Регистрация
    29.05.2011
    Город
    Novosibirsk
    Аэропорт
    UNNT
    Сообщений
    2,348
    В Блоге
    1
    Downloads
    35
    Uploads
    12
    Если все сделано выше правильно, вводим команду w, чтобы записать изменения на диск и зафиксировать их. Видим отклик системы:
    Код:
    Команда (m для справки): w
    Таблица разделов была изменена!
    
    Вызывается ioctl() для перечитывания таблицы разделов.
    
    ВНИМАНИЕ: Попытка перечитать таблицу разделов завершилась ошибкой 16: Устройство или ресурс занято.
    Ядро всё ещё использует старую таблицу. Новая будет использована
    при следующей перезагрузке, или при запуске partprobe(8) или kpartx(8)
    Синхронизируются диски.
    Перегружаемся, вводя команду: sudo shutdown -r now или просто: reboot. Ждем, пока система перегрузится и вновь заходим терминалом:
    Код:
    odroid@odroid:~$ sudo reboot
    Широковещательное сообщение от odroid@odroid
            (/dev/pts/1) в 20:11...
    
    Система будет перезагружена СЕЙЧАС!
    ......
    odroid@odroid:~$
    login as: odroid
    odroid@192.168.64.159's password:
    Welcome to Ubuntu 13.04 (GNU/Linux 3.0.75-odroidx2 armv7l)
    Last login: Sat May 18 20:02:45 2013 from 192-168-64-15.ip.tokmo
    Еще раз выполняем df -h и убеждаемся, что пока все осталось неизменным (и живым, несмотря на удаление fdisk'ом ):
    Код:
    odroid@odroid:~$ sudo df -h
    sudo: unable to resolve host odroid
    [sudo] password for odroid:
    Файл.система   Размер Использовано  Дост Использовано% Cмонтировано в
    /dev/mmcblk0p2   5,3G         4,0G  1,1G           80% /
    none             4,0K            0  4,0K            0% /sys/fs/cgroup
    udev             991M         4,0K  991M            1% /dev
    tmpfs            993M         4,0K  992M            1% /tmp
    tmpfs            199M         608K  198M            1% /run
    none             5,0M            0  5,0M            0% /run/lock
    none             993M         176K  992M            1% /run/shm
    none             100M          24K  100M            1% /run/user
    /dev/mmcblk0p1   127M         7,5M  119M            6% /media/boot
    И финал - запускаем программу resize2fs на новый раздел /dev/mmcblk0p2:
    Код:
    odroid@odroid:~$ sudo resize2fs /dev/mmcblk0p2
    sudo: unable to resolve host odroid
    resize2fs 1.42.5 (29-Jul-2012)
    Filesystem at /dev/mmcblk0p2 is mounted on /; on-line resizing required
    old_desc_blocks = 1, new_desc_blocks = 1
    Performing an on-line resize of /dev/mmcblk0p2 to 3826944 (4k) blocks.
    The filesystem on /dev/mmcblk0p2 is now 3826944 blocks long.
    Ждем результата - все зависит от скорости SD-карты. Когда программа отработает, сам результат наблюдаем повторной командой df -h:
    Код:
    odroid@odroid:~$ df -h
    df: «/run/user/lightdm/gvfs»: Отказано в доступе
    Файл.система   Размер Использовано  Дост Использовано% Cмонтировано в
    /dev/mmcblk0p2    15G         4,0G  9,7G           30% /
    none             4,0K            0  4,0K            0% /sys/fs/cgroup
    udev             991M         4,0K  991M            1% /dev
    tmpfs            993M         4,0K  992M            1% /tmp
    tmpfs            199M         608K  198M            1% /run
    none             5,0M            0  5,0M            0% /run/lock
    none             993M         176K  992M            1% /run/shm
    none             100M          24K  100M            1% /run/user
    /dev/mmcblk0p1   127M         7,5M  119M            6% /media/boot
    odroid@odroid:~$

    Все шаги кратко:
    sudo su
    fdisk /dev/mmcblk0
    d
    2
    n
    p
    2
    w
    reboot
    sudo su (уже после перезагрузки)
    resize2fs /dev/mmcblk0p2

  5. 2 пользователя(ей) сказали cпасибо:
    ATC (19.05.2013) Megavolt (19.05.2013)
  6. #3
    МегаПрофи
    Регистрация
    29.05.2011
    Город
    Novosibirsk
    Аэропорт
    UNNT
    Сообщений
    2,348
    В Блоге
    1
    Downloads
    35
    Uploads
    12
    Вот так выглядит само "железо" Odroid-X2, для которого выполнялось расширение корневого раздела на весь объем SD-карты:
    Dmi3 likes this.

  7. Пользователь сказал cпасибо:
    ATC (19.05.2013)
  8. #4
    Дизайн-админ VRS-RUSSIA
    Регистрация
    01.02.2013
    Город
    Novosibirsk
    Аэропорт
    UNNT
    Flightradar24
    T-UNNT3/?/RU0055
    Сообщений
    681
    Downloads
    9
    Uploads
    0
    Коллеги, помогите разобраться. Попробовал сделать сабж у себя на Banana Pi под "Raspbian GNU/Linux 7 (wheezy)" и SD-картой на 32 GB:

    Команда df -h отобразила следующие каталоги:

    Код:
    bananapi@lemaker ~ $ df -h
    Filesystem      Size  Used Avail Use% Mounted on
    rootfs          3.4G  2.7G  455M  86% /
    /dev/root       3.4G  2.7G  455M  86% /
    devtmpfs        438M     0  438M   0% /dev
    tmpfs            88M  284K   88M   1% /run
    tmpfs           5.0M     0  5.0M   0% /run/lock
    tmpfs           175M     0  175M   0% /run/shm
    /dev/mmcblk0p1   56M   15M   42M  26% /boot
    Как видно, партиции /dev/mmcblk0p2 в списке нет, зато есть партиция /dev/root. Запустил fdisk и выполнил все действия, описанные автором топика выше:

    Код:
    bananapi@lemaker ~ $ sudo fdisk /dev/mmcblk0
    
    Command (m for help): p
    
    Disk /dev/mmcblk0: 31.9 GB, 31914983424 bytes
    4 heads, 16 sectors/track, 973968 cylinders, total 62333952 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x000b5098
    
            Device Boot      Start         End      Blocks   Id  System
    /dev/mmcblk0p1            8192      122879       57344    c  W95 FAT32 (LBA)
    /dev/mmcblk0p2          122880     7167999     3522560   83  Linux
    
    Command (m for help): d
    Partition number (1-4): 2
    
    Command (m for help): n
    Partition type:
       p   primary (1 primary, 0 extended, 3 free)
       e   extended
    Select (default p): p
    Partition number (1-4, default 2): 2
    First sector (2048-62333951, default 2048): 122880
    Last sector, +sectors or +size{K,M,G} (122880-62333951, default 62333951):
    Using default value 62333951
    
    Command (m for help): w
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    
    WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
    The kernel still uses the old table. The new table will be used at
    the next reboot or after you run partprobe(8) or kpartx(8)
    Syncing disks.
    Перезагрузился, проверил список каталогов...

    Код:
    bananapi@lemaker ~ $ sudo shutdown -r now
    
    Broadcast message from root@lemaker (pts/0) (Sat Oct  4 14:58:11 2014):
    
    The system is going down for reboot NOW!
    bananapi@lemaker ~ $
    login as: root
    root@10.1.1.16's password:
    Linux lemaker 3.4.90 #2 SMP PREEMPT Tue Aug 5 14:11:40 CST 2014 armv7l
    
    The programs included with the Debian GNU/Linux system are free software;
    the exact distribution terms for each program are described in the
    individual files in /usr/share/doc/*/copyright.
    
    Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
    permitted by applicable law.
    Last login: Sat Oct  4 14:18:27 2014 from 10.1.1.110
    root@lemaker:~# df -h
    Filesystem      Size  Used Avail Use% Mounted on
    rootfs          3.4G  2.7G  455M  86% /
    /dev/root       3.4G  2.7G  455M  86% /
    devtmpfs        438M     0  438M   0% /dev
    tmpfs            88M  284K   88M   1% /run
    tmpfs           5.0M     0  5.0M   0% /run/lock
    tmpfs           175M     0  175M   0% /run/shm
    /dev/mmcblk0p1   56M   15M   42M  26% /boot
    ...и запустил resize:
    Код:
    root@lemaker:~# sudo resize2fs /dev/mmcblk0p2
    resize2fs 1.42.5 (29-Jul-2012)
    Filesystem at /dev/mmcblk0p2 is mounted on /; on-line resizing required
    old_desc_blocks = 1, new_desc_blocks = 2
    The filesystem on /dev/mmcblk0p2 is now 7776384 blocks long.
    Последнее действие выполнилось практически мгновенно, будто реально ничего не произошло.

    Но вроде rootfs (и соотв. /dev/root) стала вменяемого размера:
    Код:
    root@lemaker:~# df -h
    Filesystem      Size  Used Avail Use% Mounted on
    rootfs           30G  2.7G   26G  10% /
    /dev/root        30G  2.7G   26G  10% /
    devtmpfs        438M     0  438M   0% /dev
    tmpfs            88M  284K   88M   1% /run
    tmpfs           5.0M     0  5.0M   0% /run/lock
    tmpfs           175M     0  175M   0% /run/shm
    /dev/mmcblk0p1   56M   15M   42M  26% /boot
    fdisk показывает, что начальный и конечный сектора изменились:
    Код:
    root@lemaker:~# sudo fdisk /dev/mmcblk0
    
    Command (m for help): p
    
    Disk /dev/mmcblk0: 31.9 GB, 31914983424 bytes
    4 heads, 16 sectors/track, 973968 cylinders, total 62333952 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x000b5098
    
            Device Boot      Start         End      Blocks   Id  System
    /dev/mmcblk0p1            8192      122879       57344    c  W95 FAT32 (LBA)
    /dev/mmcblk0p2          122880    62333951    31105536   83  Linux
    При попытке выполнить sudo resize2fs /dev/root
    система сообщает:
    The filesystem is already 7776384 blocks long. Nothing to do!
    Что вобщем-то логично.
    Смущает собственно то, что онлайн-ресайз произошёл неправдоподобно быстро. Или я ищу чёрную кошку в тёмной комнате, хотя её там нет? Или наоборот, надо было делать по-другому?
    VRS-RUSSIA. Давайте делиться небом!

  9. #5
    МегаПрофи
    Регистрация
    29.05.2011
    Город
    Novosibirsk
    Аэропорт
    UNNT
    Сообщений
    2,348
    В Блоге
    1
    Downloads
    35
    Uploads
    12
    Или я ищу чёрную кошку в тёмной комнате, хотя её там нет?
    Да

    Все загрузилось и работает? Если так, то ваш раздел, доступный для использования стал 30ГБ из которых 2.7ГБ (10%) уже занято и 26ГБ свободно:
    Код:
    /dev/root        30G  2.7G   26G  10% /
    Команда resize2fs /dev/mmcblk0p2 - работает молниеносно, ибо только правит запись...

    Изменился только конечный адрес раздела (раздел то увеличился почти в 10 раз!). Начальный же остался неизменным - предыдущий (у вас - первый, загрузочный) раздел заканчивается на 122879 секторе, поэтому вплотную к нему следующий (второй - пользовательский) начинается с 122880. Взгляните еще раз:
    Код:
     было: /dev/mmcblk0p2          122880     7167999     3522560   83  Linux
    стало: /dev/mmcblk0p2          122880    62333951    31105536   83  Linux

  10. Ksuxa ATC

  11. #6
    Дизайн-админ VRS-RUSSIA
    Регистрация
    01.02.2013
    Город
    Novosibirsk
    Аэропорт
    UNNT
    Flightradar24
    T-UNNT3/?/RU0055
    Сообщений
    681
    Downloads
    9
    Uploads
    0
    Вот она, чёрная кошка:
    Ждем результата ~ 3-5 минут при расширении пространства на 4-8ГБ для карт 10 класса - все зависит от скорости SD-карты.
    VRS-RUSSIA. Давайте делиться небом!

  12. #7
    МегаПрофи
    Регистрация
    29.05.2011
    Город
    Novosibirsk
    Аэропорт
    UNNT
    Сообщений
    2,348
    В Блоге
    1
    Downloads
    35
    Uploads
    12
    Убрал про 3-5 минут. Главное, чтобы программа resize2fs отработала. Хотя время все же обычно требуется ~ 1 - 3 секунд.

  13. Пользователь сказал cпасибо:
    SimpleHosting (30.04.2018)
  14. #8
    МегаПрофи
    Регистрация
    12.01.2014
    Город
    Москва
    Сообщений
    354
    Downloads
    12
    Uploads
    0
    Бабаны у меня нет, но есть Б и Б+. Так там на обеих малинах можно запустить sudo raspi-config и в настройках выбрать соответствующую опцию (самый первый пункт меню конфига), и система моментально сделает все сама безо всяких танцев с бубном. Или речь про что-то другое?

  15. #9
    МегаПрофи
    Регистрация
    29.05.2011
    Город
    Novosibirsk
    Аэропорт
    UNNT
    Сообщений
    2,348
    В Блоге
    1
    Downloads
    35
    Uploads
    12
    Проделал весь процесс заново SD 16ГБ 10 класс и именно с дистрибутивом Raspbian_For_BananaPi_v3_1.img 2014-08-12 на Banana Pi: Linux lemaker 3.4.90 #2 SMP PREEMPT Tue Aug 5 14:11:40 CST 2014 armv7l GNU/Linux
    Код:
    bananapi@lemaker ~ $ lsb_release -a
    Distributor ID: Debian
    Description:    Debian GNU/Linux 7.6 (wheezy)
    Release:        7.6
    Codename:       wheezy
    Все шаги кратко - можно сразу перейти в root режим:
    sudo su
    fdisk /dev/mmcblk0
    d
    2
    n
    p
    2
    w
    reboot
    sudo su (уже после перезагрузки)
    resize2fs /dev/mmcblk0p2






  16. Пользователь сказал cпасибо:
    SimpleHosting (30.04.2018)
  17. #10
    UFO
    Регистрация
    30.04.2018
    Город
    Запорожье
    Сообщений
    1
    Downloads
    0
    Uploads
    0

    Помогите обновить Ubuntu на Orange Pi Prime

    Я захотел обновить Ubuntu
    https://4pda.ru/forum/index.php?showtopic=834725&st=340
    Помогите обновить Ubuntu на Orange Pi Prime



    Появляется ошибка
    Not enough free disk space
    The upgrade has aborted. The upgrade needs a total of 49,5 M free space on disk '/boot'. Please free at least an additional 24.2 M of disk space on '/boot'. You can remove old kernels using 'sudo apt autoremove' and you could also set COMPDESS=xz in /etc/initramfs-tools/initramfs.conf to reduce the size of your initramfs.

    Мне рекомендовали
    50 m под boot -- совсем уж мало.

    кнопочки!? не так все просто.
    Или расширять boot за счет 2 раздела, либо копировать содержимое boot в корневой каталог, поправить fstab... Была тема на форуме, поищите
    проще будет переустановить начисто 18 правильно

    Изначально создать разметку руками и руками же перенести boot и rootfs разделы.



    и после перезагрузки не получается подключиться через PuTTY

  18. Ksuxa ATC

 

 

LinkBacks (?)

  1. 20.04.2020, 14:02
  2. 17.10.2018, 22:08
  3. 15.10.2018, 20:25
  4. 12.09.2018, 10:33
  5. 23.07.2018, 15:20
  6. 17.06.2018, 11:50
  7. 01.05.2018, 10:59
  8. 29.04.2018, 15:39
  9. 13.01.2018, 04:25
  10. 06.08.2017, 18:40
  11. 14.03.2017, 19:54
  12. 01.09.2016, 15:07
  13. 27.07.2016, 10:46
  14. 17.01.2016, 08:55
  15. 07.01.2016, 15:08
  16. 25.10.2015, 14:42
  17. 27.08.2015, 00:10
  18. 05.10.2014, 00:14
  19. 05.03.2014, 01:22
  20. 21.02.2014, 15:51
  21. 02.12.2013, 19:08

Похожие темы

  1. Заявки на включение в карты ADS-В покрытия
    от Netcop22 в разделе Сетапы пользователей
    Ответов: 176
    Последнее сообщение: 04.02.2016, 01:14
  2. Ответов: 27
    Последнее сообщение: 14.02.2013, 14:12
  3. Правила оформления заявок на включение в карты ADS-В покрытия
    от Netcop22 в разделе Сетапы пользователей
    Ответов: 1
    Последнее сообщение: 11.09.2011, 20:11

Что искали прежде чем попасть на этот форум:

forum.adsbradar.ru

ADSBRADAR.ru

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
©® ADSBRADAR 2011
Текущее время: 17:57. Часовой пояс GMT +4.