Коммутация компьютера и Raspberry Pi 4 B
Чтобы видеть вывод примеров на компьютере, выполните следующие действия:
Схема соединения преобразователя USB-UART и Raspberry Pi 4 B
bps = 115200
, data bits = 8
, stop bits = 1
, parity = none
, flow control = none
.Чтобы компьютер и Raspberry Pi 4 B могли взаимодействовать через сеть Ethernet, выполните следующие действия:
dhcpcd.conf
, который находится по пути <название примера>/resources/...
).Подготовка загрузочной SD-карты для Raspberry Pi 4 B
Загрузочную SD-карту для Raspberry Pi 4 B можно подготовить автоматически и вручную.
Чтобы подготовить загрузочную SD-карту автоматически, подключите SD-карту к компьютеру и выполните следующие команды:
# Следующая команда создает файл образа загрузочного
# носителя (*.img).
$ sudo /opt/KasperskyOS-Community-Edition-<version>/examples/rpi4_prepare_fs_image.sh
# В следующей команде path_to_img – путь к файлу образа
# загрузочного носителя (этот путь выводится по окончании
# выполнения предыдущей команды), [X] – последний символ
# в имени блочного устройства для SD-карты.
$ sudo dd bs=4M if=path_to_img of=/dev/sd[X] conv=fsync
Чтобы подготовить загрузочную SD-карту вручную, выполните следующие действия:
$ sudo apt install gcc-arm-linux-gnueabi gcc-arm-linux-gnueabihf git bison flex
$ git clone https://github.com/u-boot/u-boot.git u-boot-armv7
$ cd u-boot-armv7 && git checkout tags/v2020.10
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- rpi_4_32b_defconfig
# В меню, которое появится при выполнении следующей команды, включите
# флаг Enable a default value for bootcmd. В поле bootcmd value введите
# значение fatload mmc 0 ${loadaddr} kos-image; bootelf ${loadaddr}.
# Затем выйдите из меню, сохранив параметры.
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- u-boot.bin
$ wget https://downloads.raspberrypi.org/raspbian_lite_latest
$ unzip raspbian_lite_latest
# В следующей команде [X] – последний символ в имени блочного устройства
# для SD-карты.
$ sudo dd bs=4M if=$(ls *raspbian*lite.img) of=/dev/sd[X] conv=fsync
# В следующих командах путь ~/mnt/fat32 используется для примера. Вы
# можете использовать другой путь.
$ mkdir -p ~/mnt/fat32
# В следующей команде [X] – последний буквенный символ в имени блочного
# устройства для раздела на отформатированной SD-карте.
$ sudo mount /dev/sd[X]1 ~/mnt/fat32/
$ sudo cp u-boot.bin ~/mnt/fat32/u-boot.bin
/opt/KasperskyOS-Community-Edition-<version>/examples
и выполните следующие команды:$ sudo cp config.txt ~/mnt/fat32/config.txt
$ sync
$ sudo umount ~/mnt/fat32
Запуск примера на Raspberry Pi 4 B
Чтобы запустить пример на Raspberry Pi 4 B, выполните следующие действия:
# В следующей команде [X] – последний буквенный символ в имени блочного
# устройства для раздела на загрузочной SD-карте.
# В следующих командах путь ~/mnt/fat32 используется для примера. Вы
# можете использовать другой путь.
$ sudo mount /dev/sd[X]1 ~/mnt/fat32/
$ sudo cp build/einit/kos-image ~/mnt/fat32/kos-image
$ sync
$ sudo umount ~/mnt/fat32
О том, что пример запустился, свидетельствует вывод, отображаемый на компьютере.