Тестирование ядер и образов на Raspberry Pi: различия между версиями

Материал из ALT Linux Wiki
(Новая страница: «Category:ARM Category:AArch64 {{Stub}} == Примерный план тестирования образов на RPi == === Замечание === Данный план является некоторым произвольным вариантом обычных действий пользователя. Нет никаких объективных оснований его придерживаться. Однако, его соблюдени...»)
 
 
(не показано 19 промежуточных версий 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. Включить программный композитный менеджер: <code>dconf write /org/mate/marco/general/compositing-manager true</code>
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 ==
=== Условные обозначения ===
<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>


=== Замечание ===
=== Замечание ===
Строка 9: Строка 85:
Нет никаких объективных оснований его придерживаться.
Нет никаких объективных оснований его придерживаться.


<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>


При выполнении пунктов плана нужно вести протокол с записью результата.
При выполнении пунктов плана нужно вести протокол с записью результата.
Тесты нужно выполнить на всех поддерживаемых системах: RPi3, RPi4, RPi400.
На RPi3 некоторые тесты (например, воспроизведение видео в браузере) могут не работать из-за недостатка памяти. По той же причине не следует обновлять ядро одновременно с работой apt-indicator по обновлению заголовков репо.


=== Тест установки ===
=== Тест установки ===
Строка 29: Строка 113:
=== Тест загрузки ===
=== Тест загрузки ===


<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).


Строка 36: Строка 121:


Проверить, есть ли в greeter переключатель раскладок клавиатуры EN/RU и работает ли.
Проверить, есть ли в greeter переключатель раскладок клавиатуры EN/RU и работает ли.
</div>
Ввести имя и пароль обычного пользователя и войти в систему.
<div style="border-left:3px solid #2590B7;border-right:3px solid #2590B7;padding:7px;margin-top: 7px;margin-bottom: 7px;background-color:#E0EEF3;">
Добавить в общую секцию 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
</div>
=== Тест использования ===
Проверить, поднялись ли сетевые интерфейсы.
Проверить работу sudo для данного пользователя.
Проверить вход в систему по ssh. При необходимости запустить sshd.
Проверить наличие и работу apt-indicator.
Сохранить в протокол вывод команды "uname -a"
Проверить переключение в текстовый терминал (ctrl-alt-f2)
Подать команду "systemctl status". Если статус отличен от running подать команду "systemctl --failed". Результат сохранить в протокол.
<div style="border-left:3px solid #2590B7;border-right:3px solid #2590B7;padding:7px;margin-top: 7px;margin-bottom: 7px;background-color:#E0EEF3;">
ls -l /dev/i2c* /dev/spi*
Убедиться, что устройства есть. Если драйвер SPI не вкомпилирован для появления устройства нужно загрузить модуль с ним:
# modprobe i2c_dev
Проверить работу термодатчика:
cat /sys/class/thermal/thermal_zone0/temp
Будет выдана температура в град. х 1000
Проверить видна ли GPIO:
ls /sys/class/gpio/
</div>
Запустить браузер, убедиться, что работает.
Открыть какое-либо видео на 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 клавиатуру, убедиться, что работает.
 
<div style="border-left:3px solid #25B790;border-right:3px solid #25B790;padding:7px;margin-top: 7px;margin-bottom: 7px;background-color:#E0F3EE;">
Проверить запуск LibreOffice Writer, убедиться что доступен ввод текста латиницей и кириллицей.
 
Записать на флешку различные файлы изображений (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>

Текущая версия от 12:42, 7 ноября 2023

Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.


Тестирование ядра

Общая информация

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. Включить программный композитный менеджер: dconf write /org/mate/marco/general/compositing-manager true

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.