From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6916819860201668608 X-Received: by 2002:a2e:80d6:: with SMTP id r22mr2003313ljg.29.1610453003440; Tue, 12 Jan 2021 04:03:23 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a2e:a58c:: with SMTP id m12ls519040ljp.2.gmail; Tue, 12 Jan 2021 04:03:22 -0800 (PST) X-Google-Smtp-Source: ABdhPJxO/UOxb13df8VI5cYJN0KnjpF8KqCyq1NSEC0dt29rXWM6VfYt056vnBoJ64f+dr9+jvT2 X-Received: by 2002:a2e:9c5:: with SMTP id 188mr1765297ljj.446.1610453002283; Tue, 12 Jan 2021 04:03:22 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1610453002; cv=pass; d=google.com; s=arc-20160816; b=DFFu4fS8wKITSlA5suiCJElduQ7xBr2+Jb1VgI/c1o5Z2OAkHzCmzeeJTnjWAi9wqg QQJLsKeCMP9S7Xxy5zzZXMX+eAogutAYUWlh7CqihHoer4AzNIDEpn5+es4uutwQOOBD KEqxsQgG+6gd4ApzlF5mkcQVLXKCjHvxrJS6Rk/9Ef5FZGxn0GK6exmRvtK+Rh44jyTi JDJIRHUHJjP5ZLkzUHfEaYICJmNipcikP33ocTvVwjUo6q74KNbO+rIlhZAERsZSg3zm xIKDFARlAalQ/vIgZTNQcJY6ewgMzl++5TuuZinMsKbJbnknRk3un0pIgbI2Q/EQsh4u L2nQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:content-language:content-transfer-encoding:in-reply-to :user-agent:date:message-id:from:references:cc:to:subject :dkim-signature; bh=1pYl2hDL5Uv7SLW1X/+L2LBhlaDsBCX5I/naxkKhkyo=; b=qm4O7z5AXix6I10zFojUQ767u251WtLnZ2jfzNPfTBV0cqt7Lq7P2hWa7RhV+3yZ7F tOvMRVJ0zxRGw+o/g7UshzaVsOf9E/EdmnRfv/dKL/WMlDCHUs1XXTkxJL9m5Mso0tQb 9lBhJmqu9Fco+MtQrSguot5TNL2kmTVljz5RP26HBVIyXVrpuQyHkHT2TZpKqwS3S62w Q6vOqeJGTw8Htu6F9pKOK1g8Q16G02RXMkWHxSR5vGSqChd8wnQoYeroesPAEsiM7q4R bwwO5xgoRhejq4afhJRN3ARLgBZj+tkwSQlS8JOqLU308xxNGAT+HxlG8hHe3cs5YUGs 2rKg== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.onmicrosoft.com header.s=selector1-siemens-onmicrosoft-com header.b=oy9z8Jnh; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of silvano.cirujano-cuesta@siemens.com designates 40.107.6.44 as permitted sender) smtp.mailfrom=silvano.cirujano-cuesta@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60044.outbound.protection.outlook.com. [40.107.6.44]) by gmr-mx.google.com with ESMTPS id r12si143274ljm.1.2021.01.12.04.03.22 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 12 Jan 2021 04:03:22 -0800 (PST) Received-SPF: pass (google.com: domain of silvano.cirujano-cuesta@siemens.com designates 40.107.6.44 as permitted sender) client-ip=40.107.6.44; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.onmicrosoft.com header.s=selector1-siemens-onmicrosoft-com header.b=oy9z8Jnh; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of silvano.cirujano-cuesta@siemens.com designates 40.107.6.44 as permitted sender) smtp.mailfrom=silvano.cirujano-cuesta@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=keE6DsZ1MVCiQrh9X1J5DvzGcvCxta6PXDHGCHiHlh/s+JmtlFzyGUU5eG3/siNcSmpwYjIL7E3Us2YnSLRLQ4wl7v1V06bV14EapeyhnDf5v+SOhID58HVCZzupyez3l50G/SMv1rXBeU4Yt4Ef+sRIdDWj3MJqO3tgOXNUik4kN9U+mkNcxephHFrgh0TDuPm6h+oRDVlwbdeNOwT+Eng1jSrKPzr5UaQw/DhkSMitNy/fybVTkF8UEQBYxE4wv+VC5w19/VBz3SaaaW1EagTe4B0z4yVDDxaa+GiwsfNfzkUu1lpftiD8xy5iCuRPVX+SLtmIJFyeJV+jqAyMYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1pYl2hDL5Uv7SLW1X/+L2LBhlaDsBCX5I/naxkKhkyo=; b=DIJ9ujBxYqhTfgrfOp0fqiRQdLYqC5lB3bYKMINMSEdl++KnbesrNVSqbTJKnXnH82lxsp1SQ5KzhtiX61YPGjDO0wrlz60MTlQONucLA65lpRAI5dCplfg5WnWqK2Vd6narebkK0ECfHg3+cxNDzTNlSgh0PSNLXk5pSBpEMpUyzEqAeQWLUwNWJ7547nsWySrTHNGJtxe/164odNlkiFrWKRh175VTIi1SIQDvdUbIhOMP4GfMHzvD7YPbL0NNObXPD/8n+4+1InXmKBnfjTatCXuLlozvk4iAbmSiE9KRulHrUmmlg4KbIoG9Hxc8HFGa3CAkKCwdXTJxlbFySA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=siemens.com; dmarc=pass action=none header.from=siemens.com; dkim=pass header.d=siemens.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=siemens.onmicrosoft.com; s=selector1-siemens-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1pYl2hDL5Uv7SLW1X/+L2LBhlaDsBCX5I/naxkKhkyo=; b=oy9z8JnhkBJyxCi+vbwhudD938QHfpAl6PpR9hSck8/rmUgUZ9rLnkaXsyNzklj0OkliOBL/uv9mHwDd7Pz1AERJZ99bdsUXbKCLTz7RmaLF1UdS2+v3ajUkn5z7sW102oSgmiU+eC2Gav/DOk+otL26+JH9ipYRAa/KUsmtk4Y= Authentication-Results: googlegroups.com; dkim=none (message not signed) header.d=none;googlegroups.com; dmarc=none action=none header.from=siemens.com; Received: from AM0PR10MB2708.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:12a::30) by AM8PR10MB4291.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:1e3::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3742.6; Tue, 12 Jan 2021 12:03:21 +0000 Received: from AM0PR10MB2708.EURPRD10.PROD.OUTLOOK.COM ([fe80::c035:62d1:fd79:1bc8]) by AM0PR10MB2708.EURPRD10.PROD.OUTLOOK.COM ([fe80::c035:62d1:fd79:1bc8%5]) with mapi id 15.20.3742.012; Tue, 12 Jan 2021 12:03:21 +0000 Subject: Re: [RFC PATCH 2/2] docs: document usage of sdk container images To: Henning Schild Cc: isar-users@googlegroups.com References: <20210112103338.14712-1-silvano.cirujano-cuesta@siemens.com> <20210112103338.14712-3-silvano.cirujano-cuesta@siemens.com> <20210112124021.5a9f44ce@md1za8fc.ad001.siemens.net> From: Silvano Cirujano Cuesta Message-ID: Date: Tue, 12 Jan 2021 13:03:18 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 In-Reply-To: <20210112124021.5a9f44ce@md1za8fc.ad001.siemens.net> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Content-Language: en-US X-Originating-IP: [2001:a61:3ba9:3102:e458:f9ae:a68a:ac3d] X-ClientProxiedBy: AM3PR05CA0114.eurprd05.prod.outlook.com (2603:10a6:207:2::16) To AM0PR10MB2708.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:12a::30) Return-Path: silvano.cirujano-cuesta@siemens.com MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [IPv6:2001:a61:3ba9:3102:e458:f9ae:a68a:ac3d] (2001:a61:3ba9:3102:e458:f9ae:a68a:ac3d) by AM3PR05CA0114.eurprd05.prod.outlook.com (2603:10a6:207:2::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3721.23 via Frontend Transport; Tue, 12 Jan 2021 12:03:20 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: d97fc3d6-6aed-4a29-eb8e-08d8b6f20e68 X-MS-TrafficTypeDiagnostic: AM8PR10MB4291: X-LD-Processed: 38ae3bcd-9579-4fd4-adda-b42e1495d55a,ExtAddr X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: LCwJMDhGZ4EZlSCylbHxHeqTpF7YyGefZ9bzvea7PZAIll+AsG+1Ot5QhZpk6h+06Cvj5E2fas2qB7xn42Cd+i82cXaPxFHeEvtBJAjaKBuNxKYLqf8pyqJtMasFU80WKRszmZAiahlfT4XwgMHxMifCL6cE8NGFAs4kWb9aBtL27Ij12N2mGOwrHkcHR6T+j4XsuJxUBpYPmzuDk+dKPp4Du8+Odfcwy/7agYqNwK6vpHCL+nHjksPXzBEtoySpn1bZlth2qthqmjoAgyx2NHgXIs5Qyod7GIzR7+D4+hJN1diD0X5TtD6PE/MF58ipUqEaJR/NRE2nY6gB3j9lob9FUnZYlZq40OicE3a/nKTvx1VE8Ld9PGYUEx+ES8LV4Ac3p3ZL2Y6BODwFrgppgPyco9tjdb8CHwPiGEhQayf2iIW5Y3X5ulmX9tqb36nCNmxXwTaMxhgpXN84t+6QB0N3dkvD+3jQrG0eIkRAU76VixmjUC8gkK5sHmNHZAbOPov7XITc5TIv4N2CSt2DLS3EvOVljazp4o/rDBlKfXnRj7R/7zKYtAOVaSVPwzFU X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR10MB2708.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(4636009)(366004)(31686004)(8676002)(5660300002)(498600001)(53546011)(66946007)(86362001)(37006003)(8936002)(66556008)(2616005)(186003)(66476007)(4326008)(31696002)(16526019)(36756003)(6636002)(45080400002)(2906002)(6486002)(6862004)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?Z2xVL2FZTEFFc0tlcW56K2ZLNmc2Z1Z3aWNxWm83U3B3b2VDZkErQ0dDWHRD?= =?utf-8?B?WjNrUlpoc3ZoK1RMQ1ZoV25vYjFjU1NLM3VFelovTzRWQ1ZSQ1JsSTFrYWNp?= =?utf-8?B?a1EyT0N4QldERmZRcWI5MVJmbEhqYmcvay9LdmU4Mm1LTjVtRU55L0FHSUJl?= =?utf-8?B?YjB2UGsreVFDUy9DNzd0MmZiNFRzMzh5OHdUS05aSGRVVThucU0wRWJNQzVu?= =?utf-8?B?NC9IUys2Q1JPKzZFcUd3N2x3RzUveHgyWGxuMEZzeWQwS3Zyclkra2F4bVRP?= =?utf-8?B?Mk1FUGtSa0RncVFHVnNHK2p0Nm15YUdhbDUzemJhbVFTYWlCTTVtM0lyQUVH?= =?utf-8?B?ZnRuUWVTcGppRVpmZHFvaVQ3amx4SVZObUE4dGF0MTdxWmZTU01GMzZmaVBW?= =?utf-8?B?SE5GeWxiNGU1VmhMQVc2OFNNUHdMNEc2YlEvNXhtaGlDMHhGS1RhVElndzR0?= =?utf-8?B?U0JoYWZiMXNQRjJCQ3hWUGVSQlVWWFVCYnRURXovQ2l0SkIyNzdOaWJIcktw?= =?utf-8?B?M05nZFViYU0yUi9rTHJlMERzaTZBMnhqM3dpelQzeFE4cXdHbFZQRDUrcytL?= =?utf-8?B?NExqVy8yV081TGV3bEFBUEtncjRJeEIrbnpKQ1NaMUpsVVhEd2xvcDQ1Y0I0?= =?utf-8?B?akhqSytTMm5MZkdqYkJSWitmVS84Nzd4RGwrYW1IQnRzdG43Vm1tS1V1SVJu?= =?utf-8?B?K0pRZHNZWXNvVEFDR2NKTkxZcHcvVjlsR0lTNFNnbjEwNW9QelF1dnF4Y2NO?= =?utf-8?B?QkZpeUlNMEhLOGRYckRZdGxxbXFJbFp0VWlUS0Q0ZjBGRFlHRkZJdWZBOW9D?= =?utf-8?B?clBIZkRsTnAzMWpuY0VZeEhoaHl3NDc0b2c2NDhkRnBuR2FxSnVsK1h6Yyts?= =?utf-8?B?MTRxMk1pSkpuR3FiajBSUTEyb0tRNTZvNTRVWWJhTHFSN1E3NjdPNkMrcC8y?= =?utf-8?B?U0NvK1ZodElobEhjdW50TFJQWFZadkdVSzRndmRPbm53ZFpuU3NudWV4bDc0?= =?utf-8?B?dVV2STZLeTFwVmlCQU5Ma0Rsc0tadUE1dGRINDBMb0lWZ2lSUmc1amdCamlX?= =?utf-8?B?NGFDa1lXMUFFTG44WjVPNm1yNzNIemhkOWM4Z3RIMW9DUGZUMm9DRDkyd0Vn?= =?utf-8?B?WksyVTNjSnBVUU81OUNOMDdhK3VLMzZlVWY2VlNJNUpqbmlTSDY1a2xjT2RU?= =?utf-8?B?NzZFVUVxZ1kvdGt2M2pScEtWZUtFZTcyTGFUUndVYmxVTGhuVE5LSnQ4NE9n?= =?utf-8?B?ZEsvREcyUXZkcXpwcGhXZmdaalRwL0t1YlpiU2lpNisycVdWeUN4VkQ1UUZp?= =?utf-8?B?MWxxV0lTaHh0OWNlaHkyVWhEL0RrQis0U2U0WHhhUlg1SDlSMDlyanhML0J0?= =?utf-8?B?OGZHRm4zcGFkaUpmZFJLdDVmeHZKRjQrNjlid3V2Ny9QMmpyd1BiZGM5REMx?= =?utf-8?Q?g0YfQLaV?= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-AuthSource: AM0PR10MB2708.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2021 12:03:21.2293 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 38ae3bcd-9579-4fd4-adda-b42e1495d55a X-MS-Exchange-CrossTenant-Network-Message-Id: d97fc3d6-6aed-4a29-eb8e-08d8b6f20e68 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: gTUz7h5o3qaFaMd+Tv4LPeB+uHkfyZ8lgiJFHZ3/wm0jz9zeU+aqh+KSMdl0tW/nDvtHjkUsDCIwasxz0uIsrtl8/dMXj6m5dgWh7jDfO0YaOQluGAakirsgK0AsOWht X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR10MB4291 X-TUID: uSdm0juD2lnC On 12/01/2021 12:40, Henning Schild wrote: > Am Tue, 12 Jan 2021 11:33:38 +0100 > schrieb "[ext] Silvano Cirujano Cuesta" > : > >> Signed-off-by: Silvano Cirujano Cuesta >> --- >> doc/user_manual.md | 70 >> ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 >> insertions(+) >> >> diff --git a/doc/user_manual.md b/doc/user_manual.md >> index a4f3d1d..ff779b1 100644 >> --- a/doc/user_manual.md >> +++ b/doc/user_manual.md >> @@ -834,6 +834,76 @@ ii crossbuild-essential-armhf 12.3 >> all Inf ~# >> ``` >> >> +## Create a "containerized" ISAR SDK root filesystem >> + >> +### Motivation >> + >> +Distributing and using the SDK root filesystem created following the >> instructions in "[Create an ISAR SDK root >> filesystem](#create-an-isar-sdk-root-filesystem)" becomes easier >> using container images (at least for those using containers anyway) >> +A "containerized" SDK adds to those advantages of a normal SDK root >> filesystem the comfort of container images. + +### Approach + +Create >> container image with SDK root filesystem with installed >> cross-toolchain for target architecture and ability to install >> already prebuilt target binary artifacts. +Developer: >> + - runs a container based on the resulting container image mounting >> the source code to be built, >> + - develops applications for target platform on the container and >> + - leaves the container getting the results on the mounted directory. >> + >> +### Solution >> + >> +User specifies the variable `SDK_FORMAT` providing a space-separated >> list of SDK formats to generate. +Supported formats are: >> + - `tar`: is the default, is the non-containerized format that >> results from following the instructions in "[Create an ISAR SDK root >> filesystem](#create-an-isar-sdk-root-filesystem)" >> + - `docker-archive`: an archive containing a Docker image that can >> be imported with [`docker >> import`](https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.docker.com%2Fengine%2Freference%2Fcommandline%2Fimport%2F&data=04%7C01%7Csilvano.cirujano-cuesta%40siemens.com%7C6d633ba6640c4aead4d708d8b6eed929%7C38ae3bcd95794fd4addab42e1495d55a%7C1%7C0%7C637460484244549509%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=7IUAPBdmVGffqPs08B%2BaU%2FGzX7PWi4ABLxOJ70KjrAg%3D&reserved=0) >> + - `docker-daemon`: (not supported from inside of a container) >> resulting container image is made available on the local Docker Daemon >> + - `containers-storage`: (not supported from inside of a container) >> resulting container image is made available to tools using >> containers/storage back-end (e.g. Podman, CRIO, buildah,...) >> + - `oci-archive`: an archive containing an OCI image, mostly for >> archiving as seed for any of the above formats + > Maybe a script to postprocess the one tarball we have would be a better > option. I do not understand why skopeo can not be used inside docker or > podman, but we _really_ should not motivate anyone to run isar plain. > Otherwise i agree that a bitbake task is a good idea and much better > than postprocessing outside of the build system. What do you mean by post-processing? I mean, a Docker image is nothing else but a couple of JSON and TAR files using a fixed file tree structure, with SHAs... But anyway writing something that does it is like reinventing the wheel, that's what tools like Umoci, Skopeo,... are for. My first PoC was in fact just a shell script post-processing the TAR file. Technically feasible, but it doesn't feel like a comfortable workflow... The initial idea was from Jan Kiszka (I forgot to add a "Suggested-by" to the commits) and after some discussion about the convenience of integrating it, I agreed that the workflow feels much better this way. Skopeo can be used inside of Docker or Podman, it's in fact what I'm doing. What doesn't work is adding the container image to a Docker Daemon (unless you pass the Docker socket to the container, what I wouldn't do) or containers/storage system (mounting the storage directory, what I wouldn't do). IMO the target users should know how to handle docker-archives (I can add that "docker load" has to be used).   Silvano > > Henning > >> +User manually triggers creation of SDK formats for his target >> platform by launching the task `do_populate_sdk` for target image, >> f.e. +`bitbake -c do_populate_sdk >> mc:${MACHINE}-${DISTRO}:isar-image-base`. +Packages that should be >> additionally installed into the SDK can be appended to >> `SDK_PREINSTALL` (external repositories) and `SDK_INSTALL` >> (self-built). + +The resulting SDK formats are archived into >> `tmp/deploy/images/${MACHINE}/sdk-${DISTRO}-${DISTRO_ARCH}-${sdk_format}.tar.xz` >> (being `sdk_format` each one of the formats specified in >> `SDK_FORMATS`). +The SDK container directory `/isar-apt` contains a >> copy of isar-apt repo with locally prebuilt target debian packages >> (for ). +One may get into an SDK container and install >> required target packages with the help of `apt-get install >> :` command. +The directory with the source >> code to develop on should be mounted on the container (with `--volume >> :`) to be able to edit files in >> the host with an IDE and build in the container. + +### Example + >> + - Make the SDK formats to generate available to the task >> + >> +For one-shot builds (use `local.conf` otherwise): >> + >> +``` >> +export BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE SDK_FORMATS" >> +export SDK_FORMATS="docker-archive" >> +``` >> + >> + - Trigger creation of SDK root filesystem >> + >> +``` >> +bitbake -c do_populate_sdk mc:qemuarm-buster:isar-image-base >> +``` >> + >> + - Load the SDK container image into the Docker Daemon >> + >> +``` >> +xzcat >> build/tmp/deploy/images/qemuarm/sdk-debian-buster-armhf-docker-archive.tar.xz >> | docker load +``` + >> + - Run a container using the SDK container image (following commands >> starting with `#~:` are to be run in the container) + >> +``` >> +docker run --rm -ti --volume "$(pwd):/build" >> isar-sdk-buster-armhf:latest +``` >> + >> + - Check that cross toolchains are installed >> + >> +``` >> +:~# dpkg -l | grep crossbuild-essential-armhf >> +ii crossbuild-essential-armhf 12.3 all >> Informational list of cross-build-essential packages +``` >> + >> ## Creation of local apt repo caching upstream Debian packages >> >> ### Motivation -- Siemens AG, T RDA IOT Corporate Competence Center Embedded Linux