X-Original-To: alpine-devel@lists.alpinelinux.org Delivered-To: alpine-devel@mail.alpinelinux.org Received: from mail-lb0-f173.google.com (mail-lb0-f173.google.com [209.85.217.173]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mail.alpinelinux.org (Postfix) with ESMTPS id EEC6ADC03D8 for ; Fri, 18 Oct 2013 05:06:16 +0000 (UTC) Received: by mail-lb0-f173.google.com with SMTP id o14so2972068lbi.32 for ; Fri, 18 Oct 2013 03:16:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:date:from:to:cc:subject:message-id:in-reply-to:references :mime-version:content-type:content-transfer-encoding; bh=tBDxqBcJBr0gWdUWvCHcl5LsVn0xF+fm8Mu4hVjFtTU=; b=ojf2h3yqIwpsbi7EY2Ut7uUcaVsPuGg/l2VbXK3uqraI5mwHMN3xBXoTwpb/v+rkDu zI/hy2IOLTgrg3xTLoWuP8YbL4/TkTTuk31vMRzbAucDyOhKhdyfsk6bOGlyZDlv8Uxj BJ+1lSDLSmAjk61ZH8HoHR1G3bSB9LFsUwImfh+H5HOdtMDHVDV8JzDfIKrim6E8TCKR 9Fjy/hVCUeGzxIfjCO2RKKUCh5cIAxnYSEwy32p1rEll62m7fr8P+qsKFirAW501xeZN sZLKBVw4ql1TGkad39KPK3JkZfd5tAt0IQDUDfwgODDopEBeDzT/h8TxG7UdieC1/jgm VlFQ== X-Received: by 10.112.234.168 with SMTP id uf8mr912996lbc.35.1382091379476; Fri, 18 Oct 2013 03:16:19 -0700 (PDT) Received: from vostro ([83.145.235.199]) by mx.google.com with ESMTPSA id ao4sm912111lac.1.2013.10.18.03.16.19 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 18 Oct 2013 03:16:19 -0700 (PDT) Sender: =?UTF-8?Q?Timo_Ter=C3=A4s?= Date: Fri, 18 Oct 2013 13:16:15 +0300 From: Timo Teras To: "Leslie P. Polzer | PORT ZERO" Cc: alpine-devel@lists.alpinelinux.org Subject: Re: [alpine-devel] musl and ARM in 2.7 (and an introduction) Message-ID: <20131018131615.5286bb75@vostro> In-Reply-To: <5260F6C9.9000505@port-zero.com> References: <5260F6C9.9000505@port-zero.com> X-Mailer: Claws Mail 3.9.2 (GTK+ 2.24.20; i686-pc-linux-gnu) X-Mailinglist: alpine-devel Precedence: list List-Id: Alpine Development List-Unsubscribe: List-Post: List-Help: List-Subscribe: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Fri, 18 Oct 2013 10:52:25 +0200 "Leslie P. Polzer | PORT ZERO" wrote: > I'm new to Alpine. I've been around GNU/Linux for about 15 years > now as user and developer. During this time I have been working > on various open source projects and have been a community contributor > to Linux From Scratch and ArchLinux. Nice. Welcome! > First let me say that you've done an incredible job! I especially > like the package management system, but there's many more excellent > features that I wouldn't really know where to start. :) Thanks :) > I've come to understand that Alpine 2.7 will be the first version > to feature an ARM port, based on musl as libc. Timo Ter=C3=A4s' efforts > in the past weeks (as per Redmine) also show this. Is this official? Yes, I am currently doing ARM port. It is undecided if we want to do a release of it, since it's quite experimental at this point. > In that case I would like to ask why musl is being used. It certainly > is a great alternative to uclibc, but it appears that the ARM port > is linked to it. I'm seeking to understand the reasoning behind this. musl is a lot cleaner, smaller faster and more standards compliant in many cases. It is also easier to bootstrap to new targets compared to uclibc/glibc. Though, uclibc is likely more glibc compatible. We have also quite some uclibc specific bugs open that are not fixable without doing invasive uclibc patching. E.g. openjdk7 will not run on standard uclibc. You can also note that we carry about 40 patches to uclibc already because it is not maintained as well as glibc/musl. We also have had to fix ourselves numerous bugs in it, and many of them have been upstreamed. In the long run we are currently planning to drop uclibc, and replace it with musl in the primary builds for Alpine 3.0. In case we do not get everything done for next release date, we might still do Alpine 2.8 based on uclibc. > Also, is there an established way already of building Alpine based > on musl and/or cross-compiling for ARM? It doesn't seem to be a big > deal, but I'd like to know the efforts that have already been put > into this so I'm not duplicating any work. We've patched aports so that a minimal bootstrap system can be cross compiled. All changes are in git already. And some minor notes + links to the scripts I used to bootstrap musl builders are at my wiki wall: http://wiki.alpinelinux.org/wiki/User:Fabled Currently, about 85-90% of edge/main are built against musl for x86 and armhf (armv6+vfp target in toolchain). x86_64 is not done yet, but I expect to do it soon. The remaining 10% of main and testing aports probably need some patching to build. The repository for these binary packages is at: http://nl.alpinelinux.org/alpine/edge-musl/main/ http://nl.alpinelinux.org/alpine/edge-musl/testing/ They are updated sporadically (not synchronized to git like the primary uclibc builds). x86 musl build does not have any boot images, but you can do chroot apk install of it. For armhf we don't really support any boards yet. But for testing, I've created a Raspberry Pi image. It's available at: http://dev.alpinelinux.org/~tteras/alpine-edge-131010-armhf.rpi.tar.gz I also have Wandboard Quad images but those I have not yet published. I use Wandboard Quad to native compile the arm binaries. - Timo --- Unsubscribe: alpine-devel+unsubscribe@lists.alpinelinux.org Help: alpine-devel+help@lists.alpinelinux.org ---