Received: (at 37286) by debbugs.gnu.org; 3 Sep 2019 08:57:25 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Sep 03 04:57:25 2019 Received: from localhost ([127.0.0.1]:59301 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1i54cv-0001n4-0U for submit <at> debbugs.gnu.org; Tue, 03 Sep 2019 04:57:25 -0400 Received: from dd26836.kasserver.com ([85.13.145.193]:55062) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <dannym@HIDDEN>) id 1i54cr-0001mu-6U for 37286 <at> debbugs.gnu.org; Tue, 03 Sep 2019 04:57:23 -0400 Received: from localhost (77.117.138.136.wireless.dyn.drei.com [77.117.138.136]) by dd26836.kasserver.com (Postfix) with ESMTPSA id BBB2E3363AC2; Tue, 3 Sep 2019 10:57:18 +0200 (CEST) Date: Tue, 3 Sep 2019 10:57:12 +0200 From: Danny Milosavljevic <dannym@HIDDEN> To: Jesse Gibbons <jgibbons2357@HIDDEN> Subject: Re: bug#37286: Make a faster method to list supported boards. Message-ID: <20190903105712.01aba383@HIDDEN> In-Reply-To: <ead0664fe5d2845cdaba96c8e06973baa5ab0492.camel@HIDDEN> References: <5f87e4c297b8e4fca0f9ceb0729f2176dec947bb.camel@HIDDEN> <20190902224904.57e41fa4@HIDDEN> <ead0664fe5d2845cdaba96c8e06973baa5ab0492.camel@HIDDEN> X-Mailer: Claws Mail 3.17.3 (GTK+ 2.24.32; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; boundary="Sig_/uvwDvp3FZw4G8tgidVXWjG2"; protocol="application/pgp-signature" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 37286 Cc: 37286 <at> debbugs.gnu.org, Christopher Baines <mail@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) --Sig_/uvwDvp3FZw4G8tgidVXWjG2 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Hi Jesse, On Mon, 02 Sep 2019 20:07:53 -0600 Jesse Gibbons <jgibbons2357@HIDDEN> wrote: > On Mon, 2019-09-02 at 22:49 +0200, Danny Milosavljevic wrote: > > Hi, > >=20 > > On Mon, 02 Sep 2019 12:52:49 -0600 > > Jesse Gibbons <jgibbons2357@HIDDEN> wrote: > > =20 > If the bootloader build fails, which appears necessary to generate the > list, doesn't the system build fail? Yes. > > It would be easy to get the list of supported u-boot targets from the > > derivation. It might be that Guix Data Service would help with that > > (see "More progress with the Guix Data Service" by Christopher > > Baines). =20 > That sounds like an interesting article, but my search engine of choice > doesn't know where it is. Would you mind providing a link please? https://lists.gnu.org/archive/html/guix-devel/2019-05/msg00332.html > The behavior described in the manual is implemented in the make-u-boot- > package function in gnu/packages/bootloaders.scm, in the replaced > 'configure phase. If it could be moved from that function to a script > (maybe guix system list-boards), that would be the best solution IMHO.=20 It can't because it's getting the list of supported boards from the u-boot derivation--which is not available host side. We could move it to guix/build/list-boards.scm but that won't help us much. I think what I did (now) in wip-buildroot branch is a good compromise, but it requires us to manually import buildroot configs from buildroot: $ guix import buildroot orangepi_zero_plus2_defconfig And then stick the resulting "bootloader" form into gnu/bootloader/u-boot.s= cm, which is also where we can get the list from. (i.e. have our own "packages" for the boards) > At this point, the fastest way to get the list would be "guix package > -e '((@ (gnu packages bootloaders) make-u-boot-package) "dneboard" > "arm-linux-gnueabihf")'" and view the end of the resulting log. I > tested this, and it takes a minute at most. It's still needlessly > complicated though -- the boards listed are not limited to the triplet. I know, it's not user-friendly yet. > How many of these can run on fully free software? I see > rpi{,2,3,3_32b,0_w} in the list, but last I checked, it has a blobby > bootloader. I don't know. > Where does guix get this list? Is it configured or automatically > generated? It's fetched from the u-boot source code, "configs" subdirectory. In wip-buildroot, it will be fetched from buildroot <https://buildroot.org/> instead, "configs" subdirectory. (The reason is that buildroot also contains data about how to install u-boot to the respective board, but u-boot doesn't) So the fact that on master it's fetched from u-boot right now is an implementation detail. --Sig_/uvwDvp3FZw4G8tgidVXWjG2 Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAl1uKugACgkQ5xo1VCww uqUZZwf/aC0IW77d/itq+mG+rl9gNn2ccSHmVJseBl/QB6l1Chgn7APQQJDAvGuK 0zo/ZZLYVEgz/y0Q+Hn7GQ/8isbEgjzvGXGuRSrZW6wartHn38A24YGSNqjT3i6K TTyL9EN8UNA21GFrgQ0Y0cT8jLTDhc3qa4q9f4zbbzWLi26009757GAblszElaFa HyR26CZvyd+q5VxNP6zc9HCZ1BZWDM8nPi9tKWLLZROE2bt8t+3Fp3xOmNcuBVyE gEg3Gs0S8w0hjyMzmayGXDbNIU1PPwrb0ElMF58R2wG/ZfzXtLPaTfKU9d8cEr1e 76DPpTa1XXlG7dKi7miMN7rMqFONWg== =UJdZ -----END PGP SIGNATURE----- --Sig_/uvwDvp3FZw4G8tgidVXWjG2--
bug-guix@HIDDEN
:bug#37286
; Package guix
.
Full text available.Received: (at 37286) by debbugs.gnu.org; 3 Sep 2019 03:28:18 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Sep 02 23:28:18 2019 Received: from localhost ([127.0.0.1]:59169 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1i4zUQ-0001y6-3g for submit <at> debbugs.gnu.org; Mon, 02 Sep 2019 23:28:18 -0400 Received: from mail-io1-f50.google.com ([209.85.166.50]:41600) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <caleb.ristvedt@HIDDEN>) id 1i4zUN-0001xs-PE for 37286 <at> debbugs.gnu.org; Mon, 02 Sep 2019 23:28:16 -0400 Received: by mail-io1-f50.google.com with SMTP id j5so32656078ioj.8 for <37286 <at> debbugs.gnu.org>; Mon, 02 Sep 2019 20:28:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cune-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=lUMQsHmDH7S4LNXQlpr7wjUp8lgVJDNbhVsLUysCkK8=; b=E/7cy8y5r4keWu3A0828KBOWrnK2NA8i0CJR35Ihk8GDa4XcqLhpHyXg16/xIj/jON FvPZhRJkydYAh+JfyA49mXxsaTG1DzeFik8M+JhwwJuxzxX65ifBvsYFrh3YBuxWeIAQ f95HP0KErV31aL3xmLmTlmW4NfFfho+Ix2nsb32tUVHNElhPVK7cMSqemc+Rpfef2CPL VXhSmZQCps2h/Gd52UZPcfRkaUer1v4yVhU628A7U2HuT7WJY1qj76RbmPBoJGMAc7Lr QS9pvUE+o2sttkiV3gJXE6wIV2NZKhsd7z5UnILndheXgG272b8v6Naya2fd76zGj8o3 7sVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=lUMQsHmDH7S4LNXQlpr7wjUp8lgVJDNbhVsLUysCkK8=; b=Sj7SweMaAxEJoRUdohhiFE1FnHCvkrQG9946w7Zxna6yszQHgBJ+iRtzHV4I3EvccS lDF6UBpeQKLe2+xzm8gdV2B013k+Wj//NIJJWUFQKpG6vb/k9cJU0NNgkyKImyOhb2CM qWNOqu5Qni0IF57SssPvVxOXaOw2K9dJhu3VpLx6Kts7LsjLbRWp4VrWdZk7DUlxfhqw yWWVqedcexeXBQB3XTD9/7cX2LFbv7ABM6kgSroTz8dnO0e8nhsTXn0IHvzuYTAd4J2a Mp4MwaqU8HdAONfg2wlZUjhvmesbxLw4XYFwb+K0WWDZLEiRKk4pjpKnYegKt9cUANA5 vBPQ== X-Gm-Message-State: APjAAAXTYrVJcFOU5qZkwr4Mq1Qik/ZOpW/nGZEpm3TMtDo/ICc/hors 6IuxasFdY27s08qKb3j1fq+Sl5F7XCEuRc+f X-Google-Smtp-Source: APXvYqwXOSbEfFhvvhw2TkMaK5fKWyjOXobUhgzvAgfnw/Z/OjH6XK2wX14UvbQDpA6YND38o6VoPQ== X-Received: by 2002:a5d:9bda:: with SMTP id d26mr24959881ion.88.1567481289909; Mon, 02 Sep 2019 20:28:09 -0700 (PDT) Received: from GuixPotato ([208.89.170.37]) by smtp.gmail.com with ESMTPSA id a6sm15485352ios.20.2019.09.02.20.28.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Sep 2019 20:28:09 -0700 (PDT) From: Caleb Ristvedt <caleb.ristvedt@HIDDEN> To: Jesse Gibbons <jgibbons2357@HIDDEN> Subject: Re: bug#37286: Make a faster method to list supported boards. References: <5f87e4c297b8e4fca0f9ceb0729f2176dec947bb.camel@HIDDEN> <20190902224904.57e41fa4@HIDDEN> <ead0664fe5d2845cdaba96c8e06973baa5ab0492.camel@HIDDEN> Date: Mon, 02 Sep 2019 22:28:06 -0500 In-Reply-To: <ead0664fe5d2845cdaba96c8e06973baa5ab0492.camel@HIDDEN> (Jesse Gibbons's message of "Mon, 02 Sep 2019 20:07:53 -0600") Message-ID: <875zma12k9.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 37286 Cc: 37286 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) > Where does guix get this list? Is it configured or automatically > generated? It's all the filenames suffixed with "_defconfig" in the "configs" subdirectory of the u-boot source, minus the suffix. - reepca
bug-guix@HIDDEN
:bug#37286
; Package guix
.
Full text available.Received: (at 37286) by debbugs.gnu.org; 3 Sep 2019 02:08:06 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Sep 02 22:08:06 2019 Received: from localhost ([127.0.0.1]:59125 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1i4yEm-0008Km-TM for submit <at> debbugs.gnu.org; Mon, 02 Sep 2019 22:08:05 -0400 Received: from mail-pg1-f182.google.com ([209.85.215.182]:34033) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <jgibbons2357@HIDDEN>) id 1i4yEk-0008KI-Nv for 37286 <at> debbugs.gnu.org; Mon, 02 Sep 2019 22:08:04 -0400 Received: by mail-pg1-f182.google.com with SMTP id n9so8241000pgc.1 for <37286 <at> debbugs.gnu.org>; Mon, 02 Sep 2019 19:08:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:subject:from:to:cc:in-reply-to:references:date :mime-version:content-transfer-encoding; bh=Kud4mazCehgYdLHiYSJmqjkkC4Os1d/wtBLqhpIosRI=; b=c5NX4hqJeFVp8MtU7qyHuEFYK2N8ipRozqnwf1/yrjjOrdRZmWPXPltSQraIGZlPL5 bqSRtn09SwwSNf1vc1WR0rwaJJdWzP3Hv8R4Iu3iUJlD2gFz/tiL/O7R/6LRWsttkt6N v98XMykzRKYHZQ9KUCnHtIyrQ0FOkURE002Y+BGUe+himsn6E46QcjLGHGK82sbUCF97 Q6iIy5eUQZ9E3cBDZYrU3VBqsvpnigat3gFU5NiiiJT0V2XJFt8UCx7vfyBYO4Hu0oux Pv+AlpEs0fEYLQnLZ5Syl2kP2TEUdoDqcivQcif3hzskTsFTQJupgeeBBJv+hgThAN5s Z/uQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:subject:from:to:cc:in-reply-to :references:date:mime-version:content-transfer-encoding; bh=Kud4mazCehgYdLHiYSJmqjkkC4Os1d/wtBLqhpIosRI=; b=RYk1Qc6+z9MOGquWza61gXs6NCc+wW2AOsQwSaiII9MNdpV9CLoWOkWabCAkHaHa4S OV1+rc/XermXfvEP3VIgzKVkNR5hRynreQ4BBrfKeKzfpxRTdN2jSJWk2ywlW9AKgPX9 hT3AfXnoYVP/Wi6qpFib4ynXR/bTK+z8BmG7gcwZAbHqpQzGXjv1YvY5LAfkfjiEZhAV TMtjx4iQjtN//31nywnsbe5qgzjLO3uokx6/mn/hdKryKxxtjIG2iS8mncoLJGZ/SyUW ipi+jXntAcxhDgUCz4lCm/y31bz/QOX3cObBwBekWBjBa1ANVgeDfqllMLR8KtxLFCuO 4lsA== X-Gm-Message-State: APjAAAVjCcjBw9iWEC01LPDm7gydUtcC1OOxLtA93RdEjEFMyeASFYsS ZOerP1Ta0aj30MPZ+YkwkakaNFNv X-Google-Smtp-Source: APXvYqwQeg2NPgfY/mVVLjM9ICMgq6OfxR01Hs1pF/ssd6hB0iTfwLRM1sLl1dp7jkf8OoxMSJWVFw== X-Received: by 2002:a62:7517:: with SMTP id q23mr4788866pfc.39.1567476476515; Mon, 02 Sep 2019 19:07:56 -0700 (PDT) Received: from piranhaplant.local ([199.68.53.171]) by smtp.googlemail.com with ESMTPSA id r23sm5616689pjo.22.2019.09.02.19.07.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Sep 2019 19:07:55 -0700 (PDT) Message-ID: <ead0664fe5d2845cdaba96c8e06973baa5ab0492.camel@HIDDEN> Subject: Re: bug#37286: Make a faster method to list supported boards. From: Jesse Gibbons <jgibbons2357@HIDDEN> To: Danny Milosavljevic <dannym@HIDDEN> In-Reply-To: <20190902224904.57e41fa4@HIDDEN> References: <5f87e4c297b8e4fca0f9ceb0729f2176dec947bb.camel@HIDDEN> <20190902224904.57e41fa4@HIDDEN> Content-Type: text/plain; charset="UTF-8" Date: Mon, 02 Sep 2019 20:07:53 -0600 Mime-Version: 1.0 X-Mailer: Evolution 3.28.1 Content-Transfer-Encoding: 7bit X-Spam-Score: 0.3 (/) X-Debbugs-Envelope-To: 37286 Cc: 37286 <at> debbugs.gnu.org, Christopher Baines <mail@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.7 (/) On Mon, 2019-09-02 at 22:49 +0200, Danny Milosavljevic wrote: > Hi, > > On Mon, 02 Sep 2019 12:52:49 -0600 > Jesse Gibbons <jgibbons2357@HIDDEN> wrote: > > > guix tries to build an entire system. It doesn't look like it > > checks if > > "dne-board" is a valid board until it is building the image. It > > takes > > hours to cross-compile the kernel, and even longer if the kernel > > needs > > to be deblobbed. > > Yes, that's true. > > For better or for worse, there are a LOT of different ARM boards. > > Back when I implemented that part I thought that when you want to > find out > whether your board is supported, there's a good chance that you want > to > install Guix anyway--so you need the system image anyway. If the bootloader build fails, which appears necessary to generate the list, doesn't the system build fail? > > If it turns out not to be supported you just uselessly built a lot of > stuff--but the substitute cache should have cached all that stuff > anyway. > > But for some reason the ARM build farm substitute cache has a very > bad hit > rate (I remember waiting MONTHS to finally get a "flash-image" > substitute > that I didn't build myself). It would be good to find out what's going on there. How many concurrent builds can the build farm handle? > > If we decided to do so, we could limit ourselves to just a few that > we > specially support--but that would make Guix System really a non- > universal > operating system. (with the current state of Guix ARM implementation > it is > anyway) Guix is a libre operating system. The fact that you need to carefully choose the hardware it can use means universal use is not officially supported. But if hardware is supported, I think we should be able to install guix onto it, and the users should be able to look up if it is supported. > > It would be easy to get the list of supported u-boot targets from the > derivation. It might be that Guix Data Service would help with that > (see "More progress with the Guix Data Service" by Christopher > Baines). That sounds like an interesting article, but my search engine of choice doesn't know where it is. Would you mind providing a link please? > > Or we can maintain a list in the package definition ourselves. The list would be most accurate if : - The user keeps the building install up-to-date. - We keep the list up-to-date. This solution is good as long as we are diligent to update the list when a new board is added. > > What do you think? The behavior described in the manual is implemented in the make-u-boot- package function in gnu/packages/bootloaders.scm, in the replaced 'configure phase. If it could be moved from that function to a script (maybe guix system list-boards), that would be the best solution IMHO. At this point, the fastest way to get the list would be "guix package -e '((@ (gnu packages bootloaders) make-u-boot-package) "dneboard" "arm-linux-gnueabihf")'" and view the end of the resulting log. I tested this, and it takes a minute at most. It's still needlessly complicated though -- the boards listed are not limited to the triplet. Here's what it gives me (it's very long): Invalid board name. Valid board names are:- 10m50 - 3c120 - A10-OLinuXino-Lime - A10s-OLinuXino-M - A13-OLinuXino - A13-OLinuXinoM - A20-Olimex-SOM-EVB - A20-Olimex-SOM204-EVB-eMMC - A20-Olimex-SOM204-EVB - A20-OLinuXino-Lime2-eMMC - A20-OLinuXino-Lime2 - A20-OLinuXino-Lime - A20-OLinuXino_MICRO-eMMC - A20-OLinuXino_MICRO - A33-OLinuXino - a64-olinuxino - adp-ae3xx - adp-ag101p - ae350_rv32 - ae350_rv64 - Ainol_AW1 - alt - am335x_baltos - am335x_boneblack_vboot - am335x_evm - am335x_hs_evm - am335x_hs_evm_uart - am335x_igep003x - am335x_pdu001 - am335x_shc - am335x_shc_ict - am335x_shc_netboot - am335x_shc_sdboot - am335x_sl50 - am3517_crane - am3517_evm - am43xx_evm - am43xx_evm_qspiboot - am43xx_evm_rtconly - am43xx_evm_usbhost_boot - am43xx_hs_evm - am57xx_evm - am57xx_hs_evm - am57xx_hs_evm_usb - am65x_evm_a53 - am65x_evm_r5 - amarula_a64_relic - amcore - Ampe_A76 - ap121 - ap143 - ap325rxa - ap_sh4a_4a - apalis-tk1 - apalis_imx6 - apalis_imx6_nospl_com - apalis_imx6_nospl_it - apalis_t30 - apf27 - apx4devkit - aristainetos2 - aristainetos2b - aristainetos - armadillo-800eva - arndale - aspenite - astro_mcf5373l - at91rm9200ek - at91rm9200ek_ram - at91sam9260ek_dataflash_cs0 - at91sam9260ek_dataflash_cs1 - at91sam9260ek_nandflash - at91sam9261ek_dataflash_cs0 - at91sam9261ek_dataflash_cs3 - at91sam9261ek_nandflash - at91sam9263ek_dataflash_cs0 - at91sam9263ek_dataflash - at91sam9263ek_nandflash - at91sam9263ek_norflash_boot - at91sam9263ek_norflash - at91sam9g10ek_dataflash_cs0 - at91sam9g10ek_dataflash_cs3 - at91sam9g10ek_nandflash - at91sam9g20ek_2mmc - at91sam9g20ek_2mmc_nandflash - at91sam9g20ek_dataflash_cs0 - at91sam9g20ek_dataflash_cs1 - at91sam9g20ek_nandflash - at91sam9m10g45ek_mmc - at91sam9m10g45ek_nandflash - at91sam9n12ek_mmc - at91sam9n12ek_nandflash - at91sam9n12ek_spiflash - at91sam9rlek_dataflash - at91sam9rlek_mmc - at91sam9rlek_nandflash - at91sam9x5ek_dataflash - at91sam9x5ek_mmc - at91sam9x5ek_nandflash - at91sam9x5ek_spiflash - at91sam9xeek_dataflash_cs0 - at91sam9xeek_dataflash_cs1 - at91sam9xeek_nandflash - Auxtek-T003 - Auxtek-T004 - avnet_ultra96_rev1 - axm - axs101 - axs103 - B4420QDS - B4420QDS_NAND - B4420QDS_SPIFLASH - B4860QDS - B4860QDS_NAND - B4860QDS_SECURE_BOOT - B4860QDS_SPIFLASH - B4860QDS_SRIO_PCIE_BOOT - ba10_tv_box - Bananapi - bananapi_m1_plus - bananapi_m2_berry - bananapi_m2_plus_h3 - bananapi_m2_plus_h5 - Bananapi_M2_Ultra - bananapi_m2_zero - Bananapi_m2m - bananapi_m64 - Bananapro - bayleybay - bcm11130 - bcm11130_nand - bcm23550_w1d - bcm28155_ap - bcm28155_w1d - bcm7260 - bcm7445 - bcm911360_entphn-ns - bcm911360_entphn - bcm911360k - bcm958300k-ns - bcm958300k - bcm958305k - bcm958622hr - bcm958712k - bcm963158_ram - bcm968380gerg_ram - bcm968580xref_ram - beaver - bg0900 - birdland_bav335a - birdland_bav335b - bitmain_antminer_s9 - bk4r1 - blanche - boston32r2 - boston32r2el - boston32r6 - boston32r6el - boston64r2 - boston64r2el - boston64r6 - boston64r6el - brppt1_mmc - brppt1_nand - brppt1_spi - brxre1 - BSC9131RDB_NAND - BSC9131RDB_NAND_SYSCLK100 - BSC9131RDB_SPIFLASH - BSC9131RDB_SPIFLASH_SYSCLK100 - BSC9132QDS_NAND_DDRCLK100 - BSC9132QDS_NAND_DDRCLK100_SECURE - BSC9132QDS_NAND_DDRCLK133 - BSC9132QDS_NAND_DDRCLK133_SECURE - BSC9132QDS_NOR_DDRCLK100 - BSC9132QDS_NOR_DDRCLK100_SECURE - BSC9132QDS_NOR_DDRCLK133 - BSC9132QDS_NOR_DDRCLK133_SECURE - BSC9132QDS_SDCARD_DDRCLK100 - BSC9132QDS_SDCARD_DDRCLK100_SECURE - BSC9132QDS_SDCARD_DDRCLK133 - BSC9132QDS_SDCARD_DDRCLK133_SECURE - BSC9132QDS_SPIFLASH_DDRCLK100 - BSC9132QDS_SPIFLASH_DDRCLK100_SECURE - BSC9132QDS_SPIFLASH_DDRCLK133 - BSC9132QDS_SPIFLASH_DDRCLK133_SECURE - bubblegum_96 - C29XPCIE - C29XPCIE_NAND - C29XPCIE_NOR_SECBOOT - C29XPCIE_SPIFLASH - C29XPCIE_SPIFLASH_SECBOOT - caddy2 - cairo - calimain - cardhu - cei-tk1-som - cgtqmx6eval - cherryhill - chiliboard - CHIP - CHIP_pro - chromebit_mickey - chromebook_bob - chromebook_jerry - chromebook_link64 - chromebook_link - chromebook_minnie - chromebook_samus - chromebook_speedy - chromebox_panther - Chuwi_V7_CW0825 - ci20_mmc - cl-som-am57x - cl-som-imx7 - clearfog - clearfog_gt_8k - cm_fx6 - cm_t335 - cm_t3517 - cm_t35 - cm_t43 - cm_t54 - cobra5272 - colibri-imx6ull - colibri_imx6 - colibri_imx6_nospl - colibri_imx7 - colibri_imx7_emmc - colibri_pxa270 - colibri_t20 - colibri_t30 - colibri_vf - Colombus - colorfly_e708_q1 - comtrend_ar5315u_ram - comtrend_ar5387un_ram - comtrend_ct5361_ram - comtrend_vr3032u_ram - comtrend_wap5813n_ram - conga-qeval20-qa3-e3845-internal-uart - conga-qeval20-qa3-e3845 - controlcenterd_36BIT_SDCARD - controlcenterd_36BIT_SDCARD_DEVELOP - controlcenterd_TRAILBLAZER - controlcenterd_TRAILBLAZER_DEVELOP - controlcenterdc - coreboot - corvus - cougarcanyon2 - crownbay - CSQ_CS908 - Cubieboard2 - Cubieboard4 - Cubieboard - Cubietruck - Cubietruck_plus - Cyrus_P5020 - Cyrus_P5040 - d2net_v2 - da850_am18xxevm - da850evm - da850evm_direct_nor - da850evm_nand - dalmore - db-88f6720 - db-88f6820-amc - db-88f6820-gp - db-mv784mp-gp - devkit3250 - devkit8000 - dfi-bt700-q7x-151 - dh_imx6 - difrnce_dit4350 - display5 - display5_factory - dms-ba16-1g - dms-ba16 - dns325 - dockstar - dra7xx_evm - dra7xx_hs_evm - dra7xx_hs_evm_usb - draco - dragonboard410c - dragonboard820c - dreamplug - ds109 - ds414 - dserve_dsrv9703c - duovero - e2220-1170 - ea20 - eb_cpu5282 - eb_cpu5282_internal - eco5pk - ecovec - edb9315a - edison - edminiv2 - efi-x86_app - efi-x86_payload32 - efi-x86_payload64 - elgin-rv1108 - emlid_neutis_n5_devboard - Empire_electronix_d709 - Empire_electronix_m712 - emsdp - espresso7420 - espt - etamin - ethernut5 - evb-ast2500 - evb-px5 - evb-rk3036 - evb-rk3128 - evb-rk3229 - evb-rk3288 - evb-rk3328 - evb-rk3399 - evb-rv1108 - fennec-rk3288 - ficus-rk3399 - firefly-rk3288 - firefly-rk3399 - flea3 - ga10h_v1_1 - galileo - gardena-smart-gateway-mt7688-ram - gardena-smart-gateway-mt7688 - ge_bx50v3 - geekbox - goflexhome - gose - gplugd - gt90h_v4 - gurnard - guruplug - gwventana_emmc - gwventana_gw5904 - gwventana_nand - h2200 - h8_homlet_v2 - harmony - helios4 - highbank - hikey - hrcon - hrcon_dh - hsdk - huawei_hg556a_ram - Hummingbird_A31 - Hyundai_A7HD - i12-tvbox - ib62x0 - icnova-a20-swac - iconnect - ids8313 - igep00x0 - imgtec_xilfpga - imx6dl_icore_nand - imx6dl_mamoj - imx6q_icore_nand - imx6q_logic - imx6qdl_icore_mipi - imx6qdl_icore_mmc - imx6qdl_icore_nand - imx6qdl_icore_rqs - imx6ul_geam_mmc - imx6ul_geam_nand - imx6ul_isiot_emmc - imx6ul_isiot_nand - imx8mq_evk - imx8qxp_mek - inet1 - inet86dz - inet97fv2 - inet98v_rev2 - inet9f_rev03 - iNet_3F - iNet_3W - iNet_86VS - iNet_D978_rev2 - inet_q972 - inetspace_v2 - integratorap_cm720t - integratorap_cm920t - integratorap_cm926ejs - integratorap_cm946es - integratorcp_cm1136 - integratorcp_cm920t - integratorcp_cm926ejs - integratorcp_cm946es - iot_devkit - ipam390 - Itead_Ibox_A20 - jesurun_q5 - jetson-tk1 - k2e_evm - k2e_hs_evm - k2g_evm - k2g_hs_evm - k2hk_evm - k2hk_hs_evm - k2l_evm - k2l_hs_evm - kc1 - khadas-vim2 - khadas-vim - km_kirkwood_128m16 - km_kirkwood - km_kirkwood_pci - kmcoge4 - kmcoge5ne - kmcoge5un - kmeter1 - kmlion1 - kmnusa - kmopti2 - kmsugp1 - kmsupx5 - kmsuv31 - kmtegr1 - kmtepr2 - kmvect1 - koelsch - kp_imx53 - kp_imx6q_tpc - kylin-rk3036 - kzm9g - lager - Lamobo_R1 - legoev3 - libretech-cc - libretech_all_h3_cc_h2_plus - libretech_all_h3_cc_h3 - libretech_all_h3_cc_h5 - LicheePi_Zero - linkit-smart-7688-ram - linkit-smart-7688 - Linksprite_pcDuino3 - Linksprite_pcDuino3_Nano - Linksprite_pcDuino - lion-rk3368 - liteboard - ls1012a2g5rdb_qspi - ls1012a2g5rdb_tfa - ls1012afrdm_qspi - ls1012afrdm_tfa - ls1012afrwy_qspi - ls1012afrwy_qspi_SECURE_BOOT - ls1012afrwy_tfa - ls1012afrwy_tfa_SECURE_BOOT - ls1012aqds_qspi - ls1012aqds_tfa - ls1012aqds_tfa_SECURE_BOOT - ls1012ardb_qspi - ls1012ardb_qspi_SECURE_BOOT - ls1012ardb_tfa - ls1012ardb_tfa_SECURE_BOOT - ls1021aiot_qspi - ls1021aiot_sdcard - ls1021aqds_ddr4_nor - ls1021aqds_ddr4_nor_lpuart - ls1021aqds_nand - ls1021aqds_nor - ls1021aqds_nor_lpuart - ls1021aqds_nor_SECURE_BOOT - ls1021aqds_qspi - ls1021aqds_sdcard_ifc - ls1021aqds_sdcard_qspi - ls1021atwr_nor - ls1021atwr_nor_lpuart - ls1021atwr_nor_SECURE_BOOT - ls1021atwr_qspi - ls1021atwr_sdcard_ifc - ls1021atwr_sdcard_ifc_SECURE_BOOT - ls1021atwr_sdcard_qspi - ls1043aqds - ls1043aqds_lpuart - ls1043aqds_nand - ls1043aqds_nor_ddr3 - ls1043aqds_qspi - ls1043aqds_sdcard_ifc - ls1043aqds_sdcard_qspi - ls1043aqds_tfa - ls1043aqds_tfa_SECURE_BOOT - ls1043ardb - ls1043ardb_nand - ls1043ardb_nand_SECURE_BOOT - ls1043ardb_sdcard - ls1043ardb_sdcard_SECURE_BOOT - ls1043ardb_SECURE_BOOT - ls1043ardb_tfa - ls1043ardb_tfa_SECURE_BOOT - ls1046aqds - ls1046aqds_lpuart - ls1046aqds_nand - ls1046aqds_qspi - ls1046aqds_sdcard_ifc - ls1046aqds_sdcard_qspi - ls1046aqds_SECURE_BOOT - ls1046aqds_tfa - ls1046aqds_tfa_SECURE_BOOT - ls1046ardb_emmc - ls1046ardb_qspi - ls1046ardb_qspi_SECURE_BOOT - ls1046ardb_qspi_spl - ls1046ardb_sdcard - ls1046ardb_sdcard_SECURE_BOOT - ls1046ardb_tfa - ls1046ardb_tfa_SECURE_BOOT - ls1088aqds - ls1088aqds_qspi - ls1088aqds_qspi_SECURE_BOOT - ls1088aqds_sdcard_ifc - ls1088aqds_sdcard_qspi - ls1088aqds_tfa - ls1088ardb_qspi - ls1088ardb_qspi_SECURE_BOOT - ls1088ardb_sdcard_qspi - ls1088ardb_sdcard_qspi_SECURE_BOOT - ls1088ardb_tfa - ls1088ardb_tfa_SECURE_BOOT - ls2080a_emu - ls2080a_simu - ls2080aqds - ls2080aqds_nand - ls2080aqds_qspi - ls2080aqds_sdcard - ls2080aqds_SECURE_BOOT - ls2080ardb - ls2080ardb_nand - ls2080ardb_SECURE_BOOT - ls2081ardb - ls2088aqds_tfa - ls2088ardb_qspi - ls2088ardb_qspi_SECURE_BOOT - ls2088ardb_tfa - ls2088ardb_tfa_SECURE_BOOT - lschlv2 - lsxhl - lx2160aqds_tfa - lx2160aqds_tfa_SECURE_BOOT - lx2160ardb_tfa - lx2160ardb_tfa_SECURE_BOOT - M5208EVBE - M52277EVB - M52277EVB_stmicro - M5235EVB - M5235EVB_Flash32 - M5249EVB - M5253DEMO - M5272C3 - M5275EVB - M5282EVB - M53017EVB - M5329AFEE - M5329BFEE - M5373EVB - m53menlo - M54418TWR - M54418TWR_nand_mii - M54418TWR_nand_rmii - M54418TWR_nand_rmii_lowfreq - M54418TWR_serial_mii - M54418TWR_serial_rmii - M54451EVB - M54451EVB_stmicro - M54455EVB_a66 - M54455EVB - M54455EVB_i66 - M54455EVB_intel - M54455EVB_stm33 - M5475AFE - M5475BFE - M5475CFE - M5475DFE - M5475EFE - M5475FFE - M5475GFE - M5485AFE - M5485BFE - M5485CFE - M5485DFE - M5485EFE - M5485FFE - M5485GFE - M5485HFE - malta64 - malta64el - malta - maltael - Marsboard_A10 - marsboard - maxbcm - mccmon6_nor - mccmon6_sd - MCR3000 - mcx - medcom-wide - meesc_dataflash - meesc - Mele_A1000 - Mele_A1000G_quad - Mele_I7 - Mele_M3 - Mele_M5 - Mele_M9 - Merrii_A80_Optimus - mgcoge3un - microblaze-generic - MigoR - Mini-X - minnowmax - miqi-rk3288 - mixtile_loftq - mk802_a10s - mk802 - mk802ii - MK808C - mpc8308_p1m - MPC8308RDB - MPC8313ERDB_33 - MPC8313ERDB_66 - MPC8313ERDB_NAND_33 - MPC8313ERDB_NAND_66 - MPC8315ERDB - MPC8323ERDB - MPC832XEMDS_ATM - MPC832XEMDS - MPC832XEMDS_HOST_33 - MPC832XEMDS_HOST_66 - MPC832XEMDS_SLAVE - MPC8349EMDS - MPC8349ITX - MPC8349ITX_LOWBOOT - MPC8349ITXGP - MPC837XEMDS - MPC837XEMDS_HOST - MPC837XERDB - MPC8536DS_36BIT - MPC8536DS - MPC8536DS_SDCARD - MPC8536DS_SPIFLASH - MPC8541CDS - MPC8541CDS_legacy - MPC8544DS - MPC8548CDS_36BIT - MPC8548CDS - MPC8548CDS_legacy - MPC8555CDS - MPC8555CDS_legacy - MPC8568MDS - MPC8569MDS_ATM - MPC8569MDS - MPC8572DS_36BIT - MPC8572DS - MPC8610HPCD - MPC8641HPCN_36BIT - MPC8641HPCN - mpr2 - ms7720se - ms7722se - ms7750se - mscc_jr2 - mscc_luton - mscc_ocelot - mscc_serval - mscc_servalt - MSI_Primo73 - MSI_Primo81 - mt7623n_bpir2 - mt7629_rfb - mt_ventoux - mvebu_db-88f3720 - mvebu_db_armada8k - mvebu_espressobin-88f3720 - mvebu_mcbin-88f8040 - mx23_olinuxino - mx23evk - mx25pdk - mx28evk_auart_console - mx28evk - mx28evk_nand - mx28evk_spi - mx31pdk - mx35pdk - mx51evk - mx53ard - mx53cx9020 - mx53evk - mx53loco - mx53ppd - mx53smd - mx6cuboxi - mx6dlarm2 - mx6dlarm2_lpddr2 - mx6memcal - mx6qarm2 - mx6qarm2_lpddr2 - mx6qsabrelite - mx6sabreauto - mx6sabresd - mx6slevk - mx6slevk_spinor - mx6slevk_spl - mx6sllevk - mx6sllevk_plugin - mx6sxsabreauto - mx6sxsabresd - mx6sxsabresd_spl - mx6ul_14x14_evk - mx6ul_9x9_evk - mx6ull_14x14_evk - mx6ull_14x14_evk_plugin - mx7dsabresd - mx7dsabresd_qspi - mx7ulp_evk - mx7ulp_evk_plugin - nanopi-k2 - nanopi_a64 - nanopi_m1 - nanopi_m1_plus - nanopi_neo2 - nanopi_neo_air - nanopi_neo - nanopi_neo_plus2 - nas220 - net2big_v2 - netgear_cg3100d_ram - netgear_dgnd3700v2_ram - netspace_lite_v2 - netspace_max_v2 - netspace_mini_v2 - netspace_v2 - Nintendo_NES_Classic_Edition - nitrogen6dl2g - nitrogen6dl - nitrogen6q2g - nitrogen6q - nitrogen6s1g - nitrogen6s - nokia_rx51 - novena - nsa310s - nsim_700 - nsim_700be - nsim_hs38 - nsim_hs38be - nyan-big - odroid-c2 - odroid-xu3 - odroid - omap35_logic - omap35_logic_somlv - omap3_beagle - omap3_evm - omap3_ha - omap3_logic - omap3_logic_somlv - omap3_overo - omap3_pandora - omap3_zoom1 - omap4_panda - omap4_sdp4430 - omap5_uevm - omapl138_lcdk - openrd_base - openrd_client - openrd_ultimate - opos6uldev - orangepi_2 - Orangepi - orangepi_lite2 - orangepi_lite - Orangepi_mini - orangepi_one - orangepi_one_plus - orangepi_pc2 - orangepi_pc - orangepi_pc_plus - orangepi_plus2e - orangepi_plus - orangepi_prime - orangepi_r1 - orangepi_win - orangepi_zero - orangepi_zero_plus2 - orangepi_zero_plus - origen - ot1200 - ot1200_spl - P1010RDB-PA_36BIT_NAND - P1010RDB-PA_36BIT_NAND_SECBOOT - P1010RDB-PA_36BIT_NOR - P1010RDB-PA_36BIT_NOR_SECBOOT - P1010RDB-PA_36BIT_SDCARD - P1010RDB-PA_36BIT_SPIFLASH - P1010RDB-PA_36BIT_SPIFLASH_SECBOOT - P1010RDB-PA_NAND - P1010RDB-PA_NAND_SECBOOT - P1010RDB-PA_NOR - P1010RDB-PA_NOR_SECBOOT - P1010RDB-PA_SDCARD - P1010RDB-PA_SPIFLASH - P1010RDB-PA_SPIFLASH_SECBOOT - P1010RDB-PB_36BIT_NAND - P1010RDB-PB_36BIT_NAND_SECBOOT - P1010RDB-PB_36BIT_NOR - P1010RDB-PB_36BIT_NOR_SECBOOT - P1010RDB-PB_36BIT_SDCARD - P1010RDB-PB_36BIT_SPIFLASH - P1010RDB-PB_36BIT_SPIFLASH_SECBOOT - P1010RDB-PB_NAND - P1010RDB-PB_NAND_SECBOOT - P1010RDB-PB_NOR - P1010RDB-PB_NOR_SECBOOT - P1010RDB-PB_SDCARD - P1010RDB-PB_SPIFLASH - P1010RDB-PB_SPIFLASH_SECBOOT - P1020MBG-PC_36BIT - P1020MBG-PC_36BIT_SDCARD - P1020MBG-PC - P1020MBG-PC_SDCARD - P1020RDB-PC_36BIT - P1020RDB-PC_36BIT_NAND - P1020RDB-PC_36BIT_SDCARD - P1020RDB-PC_36BIT_SPIFLASH - P1020RDB-PC - P1020RDB-PC_NAND - P1020RDB-PC_SDCARD - P1020RDB-PC_SPIFLASH - P1020RDB-PD - P1020RDB-PD_NAND - P1020RDB-PD_SDCARD - P1020RDB-PD_SPIFLASH - P1020UTM-PC_36BIT - P1020UTM-PC_36BIT_SDCARD - P1020UTM-PC - P1020UTM-PC_SDCARD - P1021RDB-PC_36BIT - P1021RDB-PC_36BIT_NAND - P1021RDB-PC_36BIT_SDCARD - P1021RDB-PC_36BIT_SPIFLASH - P1021RDB-PC - P1021RDB-PC_NAND - P1021RDB-PC_SDCARD - P1021RDB-PC_SPIFLASH - P1022DS_36BIT - P1022DS_36BIT_NAND - P1022DS_36BIT_SDCARD - P1022DS_36BIT_SPIFLASH - P1022DS - P1022DS_NAND - P1022DS_SDCARD - P1022DS_SPIFLASH - P1023RDB - P1024RDB_36BIT - P1024RDB - P1024RDB_NAND - P1024RDB_SDCARD - P1024RDB_SPIFLASH - P1025RDB_36BIT - P1025RDB - P1025RDB_NAND - P1025RDB_SDCARD - P1025RDB_SPIFLASH - P2020RDB-PC_36BIT - P2020RDB-PC_36BIT_NAND - P2020RDB-PC_36BIT_SDCARD - P2020RDB-PC_36BIT_SPIFLASH - P2020RDB-PC - P2020RDB-PC_NAND - P2020RDB-PC_SDCARD - P2020RDB-PC_SPIFLASH - P2041RDB - P2041RDB_NAND - P2041RDB_SDCARD - P2041RDB_SECURE_BOOT - P2041RDB_SPIFLASH - P2041RDB_SRIO_PCIE_BOOT - p212 - p2371-0000 - p2371-2180 - p2571 - p2771-0000-000 - p2771-0000-500 - P3041DS - P3041DS_NAND - P3041DS_NAND_SECURE_BOOT - P3041DS_SDCARD - P3041DS_SECURE_BOOT - P3041DS_SPIFLASH - P3041DS_SRIO_PCIE_BOOT - P4080DS - P4080DS_SDCARD - P4080DS_SECURE_BOOT - P4080DS_SPIFLASH - P4080DS_SRIO_PCIE_BOOT - P5020DS - P5020DS_NAND - P5020DS_NAND_SECURE_BOOT - P5020DS_SDCARD - P5020DS_SECURE_BOOT - P5020DS_SPIFLASH - P5020DS_SRIO_PCIE_BOOT - P5040DS - P5040DS_NAND - P5040DS_NAND_SECURE_BOOT - P5040DS_SDCARD - P5040DS_SECURE_BOOT - P5040DS_SPIFLASH - parrot_r16 - paz00 - pcm051_rev1 - pcm051_rev3 - pcm052 - pcm058 - peach-pi - peach-pit - pengwyn - pepper - pfla02 - phycore-rk3288 - phycore_pcl063 - pic32mzdask - pico-hobbit-imx6ul - pico-hobbit-imx7d - pico-imx6ul - pico-imx7d - pico-pi-imx6ul - pico-pi-imx7d - picosam9g45 - pine64-lts - pine64_plus - pine_h64 - pinebook - platinum_picon - platinum_titanium - plutux - pm9261 - pm9263 - pm9g45 - pogo_e02 - polaroid_mid2407pxe03 - polaroid_mid2809pxe04 - poplar - popmetal-rk3288 - porter - portl2 - pov_protab2_ips9 - puma-rk3399 - pxm2 - q8_a13_tablet - q8_a23_tablet_800x480 - q8_a33_tablet_1024x600 - q8_a33_tablet_800x480 - qemu-ppce500 - qemu-riscv32 - qemu-riscv32_smode - qemu-riscv64 - qemu-riscv64_smode - qemu-x86_64 - qemu-x86 - qemu_arm64 - qemu_arm - qemu_mips64 - qemu_mips64el - qemu_mips - qemu_mipsel - r0p7734 - r2dplus - r7-tv-dongle - r7780mp - r8a7795_salvator-x - r8a7795_ulcb - r8a77965_salvator-x - r8a7796_salvator-x - r8a7796_ulcb - r8a77970_eagle - r8a77990_ebisu - r8a77995_draak - rastaban - riotboard - riotboard_spl - rock2 - rock960-rk3399 - rock - rpi_0_w - rpi_2 - rpi_3_32b - rpi_3 - rpi - rsk7203 - rsk7264 - rsk7269 - rut - s32v234evb - s400 - s5p_goni - s5pc210_universal - sagem_f@st1704_ram - sama5d27_som1_ek_mmc1 - sama5d27_som1_ek_mmc - sama5d2_ptc_ek_mmc - sama5d2_ptc_ek_nandflash - sama5d2_xplained_emmc - sama5d2_xplained_mmc - sama5d2_xplained_spiflash - sama5d36ek_cmp_mmc - sama5d36ek_cmp_nandflash - sama5d36ek_cmp_spiflash - sama5d3_xplained_mmc - sama5d3_xplained_nandflash - sama5d3xek_mmc - sama5d3xek_nandflash - sama5d3xek_spiflash - sama5d4_xplained_mmc - sama5d4_xplained_nandflash - sama5d4_xplained_spiflash - sama5d4ek_mmc - sama5d4ek_nandflash - sama5d4ek_spiflash - sandbox64 - sandbox - sandbox_flattree - sandbox_noblk - sandbox_spl - sansa_fuze_plus - sbc8349 - sbc8349_PCI_33 - sbc8349_PCI_66 - sbc8548 - sbc8548_PCI_33 - sbc8548_PCI_33_PCIE - sbc8548_PCI_66 - sbc8548_PCI_66_PCIE - sbc8641d - SBx81LIFKW - SBx81LIFXCAT - sc_sps_1 - seaboard - secomx6quq7 - sfr_nb4-ser_ram - sh7752evb - sh7753evb - sh7757lcr - sh7763rdp - sh7785lcr_32bit - sh7785lcr - sheep-rk3368 - sheevaplug - shmin - sifive_fu540 - silk - Sinlinx_SinA31s - Sinlinx_SinA33 - Sinovoip_BPI_M2 - Sinovoip_BPI_M3 - sksimx6 - smartweb - smdk5250 - smdk5420 - smdkc100 - smdkv310 - snapper9260 - snapper9g20 - sniper - snow - socfpga_arria10 - socfpga_arria5 - socfpga_cyclone5 - socfpga_dbm_soc1 - socfpga_de0_nano_soc - socfpga_de10_nano - socfpga_de1_soc - socfpga_is1 - socfpga_sockit - socfpga_socrates - socfpga_sr1500 - socfpga_stratix10 - socfpga_vining_fpga - socrates - som-db5800-som-6867 - sopine_baseboard - spear300 - spear300_nand - spear300_usbtty - spear300_usbtty_nand - spear310 - spear310_nand - spear310_pnor - spear310_usbtty - spear310_usbtty_nand - spear310_usbtty_pnor - spear320 - spear320_nand - spear320_pnor - spear320_usbtty - spear320_usbtty_nand - spear320_usbtty_pnor - spear600 - spear600_nand - spear600_usbtty - spear600_usbtty_nand - spring - stih410-b2260 - stm32f429-discovery - stm32f429-evaluation - stm32f469-discovery - stm32f746-disco - stm32h743-disco - stm32h743-eval - stm32mp15_basic - stmark2 - stout - strider_con - strider_con_dp - strider_cpu - strider_cpu_dp - stv0991 - sun8i_a23_evb - Sunchip_CX-A99 - sunxi_Gemei_G9 - suvd3 - syzygy_hub - T1023RDB - T1023RDB_NAND - T1023RDB_SDCARD - T1023RDB_SECURE_BOOT - T1023RDB_SPIFLASH - T1024QDS_DDR4 - T1024QDS_DDR4_SECURE_BOOT - T1024QDS - T1024QDS_NAND - T1024QDS_SDCARD - T1024QDS_SECURE_BOOT - T1024QDS_SPIFLASH - T1024RDB - T1024RDB_NAND - T1024RDB_SDCARD - T1024RDB_SECURE_BOOT - T1024RDB_SPIFLASH - T1040D4RDB - T1040D4RDB_NAND - T1040D4RDB_SDCARD - T1040D4RDB_SECURE_BOOT - T1040D4RDB_SPIFLASH - T1040QDS_DDR4 - T1040QDS - T1040QDS_SECURE_BOOT - T1040RDB - T1040RDB_NAND - T1040RDB_SDCARD - T1040RDB_SECURE_BOOT - T1040RDB_SPIFLASH - T1042D4RDB - T1042D4RDB_NAND - T1042D4RDB_SDCARD - T1042D4RDB_SECURE_BOOT - T1042D4RDB_SPIFLASH - T1042RDB - T1042RDB_PI - T1042RDB_PI_NAND - T1042RDB_PI_NAND_SECURE_BOOT - T1042RDB_PI_SDCARD - T1042RDB_PI_SPIFLASH - T1042RDB_SECURE_BOOT - T2080QDS - T2080QDS_NAND - T2080QDS_SDCARD - T2080QDS_SECURE_BOOT - T2080QDS_SPIFLASH - T2080QDS_SRIO_PCIE_BOOT - T2080RDB - T2080RDB_NAND - T2080RDB_SDCARD - T2080RDB_SECURE_BOOT - T2080RDB_SPIFLASH - T2080RDB_SRIO_PCIE_BOOT - T2081QDS - T2081QDS_NAND - T2081QDS_SDCARD - T2081QDS_SPIFLASH - T2081QDS_SRIO_PCIE_BOOT - T4160QDS - T4160QDS_NAND - T4160QDS_SDCARD - T4160QDS_SECURE_BOOT - T4160RDB - T4240QDS - T4240QDS_NAND - T4240QDS_SDCARD - T4240QDS_SECURE_BOOT - T4240QDS_SRIO_PCIE_BOOT - T4240RDB - T4240RDB_SDCARD - tao3530 - taurus - tb100 - tbs2910 - tbs_a711 - tec-ng - tec - theadorable-x86-conga-qa3-e3845-pcie-x4 - theadorable-x86-conga-qa3-e3845 - theadorable-x86-dfi-bt700 - theadorable_debug - thuban - thunderx_88xx - ti814x_evm - ti816x_evm - tinker-rk3288 - titanium - tools-only - topic_miami - topic_miamilite - topic_miamiplus - tplink_wdr4300 - TQM834x - tqma6dl_mba6_mmc - tqma6dl_mba6_spi - tqma6q_mba6_mmc - tqma6q_mba6_spi - tqma6s_mba6_mmc - tqma6s_mba6_spi - tqma6s_wru4_mmc - trats2 - trats - tricorder - tricorder_flash - trimslice - ts4600 - ts4800 - tuge1 - turris_mox - turris_omnia - tuxx1 - twister - TWR-P1025 - UCP1020 - UCP1020_SPIFLASH - udoo - udoo_neo - uDPU - uniphier_ld4_sld8 - uniphier_v7 - uniphier_v8 - usb_a9263_dataflash - usbarmory - UTOO_P66 - vct_platinum - vct_platinum_onenand - vct_platinum_onenand_small - vct_platinum_small - vct_platinumavc - vct_platinumavc_onenand - vct_platinumavc_onenand_small - vct_platinumavc_small - vct_premium - vct_premium_onenand - vct_premium_onenand_small - vct_premium_small - ve8313 - venice2 - ventana - vexpress_aemv8a_dram - vexpress_aemv8a_juno - vexpress_aemv8a_semi - vexpress_ca15_tc2 - vexpress_ca5x2 - vexpress_ca9x4 - vf610twr - vf610twr_nand - vinco - vining_2000 - vme8349 - vyasa-rk3288 - wandboard - warp7_bl33 - warp7 - warp - wb45n - wb50n - Wexler_TAB7200 - Wits_Pro_A20_DKT - Wobo_i5 - woodburn - woodburn_sd - work_92105 - x530 - x600 - xfi3 - xilinx_versal_mini - xilinx_versal_mini_emmc0 - xilinx_versal_mini_emmc1 - xilinx_versal_virt - xilinx_zynqmp_mini - xilinx_zynqmp_mini_emmc0 - xilinx_zynqmp_mini_emmc1 - xilinx_zynqmp_mini_nand - xilinx_zynqmp_mini_qspi - xilinx_zynqmp_r5 - xilinx_zynqmp_zc1232_revA - xilinx_zynqmp_zc1254_revA - xilinx_zynqmp_zc1275_revA - xilinx_zynqmp_zc1275_revB - xilinx_zynqmp_zc1751_xm015_dc1 - xilinx_zynqmp_zc1751_xm016_dc2 - xilinx_zynqmp_zc1751_xm017_dc3 - xilinx_zynqmp_zc1751_xm018_dc4 - xilinx_zynqmp_zc1751_xm019_dc5 - xilinx_zynqmp_zcu100_revC - xilinx_zynqmp_zcu102_rev1_0 - xilinx_zynqmp_zcu102_revA - xilinx_zynqmp_zcu102_revB - xilinx_zynqmp_zcu104_revA - xilinx_zynqmp_zcu104_revC - xilinx_zynqmp_zcu106_revA - xilinx_zynqmp_zcu111_revA - xpedite517x - xpedite520x - xpedite537x - xpedite550x - xpress - xpress_spl - xtfpga - Yones_Toptech_BD1078 - Yones_Toptech_BS1078_V2 - zc5202 - zc5601 - zipitz2 - zmx25 - zynq_cc108 - zynq_cse_nand - zynq_cse_nor - zynq_cse_qspi - zynq_dlc20_rev1_0 - zynq_microzed - zynq_minized - zynq_picozed - zynq_z_turn - zynq_zc702 - zynq_zc706 - zynq_zc770_xm010 - zynq_zc770_xm011 - zynq_zc770_xm011_x16 - zynq_zc770_xm012 - zynq_zc770_xm013 - zynq_zed - zynq_zybo - zynq_zybo_z7 How many of these can run on fully free software? I see rpi{,2,3,3_32b,0_w} in the list, but last I checked, it has a blobby bootloader. Where does guix get this list? Is it configured or automatically generated? Thanks, -- -Jesse
bug-guix@HIDDEN
:bug#37286
; Package guix
.
Full text available.Received: (at 37286) by debbugs.gnu.org; 2 Sep 2019 20:49:17 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Sep 02 16:49:17 2019 Received: from localhost ([127.0.0.1]:59022 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1i4tGH-0004pW-0f for submit <at> debbugs.gnu.org; Mon, 02 Sep 2019 16:49:17 -0400 Received: from dd26836.kasserver.com ([85.13.145.193]:47484) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <dannym@HIDDEN>) id 1i4tGE-0004pL-IR for 37286 <at> debbugs.gnu.org; Mon, 02 Sep 2019 16:49:15 -0400 Received: from localhost (77.116.149.109.wireless.dyn.drei.com [77.116.149.109]) by dd26836.kasserver.com (Postfix) with ESMTPSA id 28F2733659A0; Mon, 2 Sep 2019 22:49:12 +0200 (CEST) Date: Mon, 2 Sep 2019 22:49:04 +0200 From: Danny Milosavljevic <dannym@HIDDEN> To: Jesse Gibbons <jgibbons2357@HIDDEN> Subject: Re: bug#37286: Make a faster method to list supported boards. Message-ID: <20190902224904.57e41fa4@HIDDEN> In-Reply-To: <5f87e4c297b8e4fca0f9ceb0729f2176dec947bb.camel@HIDDEN> References: <5f87e4c297b8e4fca0f9ceb0729f2176dec947bb.camel@HIDDEN> X-Mailer: Claws Mail 3.17.3 (GTK+ 2.24.32; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; boundary="Sig_/116EnjlWSjHOkB9cCzS/RnQ"; protocol="application/pgp-signature" X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 37286 Cc: 37286 <at> debbugs.gnu.org, Christopher Baines <mail@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) --Sig_/116EnjlWSjHOkB9cCzS/RnQ Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Hi, On Mon, 02 Sep 2019 12:52:49 -0600 Jesse Gibbons <jgibbons2357@HIDDEN> wrote: > guix tries to build an entire system. It doesn't look like it checks if > "dne-board" is a valid board until it is building the image. It takes > hours to cross-compile the kernel, and even longer if the kernel needs > to be deblobbed. Yes, that's true. For better or for worse, there are a LOT of different ARM boards. Back when I implemented that part I thought that when you want to find out whether your board is supported, there's a good chance that you want to install Guix anyway--so you need the system image anyway. If it turns out not to be supported you just uselessly built a lot of stuff--but the substitute cache should have cached all that stuff anyway. But for some reason the ARM build farm substitute cache has a very bad hit rate (I remember waiting MONTHS to finally get a "flash-image" substitute that I didn't build myself). If we decided to do so, we could limit ourselves to just a few that we specially support--but that would make Guix System really a non-universal operating system. (with the current state of Guix ARM implementation it is anyway) It would be easy to get the list of supported u-boot targets from the derivation. It might be that Guix Data Service would help with that (see "More progress with the Guix Data Service" by Christopher Baines). Or we can maintain a list in the package definition ourselves. What do you think? --Sig_/116EnjlWSjHOkB9cCzS/RnQ Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAl1tgEAACgkQ5xo1VCww uqXbSgf/WkxKl80pukLaejveXy6jRxEIq33uSWCMII7FPgfmyiiMJofxeQSdXufo IC1/ZlLtawlKdsGQFbTj3w0ytXmEjkJe8i9AmxJ9ZcElikSA6tSV1Jn3iQJ+ZWDC N+YMaa5D8PfARo3FSZmyQn9Nevyluw7e5AVvOpXZLmP3oLthUA0rC4WtxtffQ4kg 4JTtq3ppDRHagthv4QgPokJQbkntkR1vLTyCSErLKjmO/6r2bVFvuamdA8PF7c+x eNErz6v0MaqL0kaSUU2ZsscLgmcfiS1u8GQy4BiRaKUyDa/MZnYFTKf+ryFRqj5o BQBD3ca7GBd1Mgam3+vw8FOg4kyAFg== =aF01 -----END PGP SIGNATURE----- --Sig_/116EnjlWSjHOkB9cCzS/RnQ--
bug-guix@HIDDEN
:bug#37286
; Package guix
.
Full text available.Received: (at submit) by debbugs.gnu.org; 2 Sep 2019 18:52:58 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Sep 02 14:52:58 2019 Received: from localhost ([127.0.0.1]:58977 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1i4rRi-0005q0-1A for submit <at> debbugs.gnu.org; Mon, 02 Sep 2019 14:52:58 -0400 Received: from lists.gnu.org ([209.51.188.17]:55561) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <jgibbons2357@HIDDEN>) id 1i4rRg-0005pt-Nr for submit <at> debbugs.gnu.org; Mon, 02 Sep 2019 14:52:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45440) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from <jgibbons2357@HIDDEN>) id 1i4rRe-0002my-CA for bug-guix@HIDDEN; Mon, 02 Sep 2019 14:52:56 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: * X-Spam-Status: No, score=1.1 required=5.0 tests=BAYES_50, FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <jgibbons2357@HIDDEN>) id 1i4rRd-0008Mo-5d for bug-guix@HIDDEN; Mon, 02 Sep 2019 14:52:54 -0400 Received: from mail-pg1-x536.google.com ([2607:f8b0:4864:20::536]:40720) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from <jgibbons2357@HIDDEN>) id 1i4rRc-0008MA-VD for bug-guix@HIDDEN; Mon, 02 Sep 2019 14:52:53 -0400 Received: by mail-pg1-x536.google.com with SMTP id w10so7821148pgj.7 for <bug-guix@HIDDEN>; Mon, 02 Sep 2019 11:52:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:subject:from:to:date:mime-version :content-transfer-encoding; bh=0IKZW0W9zzoGz0Jiy1F4UJ9ti46uf5WXmwmGC0cb+hc=; b=aMNR/qNUaogfoTEHGJv3Y+7KEZ7wsZJ8LqZorxzthNLip8JfERBUnxEfLh/bcY87zN 3qf3XMXWAyy77sBfqYFdAxtqmKpUm8YTybKsQJfLU/DztWbMEgYRNYerC5TM2rjoWst4 yQIMnUODWpQtzeDw9rtA7IbN4zjVz2qXsKMSpJ+ebLVAJ7CcJkJJk7E9QI385dyjvepW KHSDcBvbCATfRu9oyIbDViSm6OrPH0N35uNqNWdEV6aWGIf1Lpnz4MQqsgY2lzueOe4l 7NObYN5a9XiV3FeJjgU2DXBWYcEIIHus1yMIgezpl1JUW76V8qW2gBaDDIhKoX8YIx0o Jr/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:subject:from:to:date:mime-version :content-transfer-encoding; bh=0IKZW0W9zzoGz0Jiy1F4UJ9ti46uf5WXmwmGC0cb+hc=; b=HiHpdS8XLV+GxDMxqBolTKreQMQVlmmyuFyA0WDYrK+B0NqAAiQUhGwmhv3hlYce1/ ywqVcoqJAECccUub239J3sACEJpUJjUrZHXotZjCs3uXmf+ape019H97ftI9+ZXKuvNj lOldnHvjnwKfiEYuciTtEK9NNlunGwJOHBLry0GZdQwI7WJoHGIOcgQakBR4f385VVfZ axDNYq7upd+5MwC39UeVpkgfGcz90QEOUndiVUdpF05l7QNvv/meVRBocaG9JP4RYfj7 1ZH3Jq/IlHzw2szJ1gmDdCa35Kjr6GiszFHBjrxmDN24dh3lOgAitj30BwYyvFCOhc9W qt4g== X-Gm-Message-State: APjAAAVu+okHZPx4jBvQQWR4Fxuab6Qyt36vUqZPQRhsR1cvP6jBVf0x Usd+CiJ3wYNJ6QJ8us3UOuK29dfT X-Google-Smtp-Source: APXvYqwLdyz21sNaDPslOAj8YunyCPtfFciyWkh7gpIwXC+pKDNdIYkQPEhas3/K0x72nAP1LB3rNw== X-Received: by 2002:a62:e50f:: with SMTP id n15mr32705689pff.208.1567450371660; Mon, 02 Sep 2019 11:52:51 -0700 (PDT) Received: from piranhaplant.local ([199.68.53.171]) by smtp.googlemail.com with ESMTPSA id a18sm18866655pfn.156.2019.09.02.11.52.50 for <bug-guix@HIDDEN> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Sep 2019 11:52:51 -0700 (PDT) Message-ID: <5f87e4c297b8e4fca0f9ceb0729f2176dec947bb.camel@HIDDEN> Subject: Make a faster method to list supported boards. From: Jesse Gibbons <jgibbons2357@HIDDEN> To: bug-guix mailing list <bug-guix@HIDDEN> Content-Type: text/plain; charset="UTF-8" Date: Mon, 02 Sep 2019 12:52:49 -0600 Mime-Version: 1.0 X-Mailer: Evolution 3.28.1 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::536 X-Spam-Score: -1.1 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.1 (--) There should be a faster way to list the supported boards with custom versions of U-Boot. From manual: Many ARM boards require a specific variant of the U-Boot (https://www.denx.de/wiki/U-Boot/) bootloader. If you build a disk image and the bootloader is not available otherwise (on another boot drive etc), it’s advisable to build an image that includes the bootloader, specifically: guix system disk-image --system=armhf-linux -e '((@ (gnu system install) os-with-u-boot) (@ (gnu system install) installation-os) "A20- OLinuXino-Lime2")' ‘A20-OLinuXino-Lime2’ is the name of the board. If you specify an invalid board, a list of possible boards will be printed. I think an example of an invalid board is "dne-board", which (last I checked) does not exist and probably never will exist. If I run the following command: guix system disk-image --system=armhf-linux -e '((@ (gnu system install) os-with-u-boot) (@ (gnu system install) installation-os) "dne- board")' guix tries to build an entire system. It doesn't look like it checks if "dne-board" is a valid board until it is building the image. It takes hours to cross-compile the kernel, and even longer if the kernel needs to be deblobbed. I have not yet been able to cross-compile any system using this method.
Jesse Gibbons <jgibbons2357@HIDDEN>
:bug-guix@HIDDEN
.
Full text available.bug-guix@HIDDEN
:bug#37286
; Package guix
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.