GNU bug report logs - #37286
Make a faster method to list supported boards.

Previous Next

Package: guix;

Reported by: Jesse Gibbons <jgibbons2357 <at> gmail.com>

Date: Mon, 2 Sep 2019 18:53:01 UTC

Severity: normal

To reply to this bug, email your comments to 37286 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#37286; Package guix. (Mon, 02 Sep 2019 18:53:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Jesse Gibbons <jgibbons2357 <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Mon, 02 Sep 2019 18:53:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Jesse Gibbons <jgibbons2357 <at> gmail.com>
To: bug-guix mailing list <bug-guix <at> gnu.org>
Subject: Make a faster method to list supported boards.
Date: Mon, 02 Sep 2019 12:52:49 -0600
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.




Information forwarded to bug-guix <at> gnu.org:
bug#37286; Package guix. (Mon, 02 Sep 2019 20:50:02 GMT) Full text and rfc822 format available.

Message #8 received at 37286 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: Jesse Gibbons <jgibbons2357 <at> gmail.com>
Cc: 37286 <at> debbugs.gnu.org, Christopher Baines <mail <at> cbaines.net>
Subject: Re: bug#37286: Make a faster method to list supported boards.
Date: Mon, 2 Sep 2019 22:49:04 +0200
[Message part 1 (text/plain, inline)]
Hi,

On Mon, 02 Sep 2019 12:52:49 -0600
Jesse Gibbons <jgibbons2357 <at> gmail.com> 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?
[Message part 2 (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#37286; Package guix. (Tue, 03 Sep 2019 02:09:01 GMT) Full text and rfc822 format available.

Message #11 received at 37286 <at> debbugs.gnu.org (full text, mbox):

From: Jesse Gibbons <jgibbons2357 <at> gmail.com>
To: Danny Milosavljevic <dannym <at> scratchpost.org>
Cc: 37286 <at> debbugs.gnu.org, Christopher Baines <mail <at> cbaines.net>
Subject: Re: bug#37286: Make a faster method to list supported boards.
Date: Mon, 02 Sep 2019 20:07:53 -0600
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 <at> gmail.com> 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 <at> 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




Information forwarded to bug-guix <at> gnu.org:
bug#37286; Package guix. (Tue, 03 Sep 2019 03:29:02 GMT) Full text and rfc822 format available.

Message #14 received at 37286 <at> debbugs.gnu.org (full text, mbox):

From: Caleb Ristvedt <caleb.ristvedt <at> cune.org>
To: Jesse Gibbons <jgibbons2357 <at> gmail.com>
Cc: 37286 <at> debbugs.gnu.org
Subject: Re: bug#37286: Make a faster method to list supported boards.
Date: Mon, 02 Sep 2019 22:28:06 -0500
> 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




Information forwarded to bug-guix <at> gnu.org:
bug#37286; Package guix. (Tue, 03 Sep 2019 08:58:01 GMT) Full text and rfc822 format available.

Message #17 received at 37286 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: Jesse Gibbons <jgibbons2357 <at> gmail.com>
Cc: 37286 <at> debbugs.gnu.org, Christopher Baines <mail <at> cbaines.net>
Subject: Re: bug#37286: Make a faster method to list supported boards.
Date: Tue, 3 Sep 2019 10:57:12 +0200
[Message part 1 (text/plain, inline)]
Hi Jesse,

On Mon, 02 Sep 2019 20:07:53 -0600
Jesse Gibbons <jgibbons2357 <at> gmail.com> wrote:

> 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 <at> gmail.com> wrote:
> >   
> 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).  
> 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. 

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.scm,
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.
[Message part 2 (application/pgp-signature, inline)]

This bug report was last modified 5 years and 282 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.