From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7163980406052618240 X-Received: by 2002:a05:600c:35cd:b0:3eb:8ac:eeab with SMTP id r13-20020a05600c35cd00b003eb08aceeabmr7110854wmq.0.1679040401766; Fri, 17 Mar 2023 01:06:41 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:600c:1c1e:b0:3ed:7a82:9533 with SMTP id j30-20020a05600c1c1e00b003ed7a829533ls821092wms.1.-pod-control-gmail; Fri, 17 Mar 2023 01:06:40 -0700 (PDT) X-Google-Smtp-Source: AK7set/57HS903cRbJ6MdbW1Q5I8XIPCE6L64XRvizYob6tE+kewXjUVICAiJZCMe4h5vUc0Yjhk X-Received: by 2002:a05:600c:19cf:b0:3eb:3cc9:9f85 with SMTP id u15-20020a05600c19cf00b003eb3cc99f85mr25602173wmq.26.1679040399922; Fri, 17 Mar 2023 01:06:39 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1679040399; cv=pass; d=google.com; s=arc-20160816; b=H3ih7tsb/cCgqBTE6NzFzuBE057+jIxh5Y7fQmv77vm7S36HyzN/A5hL23uQ1VPpKZ xB7c3rwMjfDto0icGYvARHbsQJuBW2NDCqIp2JHz7Jw0QqSTqYYksximmhkUUhxcFok+ hOzGremCLlcDSwZQZpTdQUlDDn5KT9hOOpNQQaLrolgTHPX8TG8s6kQV4bfu4+D6k9mG N/nrZw0GO/Be/619VdoUPRlTB6+KZRG6IJRosycvv1eQj1YVzDEUkit10sD95aSNAX2u drb0p/CBE84FqrJtSLgv9BkZa0W5s06/LCp+l5KCBXolkjA/suKIpKPnqIlkyWI8MYH1 CGyw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:content-transfer-encoding:in-reply-to:from:references :cc:to:content-language:subject:user-agent:date:message-id :dkim-signature; bh=9TtfFk8I4IpEDx8rt8Pfnk5qW6zy2IWiUVprmrrDZ18=; b=NyTLKW1FwpKLshQDZelbcAC1kolkJNUTJOtPA3dWLo+dYUEbLmQHzCVq2bqlq167Gx 50odQrD0T9L/3RVrO23o1w0pVJDDDJLn2hmkw14rFndambGSkCXfVv0RBPO668EGiG0+ xHKdidls2B/1MuZxOpx51cBxvTOkao/Xf+AnKx6C/BNd5DJNvJOXejBiLGfadN/Jztuz 0GXKbac64kL5onxbUtqy4A7GAXtdWlbGXg5Fe4UqZKS2F4JrTtErF0LO0kltLK1XBmgZ Cqj8jOdLimdIKW9Fg5oJNHo81Z/mdPwCisVurazKCMQwn2XPea1qGp4j6stAkSu+PQH0 wmCg== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=JDBXSgCq; 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 jan.kiszka@siemens.com designates 2a01:111:f400:fe12::604 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02on20604.outbound.protection.outlook.com. [2a01:111:f400:fe12::604]) by gmr-mx.google.com with ESMTPS id az35-20020a05600c602300b003ed2382d2fesi383049wmb.1.2023.03.17.01.06.39 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 17 Mar 2023 01:06:39 -0700 (PDT) Received-SPF: pass (google.com: domain of jan.kiszka@siemens.com designates 2a01:111:f400:fe12::604 as permitted sender) client-ip=2a01:111:f400:fe12::604; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=JDBXSgCq; 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 jan.kiszka@siemens.com designates 2a01:111:f400:fe12::604 as permitted sender) smtp.mailfrom=jan.kiszka@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=fQRsqW97fy+n1u1qHPMXyLcOonIiCeSaSflO8fUqJLB0GqExGj8c7d5f/HYNKHqI5zkr/pDlxEOOZ4K9Ngs8Larq2BQSwsnmpOUeBh6R4cJv7J2kFLo0f4t7qw+O94kPWG4o1S46UVHqOxokN85ksXhPOmJrFsgIAN+ED0LqiHaLCh7SlPiIwtvKZ2OxMMs+g8o/lLeKDi2rJazRT2DLMMqneSX36mH5bgPXE3rvvaum6pP48q+Ob2W2M4OXyu10l8SipkB1ukWvcSKBjMQx55JzWLTieB5snlTWduNlIcqwnunP9JAvlxUp3Fke7hKJ5bPHMsufpDAlRpPwV5FGXQ== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=9TtfFk8I4IpEDx8rt8Pfnk5qW6zy2IWiUVprmrrDZ18=; b=F8VIEvLoSL0a0qiz/kbDjaZS/bKjq61KLwFv2AdMvv4wcIMlaFN9mPGY976ysObTeF//9wSt9UlpeTEuRTAhi21R9b42BD48wAQHDyJgYJM4KWEGT1cxHQV6R0efqnCJlM9q6BvuY0sPZAUmSxcRKh5RVCjSPpznkODNDhVZxGjCMEayqeZkigekzoCvrDmp2nycqetjnYjcKXKCXDt30UVQky8KYQiNZKgwat0FznqaMsIghQhlty66B7SzVllSmX/6IKIHtPserGteD2bN4QRePTJ2C4sT8TYKQKyYR7L69XBDg3fq4QGrTvvV/0/qANrEwpK7v0Ap9PPNUxCCPA== 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.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9TtfFk8I4IpEDx8rt8Pfnk5qW6zy2IWiUVprmrrDZ18=; b=JDBXSgCqByEWJZTK+8R0qUS++TZpZvJh5mrCnKAfTXC68mTv/vrx2YeUCfMjGMf1iXyAPc1G+r8wRdfmgkQkPf6bE2hHNXlSNO+yDU1yYTfJMRA1hoeXwq+FTU/hl/XQQ0xBQ2V/fZg09AgItMIl4siv4xLZ8v4j1S8/YWGRmN90OIWCX+LngUsk4zFsKgUM508D4Z6Uyq8QXbuanyLp+xPON6DeFX74GDY5fpmAMBolWHA32L3YS/fqbBgnPLBrMqTSEyGU1XdPMCdqHyeKqbH2dneW/mHaeVDHQ4MC4wwHvCoIgQ5K1oOOMhHxehAK+2mPLjEX93Lz0KyefrNXiA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=siemens.com; Received: from AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:588::19) by DB8PR10MB3291.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:11a::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Fri, 17 Mar 2023 08:06:38 +0000 Received: from AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM ([fe80::d4b2:77cc:31cd:a3a2]) by AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM ([fe80::d4b2:77cc:31cd:a3a2%9]) with mapi id 15.20.6178.026; Fri, 17 Mar 2023 08:06:37 +0000 Message-ID: Date: Fri, 17 Mar 2023 09:06:35 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 Subject: Re: [PATCH v2 0/5] linux-custom: Split up binaries from kernel headers to kbuild packages Content-Language: en-US To: Uladzimir Bely , "isar-users@googlegroups.com" , "Koch, Stefan" Cc: "Storm, Christian" , "Adler, Michael" , "Sudler, Simon" References: <20221220170921.1718503-1-stefan-koch@siemens.com> <25843489.1r3eYUQgxm@hp> From: Jan Kiszka In-Reply-To: <25843489.1r3eYUQgxm@hp> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR3P281CA0145.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:95::8) To AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:588::19) Return-Path: jan.kiszka@siemens.com MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS4PR10MB6181:EE_|DB8PR10MB3291:EE_ X-MS-Office365-Filtering-Correlation-Id: e9dcf7da-54a6-4b5e-88a9-08db26be884f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: gCyXkDU+YL0bxaBc1hUxZCc3iZQQ9WWibfXj3s9bnqYhCJFQ3tTsh+PHFh4XEYuobwR/ftoi30wJhJJJlCviT1ujqxbEuGwl5Q7v8OjPlNBKZeRS5CY8s25CoDb8PEaJ8dKNIdNIIMe06skYHOwbrkcuTmp9EmT/PKp8vojT2AygZ+YxMxW/oHKWL5lVr59N+HWrgUUVMHxkOV6VD5G+cQ7Fc95aAZUTfincWq1wpk/Ypougf9qRfdI/pYotmC0/G79yEU67VnakBMqL9c4lAkcYXUhTqrWgjXHgOQLfQ7TnzYBYqjf/U5GLJRB/Mb5k3uswg10CsA2BunrfrxkLTjiDqKS03jYGoJ9ROC6pTbC/+kvtXrB2IYoQo1lnEe+632pA7YMgvEyR2of9D5poXhIE5WvyNm2iMQlSKQ2WzZmT6XG+mXuwK01kwNhXWyT1Q6YknY08UgjRW1g7U+wNMHXU46BOd7TtXsft9gnEnSmoONX3HUQzJ1jLxeRfichUg9lqcRALyh+RWFSOLzoUbV2yNLHIMhLeL6p+1cCmKbhy6dcwgB3y1tr7eFe/G67a96NGRQkR2U40o9FPYryT+QfrUFeC3HDsotPr2+oZVPplmrsQomkPNKzlG6pBLbT5TgYi+Kzhh+wTEJ3EA91+vo4CrGpd1W7CdRvgIxUsZatNSMd1ho7YfLxvXRSEBPtLt0gcZlnHNpRodVAELqeATORtf+0IPRI0fwSF70OuR74= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(346002)(366004)(396003)(136003)(376002)(451199018)(26005)(6506007)(31686004)(31696002)(6512007)(38100700002)(107886003)(86362001)(66946007)(8676002)(6636002)(4326008)(41300700001)(316002)(6486002)(44832011)(2906002)(53546011)(8936002)(54906003)(478600001)(110136005)(36756003)(5660300002)(83380400001)(66556008)(66476007)(186003)(82960400001)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dnR6VlgyY2NXdmpYaFdhUUc2VDZ1K0JET2hrQXNFeXBnTkF0U1AyODltQ08r?= =?utf-8?B?aWtidzkveFZWYi8wQVVydGVlOWgvMjY5YlpHOVl6aTY2ajhLUU9oajNuVFN1?= =?utf-8?B?QmNPSkZqd1FUeXhBMCthT08razBqcTJ6OHBuTWRCcHpKQVhsN2E1aTY1WUtQ?= =?utf-8?B?NUh2Q3ZqbmZncU1URlVxQUNNbjhMYzA3MUg5Q1B2aktaRWlUUDl0WFowamFV?= =?utf-8?B?YzNIZkZLMVVmdTMraHdDZ1JlV01JVGhRWE5Tb2orRXY5eFFJcC9zRytmNHgr?= =?utf-8?B?TXcvQ0o4L2U0VUY0TzJScjFFSm45Ky9DaGplSDNCakFhT2IzaUdTV1pCY1hv?= =?utf-8?B?ZmsrM1hadlZxeDI5RkhQanI1Z2JHalRYcWRXb0N2V0dLK2NtN3doVG14MUhB?= =?utf-8?B?N2k0OUJZbkExcE1ZdzhFVTYvZ3M5ZmxDQVdaaE8zRUJralZVQlBING41ZGJh?= =?utf-8?B?QzFtL0dsS3g3ZVBSN2R6T2dxMWwwVHo0NE9oM2NWNm9mS2lvRFkxSmxGNU5p?= =?utf-8?B?TktvSnZ1VXVSMEVFMTRpUTBXZFZGU0UrYkZUT2l2eHFZSkJqeHpSQjFtZzRT?= =?utf-8?B?U1BCRExoSUc3YVJiZ1FScnI4d1I1RGRyU0pBeTZmdnNGSUxUL21FNkx0cFZW?= =?utf-8?B?NEVxYm05SktGWTl3NjM5Uzd5WHQrQ1RnNTU3Y2laRzlpR0ZNZjFRK2R1V3A5?= =?utf-8?B?ZWVnbTUrVmltdlJtQ3psVG1xRGVERUFRZmlNTHNoY2Y3ZngwTmFGQ3F1NGZ0?= =?utf-8?B?NHpzdG96WE5LbStwNmNLTkNqbk9obkpxZTFpM0lEUk9BZUliNmpQamtrVU9y?= =?utf-8?B?S3FZdlY0ckhVc05LY0cxWkpxQnVPSjlNODY1S2huZW5qV2dPbDJXT1JNclhj?= =?utf-8?B?QzZYT0hpZXk4MTh4TExYc21CNGcyMEg2dkFpdFFlRjlZbjR2L1JEWVB1a2pu?= =?utf-8?B?T0JRSUVOY3U5OG1tSUJiZmE1M2tHbEtxTDNCKzUwa2gvV3Zla1k3b3ppQ2ZN?= =?utf-8?B?TStldGFLcUlTdldTRytiN1dIL2hFeDlaUlR0QWpuN2pSa0ZHMEZvSXEyanc0?= =?utf-8?B?bTFkdC9rK1d5SWhhKzlnWVBhTGZ4NkcrbUNrdFFIWG9TOC9qeUp3dzMxTzcr?= =?utf-8?B?LzBhdEpLcWw4L2o0UzU3Njg5d2RnNEVyWTVoWXUzU0h5aE5aNEExZDNiSFJ6?= =?utf-8?B?MG1RWEtnVitkb3U2R2hQWU5hSGgvQUx2NytrUDhjcTRWNmZqaUt1YzhUVzFG?= =?utf-8?B?OE9DOFRqaG9lZlN5L0twUmFQV3gzNjdvM0t0N01IRytrb01aYlVRbm9XelFN?= =?utf-8?B?YXY3c3JaL1Z6VTRRdnJERVR4MHpHdmdVbm9XMzhHd2NLOU1rQW95U3hxTmd4?= =?utf-8?B?V3BMRFZOUWZsOFUrSUVrWS9jd3ZJR0VvUWZTSHdLNXA0VXhwWCtZM0M3eVlh?= =?utf-8?B?c0Q1cXBWMjhiVVJMUHZBenFkWGtxUjUyTWRLQnl4TndRZHlaWkhyVjBTc3V3?= =?utf-8?B?elNjYWdEbjZkWndLdzFqWTlWUkVRUUw4Tklkd1JzWU0wRlViUEN2d3hjaklw?= =?utf-8?B?ZjBGV01mQU8xR2wxeElET2hTUzllcjlRbE1mdVVkOVM0T3B6M21IcmRNYXR0?= =?utf-8?B?RDhWTmhCQmFSV0hWNG5HeURDOE9DRXdobHBoYXFVUEpGeVhoMUQ2bU1MS21i?= =?utf-8?B?TFJHcW5JK1FIMUJPR1BPTWt5amxIWEJoN0tvc2FreXk2US85WHZtSU8wOXFT?= =?utf-8?B?WFlHblkwTEsvRGxWd0tRZnF1TFNyNmpQeit1YmhRdjJMTEJ3RzgxbFgySmJh?= =?utf-8?B?MDBwQldaNmNsY0k0QUwyN2M1NjV4L2JLVmxxT0F6NmFBek5pQVBueVlpQ0pq?= =?utf-8?B?T0EwODZ2ejU1N0RpaFJqamxnbDhCM1J2S2ptOHlmdWRSZm90eHQwek5WVUVt?= =?utf-8?B?QnVEUGY3SFlqblVCMVZkVE40Z1Z5RVJIL0dDUVBVTlZFcVEvM0NIOGdTd1lV?= =?utf-8?B?T1hhc0Vvc1J6VzJSQloxQmROek5oSGNGeUxzYnVReVZiUDFZa21GN3IvSUJL?= =?utf-8?B?QXp6NjNscWhhVnFBNUpWWUg1dkZQRjNURWNHbVBnUE9kZTEydXdlNlNpLzQ1?= =?utf-8?B?R3RidjJPUDJOazhvNU1nZm4zV1pzNnJEdU84NzByQ0UvdUxiK216bjJVcWFE?= =?utf-8?B?VVE9PQ==?= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: e9dcf7da-54a6-4b5e-88a9-08db26be884f X-MS-Exchange-CrossTenant-AuthSource: AS4PR10MB6181.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2023 08:06:37.6862 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 38ae3bcd-9579-4fd4-adda-b42e1495d55a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: gjvVMUKTZ4rmOvgS9HM0lFfGIoJjCqNvDpSof87m86iBLsSWKNg8CL1Iwpj1YDuU64LDRU1OjnKBhaJ4HFashA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR10MB3291 X-TUID: w8mFFzgk97kg On 17.03.23 08:41, Uladzimir Bely wrote: > In mail from Tuesday, 20 December 2022 20:09:27 +03 user Koch, Stefan wrote: >> Hi >> >> This updated v2 patchset implement suggestions from reviewed v1 patchset. >> It's now a set of five patches: >> - linux-custom: Split up binaries from kernel headers to kbuild package >> - sbuild: Support overwriting configured schroot dir >> - dpkg: Add support for additional target and host builds >> - linux-custom: Provide host and target specific kernel kbuild packages >> - docs: Update custom_kernel docs for split up of kernel scripts and tools >> >> The main use-case was to swap out the binaries >> from the kernel headers into kernel kbuild package. >> This is introduced by the first commit >> "Split up binaries from kernel headers to kbuild package" >> >> The fourth commit "Provide host and target specific kernel kbuild packages" >> introduces that the binaries could be swapped out into host and target >> specific kernel kbuild packages. >> >> The main development goals were these: >> >> 1. Solve already known isar custom kernel >> limitations from doc/custom_kernel.inc >> - kernel headers package does not support both native >> and cross compilation of kernel modules when cross built >> >> 2. Honor recommendations for future from doc/custom_kernel.inc >> - Generate kernel headers packages for both host and target >> when using cross build >> >> 3. Add extensions known from debian kernel packages structure >> - Generate a kernel headers package without binaries >> - Create specific kernel kbuild packages that >> will ship the "scripts" and "tools" binaries >> - Use symlinks to point to the "scripts" and "tools" binaries >> >> 4. Be user friendly >> - Avoid usage of separate kbuild bitbake recipe that may enforce >> redundant configuration of kernel source definitions with user >> actions to enable kbuild package generation >> - Use already known way to include linux-custom.inc in just one >> own bitbake recipe that provides the kernel source definitions >> - Keep known user behavior for existing build configurations: just update >> isar, append "target" (and "host") to ISAR_BUILDS and kbuild packages for >> target and host will be created automatically >> >> Best regards >> >> Stefan >> >> Stefan Koch (5): >> linux-custom: Split up binaries from kernel headers to kbuild package >> sbuild: Support overwriting configured schroot dir >> dpkg: Add support for additional target and host builds >> linux-custom: Provide host and target specific kernel kbuild packages >> docs: Update custom_kernel docs for split up of kernel scripts and >> tools >> >> doc/custom_kernel.md | 20 +++-- >> meta/classes/dpkg-base.bbclass | 51 +++++++++++-- >> meta/classes/dpkg.bbclass | 2 +- >> meta/classes/sbuild.bbclass | 9 ++- >> .../linux/files/debian/control.tmpl | 25 ++++++- >> .../linux/files/debian/isar/build.tmpl | 13 +++- >> .../linux/files/debian/isar/common.tmpl | 14 +++- >> .../linux/files/debian/isar/configure.tmpl | 13 +++- >> .../linux/files/debian/isar/install.tmpl | 73 ++++++++++++++----- >> .../linux/files/debian/rules.tmpl | 2 +- >> meta/recipes-kernel/linux/linux-custom.inc | 51 ++++++++++--- >> 11 files changed, 219 insertions(+), 54 deletions(-) > > I've recently went on testing the patchset in CI. > > - For now, on updated 'next' it at least requires some trivial changes fixups > caused by merged "getVar(var, True) => getVar(var)" reduction. I could prepare > v3 on my own or wait for new version on maillist. > > - Also, we now have multiarch support patchset merged to `next` (and that is > the main reason of long non-merging this kbuild patchset). So, even if the > patch in its current state works, it probably could reuse new approach (e.g. > -compat or -native). > Yes, patch 1 seems likely to stay (looked good when scanned it back then, but I can have a closer look now), the rest needs to be reworked according to what I outlined back then. So, don't merge this series. Jan -- Siemens AG, Technology Competence Center Embedded Linux