Skip to content

Latest commit

 

History

History
152 lines (104 loc) · 6.55 KB

emmc_extra_space.md

File metadata and controls

152 lines (104 loc) · 6.55 KB

Увеличение свободного места на emmc

Введение

При использовании Klipper совместно с одноплатным компьютером Orange Pi3 LTS многие переносят операционную систему на eMMC - встроенную на одноплатник флэш-память.

Основным плюсом данного подхода является то, что eMMC работает быстрее, чем большинство карт памяти microSD.

Главный же недостаток eMMC в случае OPI3LTS - относительно небольшой объём, 8GiB. Настроенная ОС Armbian/Debian с необходимыми установленными пакетами, включая Klipper, Moonraker, Fluidd/Mainsail, Klipperscreen и Telegram-bot, занимает до 5GiB. Оставшиеся 3GiB могут быть очень быстро заняты файлами GCODE и таймлапсами (если пишутся).

Данная статья предлагает расширение файлового хранилища одноплатника добавлением ещё одного носителя - microSD или USB-флэшки, и размещением g-code на данном носителе.

ВНИМАНИЕ!!! В процессе настройки все файлы с флэш-накопителей microSD или USB будут удалены! Проверяйте используемые накопители!

Требования к системе

Предполагается, что операционная система уже настроена, Klipper и остальные необходимые компоненты установлены и работают, и система уже ПЕРЕНЕСЕНА на eMMC!

Система должна быть загружена с eMMC!

mount | grep mmcblk2

Проверьте, что в выводе присутствует такая строка

/dev/mmcblk2p2 on / type ext4 (rw,noatime)

Имя пользователя

Все действия должны выполняться от имени пользователя, в домашней директории которого установлен и запускается klipper.

В данном руководстве предполагается, что имя пользователя orangepi:

whoami

orangepi

Если у вас иначе, везде в этом руководстве, где встречается orangepi, вставьте имя своего пользователя.

Путь до дополнительного накопителя

В этом руководстве рассматривается вариант с накопителем microSD.

  • В случае карты microSD используйте путь /dev/mmcblk0p1
  • В случае накопителя USB используйте путь /dev/sda1

Подготовка точки монтирования

Создаём пути с необходимыми правами

sudo mkdir -p /mnt/sdcard/gcodes
sudo mkdir -p /mnt/sdcard/timelapses
sudo chown orangepi:orangepi /mnt/sdcard/*

Ставим файл-метку, которую будем видеть в вебинтерфейсе, если SD-накопитель отвалился

touch /mnt/sdcard/gcodes/GCODES-ON-EMMC

Подготовка дополнительного накопителя

ВНИМАНИЕ Вся информация на дополнительном накопителе будет уничтожена! Делайте резервные копии!

Вставляем карту памяти (или USB-накопитель) в одноплатник. Если карта памяти ранее использовалась как загрузочная, то пересоздаём таблицу разделов:

TODO: приключение с parted

Форматируем карту памяти в ext4 (с FAT32 в вебинтерфейсе не отображаются превью (thumbnails) для g-кодов):

sudo mkfs.ext4 /dev/mmcblk0p1

Монтирование дополнительного накопителя

sudoedit /etc/fstab

Добавляем строку (TODO: уточнить опции монтирования)

/dev/mmcblk0p1 /mnt/sdcard/               ext4    defaults,noatime,nofail  0       2

Сохраняемся ^x и выходим.

Монтируем

sudo mount /mnt/sdcard

Проверяем, что у нас пустая директория

ls /mnt/sdcard

Подготовка директорий на карте

sudo mkdir -p /mnt/sdcard/gcodes
sudo mkdir -p /mnt/sdcard/timelapses
sudo chown orangepi:orangepi /mnt/sdcard/*
touch /mnt/sdcard/gcodes/GCODES-ON-SDCARD

Да, дежавю :) Последняя команда в списке создаст файл-метку, показывающую в веб-интерфейсе, что мы работаем именно с картой, а не eMMC.

Останавливаем сервисы

sudo service klipper stop
sudo service moonraker stop
sudo service KlipperScreen stop
sudo service moonraker-telegram-bot stop

Перемещаем файлы

mv ~/printer_data/gcodes/{.,}* /mnt/sdcard/gcodes
mv ~/moonraker-telegram-bot-timelapse /mnt/sdcard/timelapses

Меняем директории на симлинки

ln -sf /mnt/sdcard/gcodes ~/printer_data/gcodes
ln -sf /mnt/sdcard/timelapses ~/moonraker-telegram-bot-timelapse

Запускаем клиппер

sudo service klipper start
sudo service moonraker start
sudo service KlipperScreen start
sudo service moonraker-telegram-bot start

Проверяем, что всё правильно

  1. В вебинтерфейсе должны быть видимы все ранее загруженные g-code, которые были на eMMC перед использованием этого руководства
  2. Должен быть виден файл-метка GCODES-ON-SD
  3. После загрузки g-code файла на принтер должна быть видна превьюшка

Известные недостатки:

Fluidd (Mainsail тоже?) отображает свободное место на eMMC, а про SD-карту ничего не знает