1
0
mirror of https://github.com/projectacrn/acrn-hypervisor.git synced 2025-05-02 21:46:58 +00:00

doc: update GSG to use debuild to build ACRN packages

Signed-off-by: szhen11 <shuang.zheng@intel.com>
This commit is contained in:
szhen11 2022-11-08 13:25:05 +08:00 committed by David Kinder
parent f8ec83e628
commit f8ec216df7

View File

@ -122,7 +122,10 @@ To set up the ACRN build environment on the development computer:
python3 python3-pip libblkid-dev e2fslibs-dev \
pkg-config libnuma-dev libcjson-dev liblz4-tool flex bison \
xsltproc clang-format bc libpixman-1-dev libsdl2-dev libegl-dev \
libgles-dev libdrm-dev gnu-efi libelf-dev
libgles-dev libdrm-dev gnu-efi libelf-dev \
build-essential git-buildpackage devscripts dpkg-dev equivs lintian \
apt-utils pristine-tar dh-python python3-lxml python3-defusedxml \
python3-tqdm python3-xmlschema python3-elementpath acpica-tools
#. Get the ACRN hypervisor and ACRN kernel source code, and check out the
current release branch.
@ -132,31 +135,20 @@ To set up the ACRN build environment on the development computer:
cd ~/acrn-work
git clone https://github.com/projectacrn/acrn-hypervisor.git
cd acrn-hypervisor
git checkout v3.1
git checkout master
cd ..
git clone https://github.com/projectacrn/acrn-kernel.git
cd acrn-kernel
git checkout acrn-v3.1
git checkout master
#. Install Python package dependencies:
.. code-block:: bash
#. Configure git with your name and email address:
cd ~/acrn-work/acrn-hypervisor
sudo python3 -m pip install -r misc/config_tools/requirements.txt
.. code-block:: none
#. Build and install the iASL compiler/disassembler used for advanced power management,
device discovery, and configuration (ACPI) within the host OS:
.. code-block:: bash
cd ~/acrn-work
wget https://acpica.org/sites/acpica/files/acpica-unix-20210105.tar.gz
tar zxvf acpica-unix-20210105.tar.gz
cd acpica-unix-20210105
make clean && make iasl
sudo cp ./generate/unix/bin/iasl /usr/sbin
git config --global user.name "David Developer"
git config --global user.email "david.developer@company.com"
.. _gsg-board-setup:
@ -300,10 +292,10 @@ Generate a Board Configuration File
.. code-block:: bash
make clean && make board_inspector
debian/debian_build.sh clean && debian/debian_build.sh board_inspector
In a few seconds, the build generates a board_inspector Debian package in the ``./build``
directory.
In a few seconds, the build generates a board_inspector Debian package in the
parent (``~/acrn-work``) directory.
#. Copy the Board Inspector Debian package from the development computer to the
target system.
@ -313,7 +305,7 @@ Generate a Board Configuration File
computer to the ``~/acrn-work`` working directory we created on the target
system. Replace ``10.0.0.200`` with the target system's IP address you found earlier::
scp ~/acrn-work/acrn-hypervisor/build/acrn-board-inspector*.deb acrn@10.0.0.200:~/acrn-work
scp ~/acrn-work/python3-acrn-board-inspector*.deb acrn@10.0.0.200:~/acrn-work
Option 2: Use a USB disk
a. On the development computer, insert the USB disk that you intend to use to
@ -334,7 +326,7 @@ Generate a Board Configuration File
cd ~/acrn-work/
disk="/media/$USER/"$(ls /media/$USER)
cp -r acrn-hypervisor/build/acrn-board-inspector*.deb "$disk"/
cp -r python3-acrn-board-inspector*.deb "$disk"/
sync && sudo umount "$disk"
#. Remove the USB disk from the development computer and insert it into the target system.
@ -345,14 +337,14 @@ Generate a Board Configuration File
mkdir -p ~/acrn-work
disk="/media/$USER/"$(ls /media/$USER)
cp -r "$disk"/acrn-board-inspector*.deb ~/acrn-work
cp -r "$disk"/python3-acrn-board-inspector*.deb ~/acrn-work
#. Now that we've got the Board Inspector Debian package on the target system, install it there:
.. code-block:: bash
cd ~/acrn-work
sudo apt install -y ./acrn-board-inspector*.deb
sudo apt install -y ./python3-acrn-board-inspector*.deb
#. Reboot the target system:
@ -368,7 +360,7 @@ Generate a Board Configuration File
.. code-block:: bash
cd ~/acrn-work
sudo board_inspector.py my_board
sudo board_inspector my_board
.. note::
@ -600,20 +592,27 @@ Build ACRN
.. code-block:: bash
cd ~/acrn-work/acrn-hypervisor
make clean && make BOARD=~/acrn-work/MyConfiguration/my_board.board.xml SCENARIO=~/acrn-work/MyConfiguration/scenario.xml
debian/debian_build.sh clean && debian/debian_build.sh -c ~/acrn-work/MyConfiguration -b my_board.board -s scenario
The build typically takes a few minutes. When done, the build generates a
Debian package in the ``./build`` directory:
The build typically takes a few minutes. When done, the build generates several
Debian packages in the parent (``~/acrn-work``) directory:
.. code-block:: bash
cd ./build
cd ../
ls *.deb
acrn-my_board-MyConfiguration-3.1.deb
acrnd_*.deb
acrn-dev_*.deb
acrn-devicemodel_*.deb
acrn-doc_*.deb
acrn-hypervisor_*.deb
acrn-lifemngr_*.deb
acrn-system_*.deb
acrn-tools_*.deb
grub-acrn_*.deb
The Debian package contains the ACRN hypervisor and tools to ease installing
ACRN on the target. The Debian file name contains the board name (``my_board``)
and the working folder name (``MyConfiguration``).
The Debian packages contain the ACRN hypervisor and tools to ease installing
ACRN on the target.
#. Build the ACRN kernel for the Service VM:
@ -657,10 +656,11 @@ Build ACRN
the target system.
Replace ``10.0.0.200`` with the target system's IP address you found earlier::
scp ~/acrn-work/acrn-hypervisor/build/acrn-my_board-MyConfiguration*.deb \
sudo scp ~/acrn-work/acrn*.deb \
~/acrn-work/grub*.deb \
~/acrn-work/*acrn-service-vm*.deb \
~/acrn-work/MyConfiguration/launch_user_vm_id1.sh \
~/acrn-work/acpica-unix-20210105/generate/unix/bin/iasl \
/usr/bin/iasl \
acrn@10.0.0.200:~/acrn-work
Then, go to the target system and put the ``iasl`` tool in its proper
@ -677,10 +677,11 @@ Build ACRN
.. code-block:: bash
disk="/media/$USER/"$(ls /media/$USER)
cp ~/acrn-work/acrn-hypervisor/build/acrn-my_board-MyConfiguration*.deb "$disk"/
cp ~/acrn-work/acrn*.deb "$disk"/
cp ~/acrn-work/grub*.deb "$disk"/
cp ~/acrn-work/*acrn-service-vm*.deb "$disk"/
cp ~/acrn-work/MyConfiguration/launch_user_vm_id1.sh "$disk"/
cp ~/acrn-work/acpica-unix-20210105/generate/unix/bin/iasl "$disk"/
sudo cp /usr/bin/iasl "$disk"/
sync && sudo umount "$disk"
#. Insert the USB disk you just used into the target system and run these
@ -689,7 +690,8 @@ Build ACRN
.. code-block:: bash
disk="/media/$USER/"$(ls /media/$USER)
cp "$disk"/acrn-my_board-MyConfiguration*.deb ~/acrn-work
cp "$disk"/acrn*.deb ~/acrn-work
cp "$disk"/grub*.deb ~/acrn-work
cp "$disk"/*acrn-service-vm*.deb ~/acrn-work
cp "$disk"/launch_user_vm_id1.sh ~/acrn-work
sudo cp "$disk"/iasl /usr/sbin/
@ -709,7 +711,7 @@ Install ACRN
.. code-block:: bash
cd ~/acrn-work
sudo apt install ./acrn-my_board-MyConfiguration*.deb
sudo apt install ./acrn*.deb ./grub*.deb
sudo apt install ./*acrn-service-vm*.deb
#. Reboot the system:
@ -723,14 +725,15 @@ Install ACRN
will boot with this option automatically in 5 seconds.)
.. code-block:: console
:emphasize-lines: 6
:emphasize-lines: 5
GNU GRUB version 2.04
────────────────────────────────────────────────────────────────────────────────
Ubuntu
Advanced options for Ubuntu
*Ubuntu GNU/Linux, with ACRN hypervisor
Advanced options for Ubuntu GNU/Linux (with ACRN hypervisor)
UEFI Firmware Settings
*ACRN multiboot2
.. _gsg-run-acrn: