You are on page 1of 7

Міністерство освіти і науки України

Національний технічний університет України


«Київський політехнічний інститут ім. Ігоря Сікорського» Факультет
інформатики та обчислювальної техніки Кафедра обчислювальної техніки

Лабораторна робота 1-2


З дисципліни «Архітектура компʼютерів 2»

ВИКОНАВ:
студент ІІІ курсу ФІОТ

Київ-2023
Завдання: Збирання виконуваних файлів для ОС Linux для процесорів архітектури
ARM. Розвертання Linux Kernel в середовищі програмного емулятора Qemu для
архітектури процесорів ARM.

Хід роботи

sudo tar xJvf gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf.tar.xz -C /opt/


sudo tar xJvf gcc-arm-8.3-2019.03-x86_64-arm-eabi.tar.xz -C /opt/
Після того як ми розпакували ці 2 файла, можемо зайнятись установкою
та налаштування Git

sudo apt install git


cd ~/repos
git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
cd linux-stable
git checkout v2019.07

Після налаштувань Git можемо зайнятись 3 основними директоріями для


успішної роботи QEMU, встановимо їх у директорію repos

git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git

git clone git://git.busybox.net/busybox

git clone https://gitlab.denx.de/u-boot/u-boot.git


Встановимо QEMU

sudo apt install qemu-system-arm


cd ~/repos/busybox
cd _install
find . | cpio -o -H newc | gzip > ../rootfs.cpio.gz
cd ..
Запустимо QEMU

Тут я продемонстрував, що QEMU встановлено правильно і не


запускається з інших папок

Bysybox –help head -5


Як бачимо команди правильно відпрацьовують в QEMU тому за
допомогою poweroff можемо вийти з QEMU

Висновок: У процесі виконання цієї роботи ми опанували навички


компіляції виконавчих файлів для архітектури ARM на Linux та
розгортання ядра в середовищі Qemu. Хоча під час роботи виникли деякі
незначні труднощі з папкою _install, вони були ефективно вирішені.
Встановлення основних файлів для роботи QEMU

U-Boot

$ cd ~/repos

$ git clone https://gitlab.denx.de/u-boot/u-boot.git

$ cd u-boot

Kernel

$ cd ~/repos

$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git

$ cd linux-stable

BusyBox

$ cd ~/repos

$ git clone git://git.busybox.net/busybox

$ cd busybox

QEMU

sudo apt install qemu-system-arm

$ cd ~/repos/busybox

$ cd _install

$ find . | cpio -o -H newc | gzip > ../rootfs.cpio.gz

Перевірка правильності установки QEMU та інших файлів

qemu-system-arm -kernel _install/boot/zImage -initrd rootfs.cpio.gz \

-machine virt -nographic -m 512 \


--append "root=/dev/ram0 rw console=ttyAMA0,115200 mem=512M"

Також виконаємо пару команд для перевірки правильності роботи QEMU


/ # dmesg | grep init

/ # busybox --help | head -15

/ # poweroff
Висновок: Збирання виконуваних файлів для ОС Linux на процесорах архітектури
ARM було успішно завершено. Розгортання Linux Kernel у середовищі програмного
емулятора Qemu для архітектури процесорів ARM також було виконано
безперешкодно.

You might also like