Тестирование ядер и образов на Raspberry Pi: различия между версиями
Jqt4 (обсуждение | вклад) Нет описания правки |
Jqt4 (обсуждение | вклад) |
||
(не показано 13 промежуточных версий 2 участников) | |||
Строка 1: | Строка 1: | ||
[[Category:ARM]] [[Category:AArch64]] | [[Category:ARM]] [[Category:AArch64]] | ||
{{Stub}} | {{Stub}} | ||
== Тестирование ядра == | |||
=== Общая информация === | |||
1. Сохранить в протокол вывод команды "uname -a" | |||
2. Подать команду "systemctl status". Если статус отличен от running подать команду "systemctl --failed". Результат сохранить в протокол. | |||
=== Тест сетевой подсистемы === | |||
1. Проверить наличие сетевых интерфейсов: <code>ls -1 /sys/class/net</code>. Ожидаемый вывод | |||
<pre> | |||
eth0 | |||
lo | |||
wlan0 | |||
</pre> | |||
2. Проверить, что NetworkManager знает об этих интерфейсах: <code>nmcli device</code> | |||
3. Проверить наличие IPv4 адреса на проводном интерфейсе <code>ip -o -4 addr show dev eth0</code> | |||
4. Включить беспроводную сеть: <code>nmcli device wifi connect BaseALT ifname wlan0 --ask</code> | |||
5. Проверить, что беспроводному интерфейсу назначен IPv4 адрес: <code>ip -o -4 addr show dev wlan0</code> | |||
6. Запустить сервис ssh: <code>systemctl enable --now sshd</code> | |||
7. Проверить вход по ssh по проводному и беспроводному интерфейсу (используя IPv4 адреса, полученные в пунктах 3 и 5) | |||
=== Тест графической подсистемы === | |||
1. Отключить программный композитный менеджер.<br>В среде <tt>Mate</tt> из комадной строки это можно сделать так: <code>dconf write /org/mate/marco/general/compositing-manager false</code> | |||
2. Запустить тест командой <code>glmark2-es2 --fullscreen --annotate</code><br> дождаться завершения теста, вывод команды занести в протокол. | |||
3. Проверить переключение в виртуальный терминал (ctrl-alt-f2) | |||
4. Проиграть видео *без звуковой дорожки*: <code>ffplay -fs -an -autoexit Big_Buck_Bunny_1080_10s_30MB.mkv</code><br> Во время проигрывания активно шевелить мышкой над видео. | |||
5. Включить программный композитный менеджер: <code>dconf write /org/mate/marco/general/compositing-manager true</code> | |||
6. Открыть домашнюю папку в Caja двойным щелчком по иконке "Домашняя папка ..." на рабочем столе. | |||
7. Запустить воспроизведение видео двойным щелчком по видеофайлу в Caja и развернуть на полный экран. | |||
=== Тест звуковой подсистемы === | |||
1. Получить список звуковых устройств: <code>aplay -L | grep -e '^sysdefault'</code> | |||
2. Проверить, что в списке есть HDMI и вcтроенное звуковое устройство: | |||
<pre> | |||
sysdefault:CARD=b1 | |||
sysdefault:CARD=Headphones | |||
</pre> | |||
3. Для каждого устройства запустить проверку: <code>speaker-test -D "$device" -c 2 -t sine -f 440 -l 3</code><br> Проверить, что на заданное устройство воспроизводится синусоида частотой 440 Гц, поочерёдно то в левый, то в правый канал. | |||
=== Тест разных устройств === | |||
1. Если драйвер I2C не встроен в ядро, загрузить модуль <code># modprobe i2c_dev</code> | |||
2. Проверить наличие файлов I2C устройств: <code>ls -l /dev/i2c*</code> | |||
3. Проверить наличие файлов SPI устройств: <code>ls -l /dev/spi*</code> | |||
4. Проверить работу термодатчика: <code>cat /sys/class/thermal/thermal_zone0/temp</code><br> Будет выдана температура в град. х 1000 | |||
5. Проверить наличие GPIO: <code>ls /sys/class/gpio/gpiochip*</code> | |||
== Примерный план тестирования образов на RPi == | == Примерный план тестирования образов на RPi == | ||
=== Условные обозначения === | |||
<div style="border-left:3px solid #25B790;border-right:3px solid #25B790;padding:7px;margin-top: 7px;margin-bottom: 7px;background-color:#E0F3EE;"> | |||
Таким цветом обозначены части текста, касающиеся только тестирования образов. | |||
</div> | |||
<div style="border-left:3px solid #2590B7;border-right:3px solid #2590B7;padding:7px;margin-top: 7px;margin-bottom: 7px;background-color:#E0EEF3;"> | |||
Таким цветом обозначены части текста, касающиеся только тестирования ядер. | |||
</div> | |||
=== Замечание === | === Замечание === | ||
Строка 11: | Строка 91: | ||
<div style="border-left:3px solid #25B790;border-right:3px solid #25B790;padding:7px;margin-top: 7px;margin-bottom: 7px;background-color:#E0F3EE;"> | <div style="border-left:3px solid #25B790;border-right:3px solid #25B790;padding:7px;margin-top: 7px;margin-bottom: 7px;background-color:#E0F3EE;"> | ||
Однако, его соблюдение при тестировании различных образов позволяет сравнить их между собой и сделать некоторые выводы о работоспособности. | Однако, его соблюдение при тестировании различных образов позволяет сравнить их между собой и сделать некоторые выводы о работоспособности. | ||
</div> | </div> | ||
<div style="border-left:3px solid #2590B7;border-right:3px solid #2590B7;padding:7px;margin-top: 7px;margin-bottom: 7px;background-color:#E0EEF3;"> | <div style="border-left:3px solid #2590B7;border-right:3px solid #2590B7;padding:7px;margin-top: 7px;margin-bottom: 7px;background-color:#E0EEF3;"> | ||
Тестирование ядер делает больший упор на проверку работы аппаратных средств. | Тестирование ядер делает больший упор на проверку работы аппаратных средств. | ||
</div> | </div> | ||
При выполнении пунктов плана нужно вести протокол с записью результата. | При выполнении пунктов плана нужно вести протокол с записью результата. | ||
Тесты нужно выполнить на всех поддерживаемых системах: RPi3, RPi4, RPi400. | |||
На RPi3 некоторые тесты (например, воспроизведение видео в браузере) могут не работать из-за недостатка памяти. По той же причине не следует обновлять ядро одновременно с работой apt-indicator по обновлению заголовков репо. | |||
=== Тест установки === | === Тест установки === | ||
Строка 37: | Строка 117: | ||
=== Тест загрузки === | === Тест загрузки === | ||
<div style="border-left:3px solid #25B790;border-right:3px solid #25B790;padding:7px;margin-top: 7px;margin-bottom: 7px;background-color:#E0F3EE;"> | |||
Проверить автоматическую перезагрузку после завершения alterator-setup и загрузку графического экрана приветствия (greeter). | Проверить автоматическую перезагрузку после завершения alterator-setup и загрузку графического экрана приветствия (greeter). | ||
Строка 44: | Строка 125: | ||
Проверить, есть ли в greeter переключатель раскладок клавиатуры EN/RU и работает ли. | Проверить, есть ли в greeter переключатель раскладок клавиатуры EN/RU и работает ли. | ||
</div> | |||
Ввести имя и пароль обычного пользователя и войти в систему. | Ввести имя и пароль обычного пользователя и войти в систему. | ||
Строка 106: | Строка 187: | ||
Открыть html5test.com, убедиться, что работает. | Открыть html5test.com, убедиться, что работает. | ||
Подать команду "speaker-test -c 2", убедиться, что звук выводиться через каждый из каналов. | Подать команду "speaker-test -c 2", убедиться, что звук выводиться через каждый из каналов (На RPi3 протестировать переключение на наушники). | ||
Скачать какой-либо небольшой видеоролик с разрешением 1920х1080, например https://test-videos.co.uk/vids/bigbuckbunny/mkv/1080/Big_Buck_Bunny_1080_10s_30MB.mkv | Скачать какой-либо небольшой видеоролик с разрешением 1920х1080, например https://test-videos.co.uk/vids/bigbuckbunny/mkv/1080/Big_Buck_Bunny_1080_10s_30MB.mkv (данный файл без звука) | ||
Открыть видео с помощью графического файлового менеджера. Убедиться, что видео плеер по умолчанию запускается и нормально работает. | Открыть видео с помощью графического файлового менеджера. Убедиться, что видео плеер по умолчанию запускается и нормально работает. | ||
Строка 118: | Строка 199: | ||
Записать на флешку различные файлы изображений (jpg, png, и т. д.) и архивов (arj, rar, 7z, и т. д.). Проверить автоматическое монтирование флешки после подключения, открытие изображений и архивов, размонтирование флешки из графического файлового менеджера. | Записать на флешку различные файлы изображений (jpg, png, и т. д.) и архивов (arj, rar, 7z, и т. д.). Проверить автоматическое монтирование флешки после подключения, открытие изображений и архивов, размонтирование флешки из графического файлового менеджера. | ||
</div> | |||
Войти в систему по SSH. Подключить WiFi. | |||
Отключить Ethernet, подождать, пока в панели появиться иконка WiFi | |||
Войти в систему по SSH через WiFi | |||
Убедиться, что вход в систему выполнен. | |||
Включить Ethernet. | |||
Убедиться, что ssh соединение по Ethernet восстановилось само. | |||
Подать команду "glxgears -info", убедиться, что работает ускорение 3D (GL_RENDERER = VC4 V3D). Если выдано GL_RENDERER = llvmpipe, значит ускорение 3D не работает. | |||
<div style="border-left:3px solid #25B790;border-right:3px solid #25B790;padding:7px;margin-top: 7px;margin-bottom: 7px;background-color:#E0F3EE;"> | |||
Протестировать переключение на ядро с другим flavour. | |||
rpi4-boot-nouboot <flavour> | |||
и перезагрузить систему. | |||
Выполнить команду "uname -a", убедиться, что загружено ядро с нужным flavour. | |||
</div> | </div> |
Текущая версия от 14:07, 2 апреля 2024
Тестирование ядра
Общая информация
1. Сохранить в протокол вывод команды "uname -a"
2. Подать команду "systemctl status". Если статус отличен от running подать команду "systemctl --failed". Результат сохранить в протокол.
Тест сетевой подсистемы
1. Проверить наличие сетевых интерфейсов: ls -1 /sys/class/net
. Ожидаемый вывод
eth0 lo wlan0
2. Проверить, что NetworkManager знает об этих интерфейсах: nmcli device
3. Проверить наличие IPv4 адреса на проводном интерфейсе ip -o -4 addr show dev eth0
4. Включить беспроводную сеть: nmcli device wifi connect BaseALT ifname wlan0 --ask
5. Проверить, что беспроводному интерфейсу назначен IPv4 адрес: ip -o -4 addr show dev wlan0
6. Запустить сервис ssh: systemctl enable --now sshd
7. Проверить вход по ssh по проводному и беспроводному интерфейсу (используя IPv4 адреса, полученные в пунктах 3 и 5)
Тест графической подсистемы
1. Отключить программный композитный менеджер.
В среде Mate из комадной строки это можно сделать так: dconf write /org/mate/marco/general/compositing-manager false
2. Запустить тест командой glmark2-es2 --fullscreen --annotate
дождаться завершения теста, вывод команды занести в протокол.
3. Проверить переключение в виртуальный терминал (ctrl-alt-f2)
4. Проиграть видео *без звуковой дорожки*: ffplay -fs -an -autoexit Big_Buck_Bunny_1080_10s_30MB.mkv
Во время проигрывания активно шевелить мышкой над видео.
5. Включить программный композитный менеджер: dconf write /org/mate/marco/general/compositing-manager true
6. Открыть домашнюю папку в Caja двойным щелчком по иконке "Домашняя папка ..." на рабочем столе.
7. Запустить воспроизведение видео двойным щелчком по видеофайлу в Caja и развернуть на полный экран.
Тест звуковой подсистемы
1. Получить список звуковых устройств: aplay -L | grep -e '^sysdefault'
2. Проверить, что в списке есть HDMI и вcтроенное звуковое устройство:
sysdefault:CARD=b1 sysdefault:CARD=Headphones
3. Для каждого устройства запустить проверку: speaker-test -D "$device" -c 2 -t sine -f 440 -l 3
Проверить, что на заданное устройство воспроизводится синусоида частотой 440 Гц, поочерёдно то в левый, то в правый канал.
Тест разных устройств
1. Если драйвер I2C не встроен в ядро, загрузить модуль # modprobe i2c_dev
2. Проверить наличие файлов I2C устройств: ls -l /dev/i2c*
3. Проверить наличие файлов SPI устройств: ls -l /dev/spi*
4. Проверить работу термодатчика: cat /sys/class/thermal/thermal_zone0/temp
Будет выдана температура в град. х 1000
5. Проверить наличие GPIO: ls /sys/class/gpio/gpiochip*
Примерный план тестирования образов на RPi
Условные обозначения
Таким цветом обозначены части текста, касающиеся только тестирования образов.
Таким цветом обозначены части текста, касающиеся только тестирования ядер.
Замечание
Данный план является некоторым произвольным вариантом обычных действий пользователя.
Нет никаких объективных оснований его придерживаться.
Однако, его соблюдение при тестировании различных образов позволяет сравнить их между собой и сделать некоторые выводы о работоспособности.
Тестирование ядер делает больший упор на проверку работы аппаратных средств.
При выполнении пунктов плана нужно вести протокол с записью результата.
Тесты нужно выполнить на всех поддерживаемых системах: RPi3, RPi4, RPi400.
На RPi3 некоторые тесты (например, воспроизведение видео в браузере) могут не работать из-за недостатка памяти. По той же причине не следует обновлять ядро одновременно с работой apt-indicator по обновлению заголовков репо.
Тест установки
Записать образ SD карты можно по этой инструкции
Образ в виде тарбола rootfs можно записать по этой инструкции
При 1-й загрузке нужно выполнить настройку образа по умолчанию в alterator-setup.
Завести пользователей: root и обычного.
При настройке не должно быть ошибок.
Тест загрузки
Проверить автоматическую перезагрузку после завершения alterator-setup и загрузку графического экрана приветствия (greeter).
Проверить, прописан ли заведённый обычный пользователь в окне приветствия по умолчанию.
Проверить, произошла ли синхронизация времени.
Проверить, есть ли в greeter переключатель раскладок клавиатуры EN/RU и работает ли.
Ввести имя и пароль обычного пользователя и войти в систему.
Добавить в общую секцию config.txt строки:
dtparam=i2c_arm=on dtparam=spi=on
Добавить в yandex.list репо задачи с новым ядром:
rpm http://git.altlinux.org/tasks/<#task>/build/repo aarch64 task
# apt-get update # update-kernel # reboot
Тест использования
Проверить, поднялись ли сетевые интерфейсы.
Проверить работу sudo для данного пользователя.
Проверить вход в систему по ssh. При необходимости запустить sshd.
Проверить наличие и работу apt-indicator.
Сохранить в протокол вывод команды "uname -a"
Проверить переключение в текстовый терминал (ctrl-alt-f2)
Подать команду "systemctl status". Если статус отличен от running подать команду "systemctl --failed". Результат сохранить в протокол.
ls -l /dev/i2c* /dev/spi*
Убедиться, что устройства есть. Если драйвер SPI не вкомпилирован для появления устройства нужно загрузить модуль с ним:
# modprobe i2c_dev
Проверить работу термодатчика:
cat /sys/class/thermal/thermal_zone0/temp
Будет выдана температура в град. х 1000
Проверить видна ли GPIO:
ls /sys/class/gpio/
Запустить браузер, убедиться, что работает.
Открыть какое-либо видео на youtube.com в разрешении 1920х1080 на полный экран, убедиться что воспроизводиться со звуком.
Протестировать переключение звука HDMI - наушники и обратно, регулировку громкости из окна браузера и системной панели.
Проверить регулятор звука (работает/не работает, плавно/не плавно)
Открыть html5test.com, убедиться, что работает.
Подать команду "speaker-test -c 2", убедиться, что звук выводиться через каждый из каналов (На RPi3 протестировать переключение на наушники).
Скачать какой-либо небольшой видеоролик с разрешением 1920х1080, например https://test-videos.co.uk/vids/bigbuckbunny/mkv/1080/Big_Buck_Bunny_1080_10s_30MB.mkv (данный файл без звука)
Открыть видео с помощью графического файлового менеджера. Убедиться, что видео плеер по умолчанию запускается и нормально работает.
Подключить Bluetooth клавиатуру, убедиться, что работает.
Проверить запуск LibreOffice Writer, убедиться что доступен ввод текста латиницей и кириллицей.
Записать на флешку различные файлы изображений (jpg, png, и т. д.) и архивов (arj, rar, 7z, и т. д.). Проверить автоматическое монтирование флешки после подключения, открытие изображений и архивов, размонтирование флешки из графического файлового менеджера.
Войти в систему по SSH. Подключить WiFi.
Отключить Ethernet, подождать, пока в панели появиться иконка WiFi
Войти в систему по SSH через WiFi
Убедиться, что вход в систему выполнен.
Включить Ethernet. Убедиться, что ssh соединение по Ethernet восстановилось само.
Подать команду "glxgears -info", убедиться, что работает ускорение 3D (GL_RENDERER = VC4 V3D). Если выдано GL_RENDERER = llvmpipe, значит ускорение 3D не работает.
Протестировать переключение на ядро с другим flavour.
rpi4-boot-nouboot <flavour>
и перезагрузить систему. Выполнить команду "uname -a", убедиться, что загружено ядро с нужным flavour.