From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6671131112474935296 X-Received: by 2002:a17:906:640f:: with SMTP id d15mr3300742ejm.217.1553243750473; Fri, 22 Mar 2019 01:35:50 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a17:906:1d4f:: with SMTP id o15ls571673ejh.0.gmail; Fri, 22 Mar 2019 01:35:50 -0700 (PDT) X-Google-Smtp-Source: APXvYqxbuz2UtofrKWwm9Hh13vIl4TS24lzkpik96gdMhUx5uBTKrSdESS8vT54F0ejuXnXJaE3q X-Received: by 2002:a17:906:90d:: with SMTP id i13mr4824811ejd.48.1553243750008; Fri, 22 Mar 2019 01:35:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553243750; cv=none; d=google.com; s=arc-20160816; b=xo6y1O82sd15E+ZgycX2BOk3w47pIZVeKaKOJ/i1APXRuzFyFOExwp0Giidr6CtjQO qjjhmkDqN31dg1pM4XgUB8nExEG44UGEIpym2eU5ZwyaTWY3gVmqBwLtW0joQZYCZI32 YeWSRnKY/0cKWswzU+CDrhvM0NfFi1xmmBSWr22rv6Kdnt0tcEkNL2XOebpdJTeQfk7t qgaM9p0ERgT15MzEj0vK6k7hVO1pPpDev8O4pP8odKpYh6pW3lb8oN1a7jK2NyFHWACc 7lHNJcU0OWjig6zx9A+hVmHacXqUFBIztq0tDtvrigQo6SSa4xRXsB4xd4Zgvnj2jE7I z1ow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:to:from; bh=MKYrmE93K+9ejhK51NGx6A4La7YtGQGkmAMflpdUCI4=; b=SDtnOF2EqHGNGUMjFmg8FZU7APENBq85PjkOMTL6eVAqp63D91sCOouz00LOE5vPti Jijpi5/kw/ZKLCcL5+Mp8qeS5+Tx55cvlOo0qRLWK96f87Ij27K/phFPoRJ5Qy0nT4+w 7E7ayKPqezGYFD6m3XWmnNzYfi/d1td4ifzRKkbKzCMgYTsRTxNswE5nlcdZvg3Jrx5b UcoK5BF9LE1PI2OufqjPjjNaAjfh6gNpyVDEoruRMrgq8U/UE6W6j7eH+3085MXvc3m5 3grAZlOg9GZrceBgxqjve4gDsWa/lTch7hRAkOrXu4ILBS744Q5Spn3EFTy27Mui4uQn j9Sw== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of mosipov@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=mosipov@ilbers.de Return-Path: Received: from shymkent.ilbers.de (shymkent.ilbers.de. [85.214.156.166]) by gmr-mx.google.com with ESMTPS id r10si371359eda.4.2019.03.22.01.35.49 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 22 Mar 2019 01:35:49 -0700 (PDT) Received-SPF: pass (google.com: domain of mosipov@ilbers.de designates 85.214.156.166 as permitted sender) client-ip=85.214.156.166; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of mosipov@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=mosipov@ilbers.de Received: from azat.m.ilbers.de (host-80-81-17-52.static.customer.m-online.net [80.81.17.52]) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8) with ESMTPSA id x2M8ZVC4030246 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 22 Mar 2019 09:35:49 +0100 From: "Maxim Yu. Osipov" To: isar-users@googlegroups.com Subject: [PATCH v2 1/2] doc/user_manual: Update to the current ISAR state Date: Fri, 22 Mar 2019 09:35:29 +0100 Message-Id: <20190322083530.26587-2-mosipov@ilbers.de> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20190322083530.26587-1-mosipov@ilbers.de> References: <20190322083530.26587-1-mosipov@ilbers.de> X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-TUID: 71v1aZQKcFWY Signed-off-by: Maxim Yu. Osipov --- doc/user_manual.md | 66 +++++++++++++++++++++++++++++++++--------------------- 1 file changed, 40 insertions(+), 26 deletions(-) diff --git a/doc/user_manual.md b/doc/user_manual.md index 6fe4d83..4ac766d 100644 --- a/doc/user_manual.md +++ b/doc/user_manual.md @@ -1,6 +1,6 @@ # ISAR User Manual -Copyright (C) 2016-2017, ilbers GmbH +Copyright (C) 2016-2019, ilbers GmbH ## Contents @@ -31,6 +31,7 @@ Isar provides: - Fast target image generation: About 10 minutes to get base system image for one machine. - Use any apt package provider, including open-source communities like `Debian`, `Raspbian`, etc. and proprietary ones created manually. - Native compilation: Packages are compiled in a `chroot` environment using the same toolchain and libraries that will be installed to the target filesystem. + - Cross compilation: Could be enabled, when native compilation from the sources takes a lot of time f.e. for Linux kernel. - Product templates that can be quickly re-used for real projects. --- @@ -41,13 +42,21 @@ For demonstration purposes, Isar provides support for the following configurations: - QEMU ARM with Debian Jessie - - QEMU ARM with Debian Stretch (builds but fails to run, see #22) + - QEMU ARM with Debian Stretch + - QEMU ARM with Debian Buster + - QEMU ARM64 with Debian Jessie + - QEMU ARM64 with Debian Stretch + - QEMU ARM64 with Debian Buster (for host >= buster) - QEMU i386 with Debian Jessie - QEMU i386 with Debian Stretch + - QEMU i386 with Debian Buster - QEMU amd64 with Debian Jessie - QEMU amd64 with Debian Stretch + - QEMU amd64 with Debian Buster - Raspberry Pi 1 Model B with Raspbian Jessie (see #23) - Banana Pi BPI-M1 + - LeMaker HiKey + - Terasic DE0-Nano-SoC The steps below describe how to build the images provided by default. @@ -137,8 +146,8 @@ bitbake multiconfig:qemuarm-stretch:isar-image-base \ The following images are created: ``` -tmp/deploy/images/isar-image-base-qemuarm-debian-stretch.ext4.img -tmp/deploy/images/isar-image-debug-qemuarm-debian-stretch.ext4.img +tmp/deploy/images/qemuarm/isar-image-base-qemuarm-debian-stretch.ext4.img +tmp/deploy/images/qemuarm/isar-image-debug-qemuarm-debian-stretch.ext4.img ``` ### Building Target Images for Multiple Configurations @@ -160,7 +169,6 @@ BBMULTICONFIG = " \ qemuamd64-stretch \ qemuamd64-buster \ rpi-jessie \ - bananapi-stretch \ " ``` @@ -178,23 +186,23 @@ $ bitbake \ multiconfig:qemuamd64-jessie:isar-image-base \ multiconfig:qemuamd64-stretch:isar-image-base \ multiconfig:qemuamd64-buster:isar-image-base \ - multiconfig:rpi-jessie:isar-image-base \ - multiconfig:bananapi-stretch:isar-image-base + multiconfig:rpi-jessie:isar-image-base ``` Created images are: ``` -tmp/deploy/images/isar-image-base-debian-jessie-qemuarm.ext4.img -tmp/deploy/images/isar-image-base-debian-stretch-qemuarm.ext4.img -tmp/deploy/images/isar-image-base-debian-stretch-qemuarm.ext4.img -tmp/deploy/images/isar-image-base-debian-stretch-qemuarm64.ext4.img -tmp/deploy/images/isar-image-base-debian-jessie-qemui386.ext4.img -tmp/deploy/images/isar-image-base-debian-stretch-qemui386.ext4.img -tmp/deploy/images/isar-image-base-debian-jessie-qemuamd64.ext4.img -tmp/deploy/images/isar-image-base-debian-stretch-qemuamd64.ext4.img -tmp/deploy/images/isar-image-base.rpi-sdimg -tmp/deploy/images/isar-image-base-debian-stretch-bananapi.wic.img +tmp/deploy/images/qemuarm/isar-image-base-debian-jessie-qemuarm.ext4.img +tmp/deploy/images/qemuarm/isar-image-base-debian-stretch-qemuarm.ext4.img +tmp/deploy/images/qemuarm/isar-image-base-debian-buster-qemuarm.ext4.img +tmp/deploy/images/qemuarm64/isar-image-base-debian-stretch-qemuarm64.ext4.img +tmp/deploy/images/qemui386/isar-image-base-debian-jessie-qemui386.ext4.img +tmp/deploy/images/qemui386/isar-image-base-debian-stretch-qemui386.wic.img +tmp/deploy/images/qemui386/isar-image-base-debian-buster-qemui386.wic.img +tmp/deploy/images/qemuamd64/isar-image-base-debian-jessie-qemuamd64.ext4.img +tmp/deploy/images/qemuamd64/isar-image-base-debian-stretch-qemuamd64.wic.img +tmp/deploy/images/qemuamd64/isar-image-base-debian-buster-qemuamd64.wic.img +tmp/deploy/images/rpi/isar-image-base.rpi-sdimg ``` ### Generate full disk image @@ -217,9 +225,9 @@ enough to allow images to be testable under `qemu`. ``` # AMD64 image, EFI -qemu-system-x86_64 -m 256M -nographic -bios edk2/Build/OvmfX64/RELEASE_*/FV/OVMF.fd -hda tmp/deploy/images/isar-image-base-debian-stretch-qemuamd64.wic.img +qemu-system-x86_64 -m 256M -nographic -bios edk2/Build/OvmfX64/RELEASE_*/FV/OVMF.fd -hda tmp/deploy/images/qemuamd64/isar-image-base-debian-stretch-qemuamd64.wic.img # i386 image -qemu-system-i386 -m 256M -nographic -hda tmp/deploy/images/isar-image-base-debian-stretch-qemui386.wic.img +qemu-system-i386 -m 256M -nographic -hda tmp/deploy/images/qemui386/isar-image-base-debian-stretch-qemui386.wic.img ``` --- @@ -457,9 +465,9 @@ The user may use `met-isar/recipes-core-images` as a template for new image reci ## Add a New Image Type ### General Information -The image recipe in Isar creates a folder with target root filesystem. The default its location is: +The image recipe in Isar creates a folder with target root filesystem. Its default location is: ``` -tmp/work/${IMAGE}/${MACHINE}/rootfs +tmp/work/${DISTRO}-${DISTRO_ARCH}/${MACHINE}/${IMAGE}/rootfs ``` Every image type in Isar is implemented as a `bitbake` class. The goal of these classes is to pack root filesystem folder to appropriate format. @@ -648,10 +656,14 @@ put into Isar apt. ### Limitation -Debian cross-compilation works out of the box starting from Debian stretch distribution. So currently the only following build configurations are supported in Isar: +Debian cross-compilation works out of the box starting from Debian stretch distribution. Currently the following build configurations are supported in Isar: + - qemuarm-jessie - qemuarm-stretch + - qemuarm-buster - qemuarm64-stretch + - qemuarm64-buster (for host >= buster) + ## Create an ISAR SDK root filesystem @@ -670,8 +682,8 @@ target binary artifacts. Developer chroots to sdk rootfs and develops applicatio User manually triggers creation of SDK root filesystem for his target platform by launching the task `do_populate_sdk` for target image, f.e. `bitbake -c do_populate_sdk multiconfig:${MACHINE}-${DISTRO}:isar-image-base`. -The resulting SDK rootfs is archived into `tmp/deploy/images/sdk-${DISTRO}-${DISTRO_ARCH}.tar.xz`. -It is additionally available for direct use under `tmp/deploy/images/sdk-${DISTRO}-${DISTRO_ARCH}/`. +The resulting SDK rootfs is archived into `tmp/deploy/images/${MACHINE}/sdk-${DISTRO}-${DISTRO_ARCH}.tar.xz`. +It is additionally available for direct use under `tmp/deploy/images/${MACHINE}/sdk-${DISTRO}-${DISTRO_ARCH}/`. The SDK rootfs directory `/isar-apt` contains a copy of isar-apt repo with locally prebuilt target debian packages (for ). One may chroot into the SDK and install required target packages with the help of `apt-get install :` command. @@ -698,13 +710,14 @@ mount devtmpfs $1/dev -t devtmpfs -o mode=0755,nosuid mount devpts $1/dev/pts -t devpts -o gid=5,mode=620 mount tmpfs $1/dev/shm -t tmpfs -o rw,seclabel,nosuid,nodev -$ sudo scripts/mount_chroot.sh ../build/tmp/work/debian-stretch-armhf/sdkchroot-debian-stretch-amd64/rootfs +$ sudo scripts/mount_chroot.sh ../build/tmp/deploy/images/qemuarm/sdk-debian-stretch-armhf + ``` - chroot to isar SDK rootfs: ``` -$ sudo chroot ../build/tmp/work/debian-stretch-armhf/sdkchroot-debian-stretch-amd64/rootfs +$ sudo chroot build/tmp/deploy/images/qemuarm/sdk-debian-stretch-armhf ``` - Check that cross toolchains are installed @@ -716,6 +729,7 @@ ii crossbuild-essential-armhf 12.3 all Inf - Install needed prebuilt target packages. ``` +:~# apt-get update :~# apt-get install libhello-dev:armhf ``` -- 2.11.0