Тестирование ядер и образов на Raspberry Pi: различия между версиями
Jqt4 (обсуждение | вклад) м (Jqt4 переименовал страницу RPiTesting в Тестирование ядер и образов на Raspberry Pi: Проблема с поиском по старому названию) |
(Вынес описание тестирования ядра в отдельный раздел) |
||
Строка 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. Отключить программный композитный менеджер | |||
2. Запустить тест командой <code>glmark2-es2 --fullscreen --annotate</code><br> дождаться завершения теста, вывод команды занести в протокол. | |||
3. Включить программный композитный менеджер | |||
4. Проверить переключение в виртуальный терминал (ctrl-alt-f2) | |||
5. Проиграть видео *без звуковой дорожки*: <code>ffplay -fs -an -autoexit Big_Buck_Bunny_1080_10s_30MB.mkv</code><br> Во время проигрывания активно шевелить мышкой над видео. | |||
=== Тест звуковой подсистемы === | |||
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 == |
Версия от 12:34, 17 октября 2022
Тестирование ядра
Общая информация
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. Отключить программный композитный менеджер
2. Запустить тест командой glmark2-es2 --fullscreen --annotate
дождаться завершения теста, вывод команды занести в протокол.
3. Включить программный композитный менеджер
4. Проверить переключение в виртуальный терминал (ctrl-alt-f2)
5. Проиграть видео *без звуковой дорожки*: ffplay -fs -an -autoexit Big_Buck_Bunny_1080_10s_30MB.mkv
Во время проигрывания активно шевелить мышкой над видео.
Тест звуковой подсистемы
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.