При использовании 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!
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
- В вебинтерфейсе должны быть видимы все ранее загруженные g-code, которые были на eMMC перед использованием этого руководства
- Должен быть виден файл-метка GCODES-ON-SD
- После загрузки g-code файла на принтер должна быть видна превьюшка
Fluidd (Mainsail тоже?) отображает свободное место на eMMC, а про SD-карту ничего не знает