LinuxCNC + Orange Pi (allwincnc)
- going
- Мастер
- Сообщения: 523
- Зарегистрирован: 29 сен 2013, 20:55
- Репутация: 129
- Настоящее имя: Леонид
- Откуда: г.Киров
- Контактная информация:
Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi
Начал тестировать openSUSE-42.2 c ядром 3.10.107-RTPREEMPT на Banana PI BPI-M64 is a quad-core 64 bit.
linaro toolchain gcc 6.3 собирает без ошибок и ядро работает, а gcc 4.8.5 в самой системе на плате выдаёт ошибки и вылетает.
Всё наоборот.
linaro toolchain gcc 6.3 собирает без ошибок и ядро работает, а gcc 4.8.5 в самой системе на плате выдаёт ошибки и вылетает.
Всё наоборот.
Платы: BPI-M3, BPI-A64, OPI-PC2
- going
- Мастер
- Сообщения: 523
- Зарегистрирован: 29 сен 2013, 20:55
- Репутация: 129
- Настоящее имя: Леонид
- Откуда: г.Киров
- Контактная информация:
Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi
Ключевое слово тут "patch.disabled" - он не рабочий.MX_Master писал(а):согласно RT патчу разворачивается в
https://github.com/armbian/build/blob/m ... led#L10287
Платы: BPI-M3, BPI-A64, OPI-PC2
- MX_Master
- Мастер
- Сообщения: 7488
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi
Здесь всё в порядке. По умолчанию, патч отключен, т.к. не всем юзерам он нужен. Если убрать ".disabled", как я и сделал, то патч при сборке используется.going писал(а):Ключевое слово тут "patch.disabled" - он не рабочий.
Собрал сегодня ядро с CONFIG_SECURITY_APPARMOR=n, всё без ошибок. Но результаты cyclictest'a всё такие же - большие
- going
- Мастер
- Сообщения: 523
- Зарегистрирован: 29 сен 2013, 20:55
- Репутация: 129
- Настоящее имя: Леонид
- Откуда: г.Киров
- Контактная информация:
Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi
Если не сложно, покажи пожалуйста вывод:MX_Master писал(а):Но результаты cyclictest'a всё такие же - большие
cat /proc/{cmdline,version} на апельсинке.
И сколько в GigB весит среда сборки https://github.com/armbian/build/
спасибо!
Платы: BPI-M3, BPI-A64, OPI-PC2
- MX_Master
- Мастер
- Сообщения: 7488
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi
По указанной ссылке рекомендуют не менее 20 Гб. И это правда. В начале я создал виртуальный диск объёмом 32 Гб. И этого было достаточно, чтобы собрать полный образ системы без экспериментов. А вот когда начал собирать разные версии ядра и всей системы, то стало понятно, что 32 Гб это мало. С лёгкими заморочками увеличил объём до 100 Гб, хотя 50-60 Гб вполне бы хватило.going писал(а):Если не сложно, покажи пожалуйста вывод:MX_Master писал(а):Но результаты cyclictest'a всё такие же - большие
cat /proc/{cmdline,version} на апельсинке.
И сколько в GigB весит среда сборки https://github.com/armbian/build/
спасибо!
Код: Выделить всё
master@orangepione:~$ cat /proc/cmdline
root=UUID=0070b9d8-7bfd-41cc-b7c9-7f64d565fe58 rootwait rootfstype=ext4 console=tty1 console=ttyS0,115200 hdmi.audio=EDID:0 disp.screen0_output_mode=1920x1080p60 panic=10 consoleblank=0 loglevel=1 ubootpart=c121f808-01 ubootsource=mmc usb-storage.quirks=0x2537:0x1066:u,0x2537:0x1068:u nohz_full=3 isolcpus=3 rcu_nocbs=3 rcu_nocb_poll selinux=0 audit=0 nowatchdog skew_tick=1 cgroup_enable=memory swapaccount=1
master@orangepione:~$ cat /proc/version
Linux version 3.4.113-rt143-sun8i (root@ubuntu) (gcc version 5.4.0 20160609 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.4) ) #18 SMP PREEMPT RT Tue Oct 10 07:28:43 +06 2017Т.к. большими сборками занимаюсь впервые, в живую убедился, что под это дело лучше использовать отдельный SSD'шник. Ну и начинка ПК должна быть на высоте. Также должен быть широкополосный инет. А иначе всё это дело будет длится часами 
- Argon-11
- Мастер
- Сообщения: 2068
- Зарегистрирован: 07 июн 2017, 17:48
- Репутация: 461
- Контактная информация:
Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi
это точно, я ради этого на али взял популярную тогда мат.плату Huanan X79 с 8-ядерным 16-поточным Xeon-ом. Компиляция андроидных потрохов ускорилась раза в 4-6 по сравнению с прежним 4-ядерным xeon-ом на 775 сокете.MX_Master писал(а):начинка ПК должна быть на высоте
- going
- Мастер
- Сообщения: 523
- Зарегистрирован: 29 сен 2013, 20:55
- Репутация: 129
- Настоящее имя: Леонид
- Откуда: г.Киров
- Контактная информация:
Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi
У меня на BPI-M64 root раздел на SSD. Там же на отдельном разделе BUILD в котором планирую собирать rpm пакеты.MX_Master писал(а):под это дело лучше использовать отдельный SSD'шник
На флешке только загрузчик и fat раздел с ядрами, initrd, dtb, uEnv.txt.
Ядро и других тяжеловесов - кросс компиляция на i7.
Попробую сегодня собрать LCNC пакет и установить штатным менеджером пакетов.
Платы: BPI-M3, BPI-A64, OPI-PC2
- going
- Мастер
- Сообщения: 523
- Зарегистрирован: 29 сен 2013, 20:55
- Репутация: 129
- Настоящее имя: Леонид
- Откуда: г.Киров
- Контактная информация:
Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi
Т.е скачивает скрипт около 10 Гиг.MX_Master писал(а):не менее 20 Гб
Придётся подождать. У меня на сегодня 4 Гига осталось мобильного инета.
А что делать!MX_Master писал(а):А иначе всё это дело будет длится часами
Платы: BPI-M3, BPI-A64, OPI-PC2
- going
- Мастер
- Сообщения: 523
- Зарегистрирован: 29 сен 2013, 20:55
- Репутация: 129
- Настоящее имя: Леонид
- Откуда: г.Киров
- Контактная информация:
Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi
Кстати вот первые тесты:
Если нагрузить видео систему glxgears то в любых вариациях через 60000-140000 циклов
появляется то, что в видно в первом тесте. Кто подскажет, что эти цифры означают?
С нагрузкой на процессор:
T: 0 (26413) P:99 I:1000 C: 98452 Min: 5 Act: 19 Avg:187367895763518 Max: -60
T: 1 (26414) P:99 I:1500 C: 65635 Min: 5 Act: 18 Avg:281050416297867 Max: -65
Код: Выделить всё
kernel-3.10.107 openSUSE-42.2 BPI-M64
~> uname -a
Linux linux 3.10.107-2 #8 SMP PREEMPT Sun Aug 6 17:02:34 MSK 2017 aarch64 aarch64 aarch64 GNU/Linux
~/data/BUILD/rt-tests-1.0> sudo ./cyclictest -a -t -n -p99
root's password:
# /dev/cpu_dma_latency set to 0us
policy: fifo: loadavg: 2.01 1.63 1.43 1/348 26462
С нагрузкой на процессор:
T: 0 (26413) P:99 I:1000 C: 98452 Min: 5 Act: 19 Avg:187367895763518 Max: -60
T: 1 (26414) P:99 I:1500 C: 65635 Min: 5 Act: 18 Avg:281050416297867 Max: -65
T: 2 (26415) P:99 I:2000 C: 49218 Min: 5 Act: 18 Avg: 15 Max: 2207
T: 3 (26416) P:99 I:2500 C: 39382 Min: 5 Act: 16 Avg: 16 Max: 481
Без нагрузки на процессор:
T: 0 (26539) P:99 I:1000 C: 33282 Min: 12 Act: 21 Avg: 18 Max: 191
T: 1 (26540) P:99 I:1500 C: 22190 Min: 12 Act: 14 Avg: 18 Max: 134
T: 2 (26541) P:99 I:2000 C: 16643 Min: 13 Act: 14 Avg: 19 Max: 91
T: 3 (26542) P:99 I:2500 C: 13314 Min: 12 Act: 18 Avg: 18 Max: 87
~> uname -a
Linux linux 3.10.107-rt122 #2 SMP PREEMPT Mon Aug 28 14:43:28 MSK 2017 aarch64 aarch64 aarch64 GNU/Linux
С нагрузкой на процессор:
операции чтения-записи на диск,скачивание пакетов и установка.
BUILD/rt-tests-1.0> sudo ./cyclictest -a -t -n -p99
# /dev/cpu_dma_latency set to 0us
policy: fifo: loadavg: 2.13 1.66 0.98 1/337 2132
T: 0 ( 1835) P:99 I:1000 C: 388657 Min: 5 Act: 6 Avg: 10 Max: 1971
T: 1 ( 1836) P:99 I:1500 C: 259070 Min: 5 Act: 6 Avg: 9 Max: 7929
T: 2 ( 1837) P:99 I:2000 C: 194325 Min: 5 Act: 6 Avg: 8 Max: 5706
T: 3 ( 1838) P:99 I:2500 C: 155443 Min: 5 Act: 6 Avg: 11 Max: 7850
на выделенном ядре (isolcpus=3)
BUILD/rt-tests-1.0 # taskset -c 3 ./cyclictest -a -t -n -p99
# /dev/cpu_dma_latency set to 0us
policy: fifo: loadavg: 2.04 2.06 1.48 2/383 7501
T: 0 ( 7301) P:99 I:1000 C: 380957 Min: 6 Act: 10 Avg: 11 Max: 488
T: 1 ( 7302) P:99 I:1500 C: 253971 Min: 6 Act: 8 Avg: 12 Max: 882
T: 2 ( 7303) P:99 I:2000 C: 190478 Min: 6 Act: 24 Avg: 13 Max: 192
T: 3 ( 7304) P:99 I:2500 C: 152383 Min: 6 Act: 43 Avg: 10 Max: 247
Без нагрузки на процессор:
работает cyclictest (на 1-м ядре 95%-загрузки)
~/data/BUILD/rt-tests-1.0> sudo ./cyclictest -a -t -n -p99
# /dev/cpu_dma_latency set to 0us
policy: fifo: loadavg: 2.97 3.97 3.11 2/311 2928
T: 0 ( 2924) P:99 I:1000 C: 67219 Min: 6 Act: 14 Avg: 9 Max: 205
T: 1 ( 2925) P:99 I:1500 C: 44813 Min: 6 Act: 7 Avg: 8 Max: 326
T: 2 ( 2926) P:99 I:2000 C: 33610 Min: 6 Act: 7 Avg: 8 Max: 384
T: 3 ( 2927) P:99 I:2500 C: 26888 Min: 6 Act: 8 Avg: 8 Max: 184
короткий промежуток времени
BUILD/rt-tests-1.0 # ./cyclictest -a -t -n -p99
# /dev/cpu_dma_latency set to 0us
policy: fifo: loadavg: 1.44 1.33 0.88 1/314 1971
T: 0 ( 1968) P:99 I:1000 C: 81089 Min: 6 Act: 6 Avg: 7 Max: 136
T: 1 ( 1969) P:99 I:1500 C: 54059 Min: 6 Act: 6 Avg: 8 Max: 64
T: 2 ( 1970) P:99 I:2000 C: 40544 Min: 6 Act: 7 Avg: 8 Max: 66
T: 3 ( 1971) P:99 I:2500 C: 32435 Min: 5 Act: 6 Avg: 6 Max: 45
Если нагрузить видео систему glxgears то в любых вариациях через 60000-140000 циклов
появляется то, что в видно в первом тесте. Кто подскажет, что эти цифры означают?
С нагрузкой на процессор:
T: 0 (26413) P:99 I:1000 C: 98452 Min: 5 Act: 19 Avg:187367895763518 Max: -60
T: 1 (26414) P:99 I:1500 C: 65635 Min: 5 Act: 18 Avg:281050416297867 Max: -65
Платы: BPI-M3, BPI-A64, OPI-PC2
- MX_Master
- Мастер
- Сообщения: 7488
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi
Я этого не делаю, т.к. без RT будет только симуляция. Реально поработать не удастся.going писал(а):Попробую сегодня собрать LCNC пакет и установить штатным менеджером пакетов.
У меня такие же числа, и с RT патчем и без него.going писал(а):Кстати вот первые тесты:
на какие только траты не пойдёшь, чтобы заставить работать бюджетный одноплатникArgon-11 писал(а):это точно, я ради этого на али взял популярную тогда мат.плату Huanan X79 с 8-ядерным 16-поточным Xeon-ом
минус - это явно переполнение максимального значенияgoing писал(а):Кто подскажет, что эти цифры означают?
С нагрузкой на процессор:
T: 0 (26413) P:99 I:1000 C: 98452 Min: 5 Act: 19 Avg:187367895763518 Max: -60
T: 1 (26414) P:99 I:1500 C: 65635 Min: 5 Act: 18 Avg:281050416297867 Max: -65
- MX_Master
- Мастер
- Сообщения: 7488
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi
Может кто знает, есть ли другие готовые RT системы, которые можно поставить на ARM железо?
Может есть что-то более специализированное, чем Linux общего назначения?
Может есть что-то более специализированное, чем Linux общего назначения?
- going
- Мастер
- Сообщения: 523
- Зарегистрирован: 29 сен 2013, 20:55
- Репутация: 129
- Настоящее имя: Леонид
- Откуда: г.Киров
- Контактная информация:
Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi
FreeRTOS, QNX - но как их запилить на апельсин и банан? Я не знаю.MX_Master писал(а):Может есть что-то более специализированное, чем Linux общего назначения?
Изображение
QNX 4 года назд ставил на х86 машинку. Работало замечательно. Эксперимент однако.
Сейчас поддерживается 2 или 3 ARM процессора. Но это наверно дорогой вариант.
Платы: BPI-M3, BPI-A64, OPI-PC2
- MX_Master
- Мастер
- Сообщения: 7488
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi
Просмотрел инфу по RT осям. Чтобы сделать порт под апельсин хотя бы одной, уйдёт больше времени, чем настройка RT в текущей системе. Вощем, будем держать это в голове просто как идею.
Посмотрел интернетов на предмет RT тестов на малине. И тут меня посетили смутные сомнения.. А правильно ли я запускаю RT тест на апельсине? На одной из страниц я увидел, что под первую малину человек запускал тест вот с такими параметрамиsudo cyclictest -m -t1 -p 80 -n -i 500 -l 100000
Я решил попробовать, нагрузив систему также как проверял до этого. Изменив пару параметров и запустив тест, я увидел, что последний столбец (Max Latency) стал выглядеть иначе
Код: Выделить всё
master@orangepione:~/rt-tests$ sudo ./cyclictest -m -t4 -p 80 -n -i 500 -l 1000000
# /dev/cpu_dma_latency set to 0us
policy: fifo: loadavg: 2.46 1.56 0.66 1/293 4110
T: 0 ( 3498) P:80 I:500 C: 335436 Min: 8 Act: 27 Avg: 24 Max: 235
T: 1 ( 3499) P:80 I:1000 C: 167700 Min: 7 Act: 32 Avg: 27 Max: 158
T: 2 ( 3500) P:80 I:1500 C: 111787 Min: 8 Act: 27 Avg: 24 Max: 128
T: 3 ( 3501) P:80 I:2000 C: 83830 Min: 7 Act: 32 Avg: 25 Max: 150Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi
xenomaiMX_Master писал(а): есть ли другие готовые RT системы, которые можно поставить на ARM железо?
- going
- Мастер
- Сообщения: 523
- Зарегистрирован: 29 сен 2013, 20:55
- Репутация: 129
- Настоящее имя: Леонид
- Откуда: г.Киров
- Контактная информация:
Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi
Вот провёл сравнение тестов.MX_Master писал(а):Можно, кстати, заюзать latency test от LinuxCNC..
Платформа - ноутбук, i3, SSD, openSUSE-13.2 kernel-4.1.10-rt100.9:
В обоих тестах одинаковый результат 50us
PS: Похоже я понял в чём причина.
У меня на BPI-M64 крутится ядро linux-sunxi, которое я сначала поднял до версии 3.10.107
а потом наложил патч rt https://www.kernel.org/pub/linux/kernel ... s/rt/3.10/
Но, если внимательно посмотреть на имена файлов, которые изменяет этот патч с именами файлов,
которые добавили\ изменили программисты sanxi, становится понятно - некоторые части ядра
не работают в RT режиме. Их и надо дорабатывать.
Платы: BPI-M3, BPI-A64, OPI-PC2
- going
- Мастер
- Сообщения: 523
- Зарегистрирован: 29 сен 2013, 20:55
- Репутация: 129
- Настоящее имя: Леонид
- Откуда: г.Киров
- Контактная информация:
Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi
Если не сложно, разверни мысль, когда она созреет.MX_Master писал(а):Просмотрел инфу по RT осям. Чтобы сделать порт под апельсин хотя бы одной
Платы: BPI-M3, BPI-A64, OPI-PC2
- MX_Master
- Мастер
- Сообщения: 7488
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi
Ранее arkhnchul говорил, что на станочном одноплатнике apparmor будет лишним. Я тогда не придал этому значения, просто отключил apparmor. Но, что если нам действительно убрать весь обвес общего назначения системы, оставив только нужное? Я уверен, что и RT на обезжиренной системе можно поднять быстрее (предположение). В крайнем случае, можно сделать пару своих патчей системы для убыстрения и распределения каких-то действий.
Поинтересовался этим вопросом в интернетах. И первое, что нашлось это http://tinycorelinux.net. И кто-то на их форуме уже делал мини сборочку под Orange Pi (H3) - http://forum.tinycorelinux.net/index.php?topic=20394.0. Жаль, только образ не сохранился по ссылке.
тины кор
https://www.youtube.com/watch?v=eXlHgZEBNMM
Что-то мне подсказывает, что таких мини Linux систем есть больше, чем одна. А для станочной ОС нам как раз минимум и нужен..
Поинтересовался этим вопросом в интернетах. И первое, что нашлось это http://tinycorelinux.net. И кто-то на их форуме уже делал мини сборочку под Orange Pi (H3) - http://forum.tinycorelinux.net/index.php?topic=20394.0. Жаль, только образ не сохранился по ссылке.
тины кор
https://www.youtube.com/watch?v=eXlHgZEBNMM
Что-то мне подсказывает, что таких мини Linux систем есть больше, чем одна. А для станочной ОС нам как раз минимум и нужен..
- going
- Мастер
- Сообщения: 523
- Зарегистрирован: 29 сен 2013, 20:55
- Репутация: 129
- Настоящее имя: Леонид
- Откуда: г.Киров
- Контактная информация:
Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi
Толку от образа не будет. Он под х86 архитектуру.MX_Master писал(а):Жаль, только образ не сохранился по ссылке.
Я тестировал в 2009г. целый ряд таких дистров. Чудесная штука.
Вся система при загрузке заливается сразу в оперативку, что актуально при использовании только флешки.
На работе даже древний комп с 125М оперативки и 486 проц. летал пользы для, пока новый не прислали.
Но придётся всё портировать на ARM v7 end aarh64, а это слишком много работы.
Проще сделать встраиваемую минимальную систему из уже готовых пакетов.
Собирать только необходимое (libmodbus, linuxcnc, и др. чего не хватает).
Дистр. получится не более 500 Мб.
Но сначала ядро.
Код: Выделить всё
cat kernel-config | grep -i sunxi >file_config
cat rt.path | grep "/a" | grep sunxi>file_rt_path # "/a" нужен шаблон который выведет только строки с именем
изменяемого файла
A=linux-3.4.39 # kernel.org
B=linux-sunxi #kernel sunxi без RT
diff -q -r --exclude=.gitignore --exclude=.directory $A/ $B/ | grep sunxi >file_diff_kernel
Платы: BPI-M3, BPI-A64, OPI-PC2
- going
- Мастер
- Сообщения: 523
- Зарегистрирован: 29 сен 2013, 20:55
- Репутация: 129
- Настоящее имя: Леонид
- Откуда: г.Киров
- Контактная информация:
Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi
MX_Master писал(а): уже делал мини сборочку под Orange Pi (H3)
Извиняюсь. Прочитал бегло.going писал(а):Толку от образа не будет. Он под х86 архитектуру.
Образ выложили на DROPBOX и видимо временно открыли доступ.
Платы: BPI-M3, BPI-A64, OPI-PC2
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: OrangeCNC - ЧПУ контроллер на базе Orange Pi
Неправильное предположение. В современных ядрах те части, которые не нужны/не работают из ресурсов требуют фактически только место на диске.MX_Master писал(а):Я уверен, что и RT на обезжиренной системе можно поднять быстрее (предположение).
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...