Предлагаю вниманию обзор модуля eMMC емкостью 16Gb для апгрейда одноплатного ПК
Renegade ROC-RK3328-CC
Покупалось на свои кровные $20 (после двух месяцев уговоров жаба согласилась на покупку, + удалось применить купон).
Модуль специфический, потребуется далеко не всем.
Под катом подробности с установкой перепрошивкой и камланием.
Посылка — обычный пакет, внутри в плотном рулоне пупырки пакетик с модулем и парой болтиков (один запасной).
На мой взгляд пакет ни разу не антистатический.
Открываем смотрим: собрано вроде бы качественно, нет царапин или следов флюса.
Но текстолит с торцов даже не пытались шлифануть.
На модуле распаян один чип
Samsung KLMAG1JENB-B041
Характеристики:
— eMMC 5.1
— емкость 16GB
— интерфейс HS400
— питание 1.8/3.3 V
— рабочие температуры -25..+85°C
— Product Status
EOL
Защелкиваю и фиксирую болтом
Далее по моему наивному плану должно было произойти следующее:
1. Создание raw / img образа с microSD рабочей действующей системы.
2. Заливка ее на eMMC.
3. Запуск и благословление пенным cU.
Для прошивки потребовался USB кабель male-male, который можно собрать двумя способами:
— взять удлинитель USB-A и ободрать жестянку с корпуса где гнездо
— взять 2 ненужных/дефектных зарядных шнура, обрезать штекеры, зачистить и спаять по схеме 1:1 (фото из сети).
Для прошивки используется нижнее гнездо USB.
и волшебная кнопочка Uboot.
Но не торопитесь все это подключать, ибо здесь зарыты:
Грабли №1
Модуль продается уже прошитый на Android от Firefly, т.е. содержит GPT разделы которые нужно стереть.
Но выложенные на сайте
драйвера для прошивки из-под windows при попытках прошить в MaskROM режиме используя
AndroidTool вызывают ошибку «Flash check error».
А при попытке стереть — вызывают BSOD (опробовал на нескольких системах).
Максимум что я мог сделать используя — это посмотреть тип чипа Flash_Id, Flash_Info и таблицу разделов (см выше).
Ок, хорошо.
Перегружаемся в Ubuntu и шьемся через православную опенсорсную консоль rkdeveloptool.
Установка утилиты:
#install libusb and libudev
sudo apt-get install pkg-config libusb-1.0 libudev-dev libusb-1.0-0-dev dh-autoreconf
# clone source and make
git clone https://github.com/rockchip-linux/rkdeveloptool
cd rkdeveloptool
autoreconf -i
./configure
make
sudo make install
Для того чтобы система правильно опознала подключенный ПК нужно добавить PID/VID платы в правило udev.
Создаем новый файл
sudo nano /etc/udev/rules.d/99-rk-rockusb.rules
и сохраняем в него текст
SUBSYSTEM!="usb", GOTO="end_rules"
# RK3036
ATTRS{idVendor}=="2207", ATTRS{idProduct}=="301a", MODE="0666", GROUP="users"
# RK3229
ATTRS{idVendor}=="2207", ATTRS{idProduct}=="320b", MODE="0666", GROUP="users"
# RK3288
ATTRS{idVendor}=="2207", ATTRS{idProduct}=="320a", MODE="0666", GROUP="users"
# RK3328
ATTRS{idVendor}=="2207", ATTRS{idProduct}=="320c", MODE="0666", GROUP="users"
# RK3368
ATTRS{idVendor}=="2207", ATTRS{idProduct}=="330a", MODE="0666", GROUP="users"
# RK3399
ATTRS{idVendor}=="2207", ATTRS{idProduct}=="330c", MODE="0666", GROUP="users"
LABEL="end_rules"
Делаем рестарт правил udev.
sudo udevadm control --reload-rules
sudo udevadm trigger
Подключаем плату USB шнуром к хосту, зажимаем кнопку Uboot, подаем питание и через 3-4 секунды отпускаем кнопку Uboot.
Для прошивки потребуется сначала загрузить в память платы
специальный загрузчик rk3328_loader_ddr786_v1.06.243.bin. Он располагается в ОЗУ и занимается тем, что пишет принимаемый raw файл на еММС.
$ rkdeveloptool db rk3328_loader_ddr786_v1.06.243.bin
Downloading bootloader succeeded.
И далее шьем собственно образ нашей системы начиная с адреса 0х0
$ rkdeveloptool wl 0x0 image.img
Write LBA from file (100%)
Перезагружаем плату
$rkdeveloptool rd
И радуемся.
Goto END.
Грабли №2
Вы наступите на них если размер образа снятый с вашей системы будет больше емкости еММС.
Чтобы сделать кошерный образ для записи нужно сделать ему обрезание. Я не настоящий
моэль линуксоид, поэтому использовал gparted для уменьшения ext4 раздела исходной microSD флешки и удаление неразмеченной части из образа в WinHex. Для этого нужно в WinHex подгрузить img файл и запомнить номер первого сектора неразмеченной области.
Лирическое отступление
Ваша система может использовать несколько разделов с разной файловой системой (например raspbian использует boot раздел отформатированный в FAT32, после которого идет основной раздел ext4. Сборки типа hass.io при разворачивании создают на флешке штук пять разделов. При обрезании все нужные для работы разделы будут сохранены.
Далее выбираем в меню «клонирование диска».
В настройках клонирования выбираем источником — img образ, назначением — выходной файл, стартовым сектором 0, число секторов вычисляется из начального сектора неразмеченного пространства минус 1.
Залили обрезанный образ? Молодцы! Теперь после перезагрузки надо его раздвинуть.
В armbian-config нет аналога малиновой утилиты «expand partition», так что логинимся на консоль Renegade и задействуем fdisk.
Смотрим что у нас на флешке
sudo fdisk /dev/mmcblk0
Welcome to fdisk (util-linux 2.33.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help):
Жмем р
Command (m for help): р
Disk /dev/mmcblk0: 14.6 GiB, 15634268160 bytes, 30535680 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
Disklabel type: dos
Disk identifier: 0xabc164fa
Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 32768 15253503 15220736 7.3G 83 Linux
Command (m for help):
Запоминаем два ваших параметра:
1. Boot Start sector
32768
2. Размер mmcblk0: 14.6 GiB, 15634268160 bytes,
30535680 sectors
Жмем d для удаления раздела с данными (не бойтесь это не больно).
Сommand (m for help): d
Selected partition 1
Partition 1 has been deleted.
Command (m for help):
Жмем n для переcоздания раздела с увеличением размера
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p):
Жмем enter или р — подтверждаем что это primary раздел, выбираем номер 1, вводим номер первого сектора 32768 и конечного сектора 30535679.
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-30535679, default 2048): 32768
Last sector, ±sectors or ±size{K,M,G,T,P} (32768-30535679, default 30535679):
Created a new partition 1 of type 'Linux' and of size 14.6 GiB.
Partition #1 contains a ext4 signature.
Do you want to remove the signature? [Y]es/[N]o: n
Command (m for help):
Жмем р — проверяем что натворили с размерами.
Command (m for help): p
Disk /dev/mmcblk0: 14.6 GiB, 15634268160 bytes, 30535680 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
Disklabel type: dos
Disk identifier: 0xabc164fa
Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 32768 30535679 30502912 14.6G 83 Linux
Command (m for help):
Все ок, жмем w — запись изменений.
Command (m for help): w
The partition table has been altered.
Syncing disks.
Перзагружаем систему
sudo reboot
Логинимся и делаем собственно ресайз раздела
$ sudo resize2fs /dev/mmcblk0p1
resize2fs 1.44.5 (15-Dec-2018)
Filesystem at /dev/mmcblk0p1 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/mmcblk0p1 is now 3812864 (4k) blocks long.
Проверяем — все ок.
$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 457M 0 457M 0% /dev
tmpfs 93M 4.3M 88M 5% /run
/dev/mmcblk0p1 15G 4.1G 11G 29% /
tmpfs 461M 0 461M 0% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 461M 0 461M 0% /sys/fs/cgroup
tmpfs 461M 4.0K 461M 1% /tmp
/dev/zram0 49M 2.2M 43M 5% /var/log
tmpfs 93M 0 93M 0% /run/user/1000
END
И зачем вот это все делалось??
А вот зачем:
Вставляем и монтируем в /media/microsd карточку на 16Gb UHS1, отформатированную в FAT32
Тестируем скорости
$ sudo hdparm -tT /dev/mmcblk1
/dev/mmcblk1:
Timing cached reads: 1940 MB in 2.00 seconds = 970.20 MB/sec
Timing buffered disk reads: 68 MB in 3.07 seconds = 22.12 MB/sec
22.12 MB/sec, но погодите радоваться
$ dd if=/dev/zero of=/media/sdcard/tmp.bin bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 115.182 s, 9.3 MB/s
9.3 MB/s вот это более похоже на правду.
А это скорости чтения/записи на еММС
$ sudo hdparm -tT /dev/mmcblk0
/dev/mmcblk0:
Timing cached reads: 1952 MB in 2.00 seconds = 975.97 MB/sec
Timing buffered disk reads: 132 MB in 3.02 seconds = 43.72 MB/sec
$ sync; dd if=/dev/zero of=tempfile bs=1M count=1024; sync
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 23.5187 s, 45.7 MB/s
43.72 MB/sec vs
9.3 MB/s, разница впечатляет.
Система стартует и работает в разы быстрее, особенно это заметно при стартовой загрузке docker + контейнеров и при обновлении homeassistant и плагинов.
На этом все…
За два месяца могла и насмерть задушить. )))))
На 8 гиг встроенных кмк маловато, на пустой базе НА сейчас больше 4гиг занято. Можно базу на USB диске держать или на microSD, но не хочется.
С mariaDB еще не разбирался, говорят позволяет сильно сэкономить.
Вдруг через 2-3 года заменю на другой агрегат, а этот пущу на мультимедиа приставку.
100 мегабит вполне хватит на 10-15 камер наблюдения,… и под такую задачу уже есть смысл брать либо существенно более мощный компьютер, либо дешёвые специализированные регистраторы с sata на борту.
Ну то есть гигабит это, конечно, круто и удобно, но его необходимость для сервера умного дома под большим вопросом.
Cначала хотел пощупать и погонять плату без еММС докупил когда убедился что все нормально стабильно.
p.s. Правда 100 мбит на первых попавшихся боксах на rk(сильно не искал). Если рокчип не приципиально можно найти на s905x2 4gb ram и гигабитом в пределе до 40-45 долларов.
В tvbox это проблематично вставить, тк съедается единственный USB.
Лучше все в одном собрать, тем более в корпус все отлично вошло.
На RK3399 тоже смотрел, но мне оно избыточно.
Orange pi zero есть, на нем сборка armbian c Logitech Media Server, там же активирован плеер. И все это из под homeassistant рулится zigbee кубиками.
Под lms удалось затащить подписки на муз каналы с YouTube?
судя по 20мегам или sd'шка или хост не умеют uhs. даже если хост, то ~20/20 можно получить банально поставив более быструю sd'шку.
хотя большая разница бывает обычно на рандомной записи.
ну и 20+$ за 16Г emmc — это откровенный грабеж.
Сам хост на этой плате поддерживает UHS1, но возможно в dts накосячено (разбираюсь еще).
Согласен :(
Но вспоминаю латунные расчески за $100 и становится немного полегче :)
Заставило задуматься. Раньше поп был сатирическим персонажем, а теперь… Любая шутка над религией, которая проповедует непротивление, подставить щёку, простить, заплатить налоги (Цезарю-цезарево) чревата статьёй УК.
Но, кстати, в первом они могут демонов вызывать))
Имеется asus T100 под Win8 с 32ГБ ssd распаянный на материнке (вроде eMMC)
Как-то его можно поменять на 128 ГБ (вроде такие-же чипы только на 128 существуют)?
Но стоимость чипа + снятие дампа со старого + заливка на новый + перепайка и переразбивка разделов будет стоить дороже самого аппарата.
Емнип он еще и разбирается отклейкой дисплейного модуля.
т.е. вопрос в основном найти в таком же корпусе и перепаять.
По теме. У этой системы есть один фатальный недостаток — когда что-то сломается, восстанавливать будет сложно, минимум придется много возиться. Бэкапы, конечно, помогут восстановить софт, но вот с железом уже сложнее — нужно чем-то заменять, настраивать… Лично мое мнение — если уж делать, то на x86, потому что их всегда можно перевосстановить или заменить.
помню старые рхелы с этим проблемы имели на старом же железе, но нынче же все на ahci, в крайнем случае для сетевухи дрова могут понадобиться.
Так дело не в этом) есть не нулевой шанс что вы просто на этапе инициализации ос в бсод будете проваливатся.
30 устройств плюс интерактивный floorplan занимают примерно 18мег (без БД истории).
Восстанавливается все хоть на х86, хоть на arm, разрядность системы не важна.
Я разворачивал snapshot сделанный на сабже (arm64) на raspberry pi2b (armv7), все ок.
Пробовал из докера стопануть все контейнеры и сделать экспорт-импорт, но оказалось что это намного геморройнее.
Харвест, очевиднейшим образом, использует известный мемас — а именно противопоставление «богомерзкий/православный».
Православная винда и богомерзкий линукс, православный файерфокс и богомерзкий Хром, православная семёрка и богомерзкая десятка и т.д. и т.п.
Вы бы ещё на «блек джек и шлюх» вскинулись, тоже ведь встречается где ни попадя.
тут он пишет
И тут же далее
А, как известно, sudo make install это страшный харам в линуксе.
ну и продолжает с прибаутками
дак в тексте про них ни слова
А что с sudo make install не так?
Не настоящий я линуксоид же…
И понимаешь, что ты старый (нет, не дождетесь, гады)
I'm going to build my own theme park, with blackjack and hookers, %username%. Пыщь кагбе.
В данной ситуации (сугубо имхо) стоило бы несколько сократить время на хобби и перенаправить его на общедоступное в наши времена профессиональное образование. Дабы дообеспечить жабу недостающими ей материальными ресурсами.
У меня, мягко говоря, не очень.
Флеш он (как и многое другое) бывает разный. Даже цены на стандартные флешки и ssd отличаются в разы, а бывает и на порядок. Да, вам может показаться неадекватным, что я, например, в своей рабочей станции использую ssd, которые стоят примерно раз в пять дороже их entry-level аналогов («аналоги» от китайских «брендов» лучше вообще не сравнивать дабы китайских жаб не порвало на много маленьких головастиков). И что? На мой взгляд неадекватным с моей стороны было бы подвергать риску мою работу (и данные и время), потенциальные потери будут на порядки выше. Да и скорость для меня имеет очень большое значение.
А если говорить о специализированных применениях, как в данном случае, то никаких «правильных» цен просто быть не может. Поищите в гугле банальную флешку для циски. 256мб или 512мб, старый добрый CF.
Дураки люди, которые это покупают за такие деньги?
Нет, ни разу не дураки. Были бы они дураками — не было бы у них денег на циски.
пробовал на orangpi со встроенной памятью.
либо образы карточек памяти со встроенным инсталлятором на emmc бывают.
odroid вообще комплектуется переходником на картридер — че хочешь как хочешь копируется стандартными утилитами.
а тут USB кабель да спецутилита плюс куча консоли
И что то мне подсказывает что чем-то записанную еММС в MaskROM режим такими утилитами не загнать и с начального 0х0 адреса загрузчика не прошить.
Можно попросить pistoletov так сделать, ему едет похожий модуль для rock64.
Вопрос: так нужно или нет переходить на какой-нибудь микро-ПК типа ROC-RK3328-CC? Или на — Raspberry Pi3? Будет ли такой подход лучше/правильней или может еще какие другие соображения? Мне не нравится странная (долгая) перезагрузка HA — то за 30 сек перезагрузится, то сидишь ждёшь 2 минуты.
Если надёжность — то берите индустриальный компьютер или сервер. Но тут уже будет сказываться ненадежность китайских исполнительных девайсов и сенсоров а также беспроводных соединений по wifi и zigbee, так что захочется раскинуть по дому нормальную систему автоматизации на KNX, но когда бюджет этой системы выйдет за пределы 10000 евро, придет мысль, а стоит ли оно того.
Так что ищите компромисс.
А две минуты на перезагрузку это нормально. Ни одна система автоматики быстро не запускается. У меня вон один роутер цисковский стартует минуты три. И так и должно быть с системами, которые должны работать не выключаясь годами.
Две минуты чистой перезагрузки на SSD и с такой машинкой это много.
При обновлении версий НА перезагрузка действительно долгая.
работает — не трогай. Т.е. не переделывай и не презагружай.
Одноплатник (а никак не микро-ПК) будет медленее, особенно если не подключать к нему SSD
ну и x86 расспространеная архитектура — она не останется без поддержки ближайшее время
Если поменял настройки аддонов или автоматизаций — рестартуешь их.
на одноплатник уйдёт куда как больше времени на настройку и то если повезёт будет чего то быстрее.
Да и нет особой опасности — это не космическая система жизнеобеспечения.
Но с еММС время перезагрузки в разы меньше, 40-60 сек вместо 2-3 минут (речь не о пинге хоста, а о доступности web интерфейса системы)
По существу могу порекомендовать вам parted для ресайза партиций, на порядок удобней колдовства с fdisk.