* [Buildroot] buildroot support for OrangePI PC @ 2015-12-18 13:22 Eelco Chaudron 2015-12-18 22:23 ` Arnout Vandecappelle 2015-12-19 23:51 ` Cam Hutchison 0 siblings, 2 replies; 13+ messages in thread From: Eelco Chaudron @ 2015-12-18 13:22 UTC (permalink / raw) To: buildroot Hi All, Was wondering if anyone has started working on OrangePi PC board support? Thanks, Eelco ^ permalink raw reply [flat|nested] 13+ messages in thread
* [Buildroot] buildroot support for OrangePI PC 2015-12-18 13:22 [Buildroot] buildroot support for OrangePI PC Eelco Chaudron @ 2015-12-18 22:23 ` Arnout Vandecappelle 2015-12-20 12:32 ` Eelco Chaudron ` (2 more replies) 2015-12-19 23:51 ` Cam Hutchison 1 sibling, 3 replies; 13+ messages in thread From: Arnout Vandecappelle @ 2015-12-18 22:23 UTC (permalink / raw) To: buildroot On 18-12-15 14:22, Eelco Chaudron wrote: > Hi All, > > Was wondering if anyone has started working on OrangePi PC board support? Not that I know of. But it should be quite similar to the cubieboard I think. If you make a defconfig for it, consider using genimage rather than a custom script like mkcubiecard. Regards, Arnout -- Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF ^ permalink raw reply [flat|nested] 13+ messages in thread
* [Buildroot] buildroot support for OrangePI PC 2015-12-18 22:23 ` Arnout Vandecappelle @ 2015-12-20 12:32 ` Eelco Chaudron 2015-12-20 12:45 ` Thomas Petazzoni 2015-12-20 18:25 ` Eelco Chaudron 2015-12-24 9:15 ` Eelco Chaudron 2 siblings, 1 reply; 13+ messages in thread From: Eelco Chaudron @ 2015-12-20 12:32 UTC (permalink / raw) To: buildroot Hi All, I decided to give this a shot, but I already get stuck at doing the u-boot part... Looks like some toolchain issue, so before I dig into it more let me see if some one here has ran into something similar. This is my config: BR2_armeb=y BR2_cortex_a7=y BR2_ARM_EABI=y BR2_ARM_FPU_NEON_VFPV4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="orangepi_pc" BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="http://git.denx.de/u-boot.git" BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="4832e17787acb29734d895751bc7a594908aecc6" BR2_TARGET_UBOOT_SPL=y It all goes wrong when linking u-boot. Here are some snippets from the output: LD u-boot /home/echaudron/buildroot_opi/output/host/usr/bin/armeb-buildroot-linux-uclibcgnueabi-ld.bfd: Warning: size of symbol `invalidate_dcache_range' changed from 168 in arch/arm/cpu/armv7/built-in.o to 4 in arch/arm/lib/built-in.o /home/echaudron/buildroot_opi/output/host/usr/bin/armeb-buildroot-linux-uclibcgnueabi-ld.bfd: Warning: size of symbol `enable_caches' changed from 4 in arch/arm/cpu/armv7/built-in.o to 12 in arch/arm/lib/built-in.o /home/echaudron/buildroot_opi/output/host/usr/bin/armeb-buildroot-linux-uclibcgnueabi-ld.bfd: Warning: size of symbol `arm_init_before_mmu' changed from 40 in arch/arm/cpu/armv7/built-in.o to 4 in arch/arm/lib/built-in.o ... ... /home/echaudron/buildroot_opi/output/host/usr/bin/armeb-buildroot-linux-uclibcgnueabi-ld.bfd: /home/echaudron/buildroot_opi/output/host/usr/lib/gcc/armeb-buildroot-linux-uclibcgnueabi/4.9.3/libgcc.a(_dvmd_lnx.o): compiled for a big endian system and target is little endian /home/echaudron/buildroot_opi/output/host/usr/bin/armeb-buildroot-linux-uclibcgnueabi-ld.bfd: failed to merge target specific data of file /home/echaudron/buildroot_opi/output/host/usr/lib/gcc/armeb-buildroot-linux-uclibcgnueabi/4.9.3/libgcc.a(_dvmd_lnx.o) /home/echaudron/buildroot_opi/output/host/usr/bin/armeb-buildroot-linux-uclibcgnueabi-ld.bfd: BFD (GNU Binutils) 2.24 assertion fail elf32-arm.c:12387 ... ... /home/echaudron/buildroot_opi/output/host/usr/bin/armeb-buildroot-linux-uclibcgnueabi-ld.bfd: BFD (GNU Binutils) 2.24 assertion fail elf32-arm.c:12387 /home/echaudron/buildroot_opi/output/host/usr/bin/armeb-buildroot-linux-uclibcgnueabi-ld.bfd: BFD (GNU Binutils) 2.24 assertion fail elf32-arm.c:12387 Segmentation fault (core dumped) Makefile:1193: recipe for target 'u-boot' failed make[2]: *** [u-boot] Error 139 When I build the same u-boot version using the ubuntu provided "arm-linux-gnueabihf-" toolchain it works fine. I'm using the following to build it; make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- orangepi_pc_defconfig make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- Any ideas? //Eelco > Arnout Vandecappelle <mailto:arnout@mind.be> > December 18, 2015 at 23:23 > > Not that I know of. But it should be quite similar to the cubieboard I > think. > > If you make a defconfig for it, consider using genimage rather than a > custom > script like mkcubiecard. > > Regards, > Arnout > > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20151220/af382638/attachment.html> ^ permalink raw reply [flat|nested] 13+ messages in thread
* [Buildroot] buildroot support for OrangePI PC 2015-12-20 12:32 ` Eelco Chaudron @ 2015-12-20 12:45 ` Thomas Petazzoni 2015-12-20 18:17 ` Eelco Chaudron 0 siblings, 1 reply; 13+ messages in thread From: Thomas Petazzoni @ 2015-12-20 12:45 UTC (permalink / raw) To: buildroot Dear Eelco Chaudron, On Sun, 20 Dec 2015 13:32:43 +0100, Eelco Chaudron wrote: > /home/echaudron/buildroot_opi/output/host/usr/bin/armeb-buildroot-linux-uclibcgnueabi-ld.bfd: > BFD (GNU Binutils) 2.24 assertion fail elf32-arm.c:12387 > /home/echaudron/buildroot_opi/output/host/usr/bin/armeb-buildroot-linux-uclibcgnueabi-ld.bfd: > BFD (GNU Binutils) 2.24 assertion fail elf32-arm.c:12387 > Segmentation fault (core dumped) > Makefile:1193: recipe for target 'u-boot' failed > make[2]: *** [u-boot] Error 139 Seems like you are hitting bug https://sourceware.org/bugzilla/show_bug.cgi?id=16698. It seems to be fixed in the 2.24.90 snapshot, though it is not clear which specific commit fixed it, so it's hard to backport it. Can you try with with binutils 2.25 ? Also, you have selected ARM big endian as the architecture, which is almost certainly not what you want. If you're new to ARM and have no reason to use big endian, then use ARM little endian, which is what 99.9999% of the people use. Best regards, Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com ^ permalink raw reply [flat|nested] 13+ messages in thread
* [Buildroot] buildroot support for OrangePI PC 2015-12-20 12:45 ` Thomas Petazzoni @ 2015-12-20 18:17 ` Eelco Chaudron 0 siblings, 0 replies; 13+ messages in thread From: Eelco Chaudron @ 2015-12-20 18:17 UTC (permalink / raw) To: buildroot Hi Thomas, Thanks for pointing this out... I wanted to do some bench marking in big endian to see performance difference in a heavy networking environment. However when I saw the endian errors I "thought" I reverted back, and retried. But for some reason make savedefconfig, did not reflect the change, and I did not pay attention to the output :( Doing a make distclean, and reconfigure, it worked fine without any build errors. //Eelco > Thomas Petazzoni <mailto:thomas.petazzoni@free-electrons.com> > December 20, 2015 at 13:45 > Dear Eelco Chaudron, > > > Seems like you are hitting bug > https://sourceware.org/bugzilla/show_bug.cgi?id=16698. It seems to be > fixed in the 2.24.90 snapshot, though it is not clear which specific > commit fixed it, so it's hard to backport it. > > Can you try with with binutils 2.25 ? > > Also, you have selected ARM big endian as the architecture, which is > almost certainly not what you want. If you're new to ARM and have no > reason to use big endian, then use ARM little endian, which is what > 99.9999% of the people use. > > Best regards, > > Thomas > Eelco Chaudron <mailto:echaudron@xiot.nl> > December 20, 2015 at 13:32 > Hi All, > > I decided to give this a shot, but I already get stuck at doing the > u-boot part... > Looks like some toolchain issue, so before I dig into it more let me > see if some one here has ran into something similar. > > This is my config: > > BR2_armeb=y > BR2_cortex_a7=y > BR2_ARM_EABI=y > BR2_ARM_FPU_NEON_VFPV4=y > BR2_TARGET_UBOOT=y > BR2_TARGET_UBOOT_BOARDNAME="orangepi_pc" > BR2_TARGET_UBOOT_CUSTOM_GIT=y > BR2_TARGET_UBOOT_CUSTOM_REPO_URL="http://git.denx.de/u-boot.git" > BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="4832e17787acb29734d895751bc7a594908aecc6" > BR2_TARGET_UBOOT_SPL=y > > It all goes wrong when linking u-boot. Here are some snippets from the > output: > LD u-boot > /home/echaudron/buildroot_opi/output/host/usr/bin/armeb-buildroot-linux-uclibcgnueabi-ld.bfd: > Warning: size of symbol `invalidate_dcache_range' changed from 168 in > arch/arm/cpu/armv7/built-in.o to 4 in arch/arm/lib/built-in.o > /home/echaudron/buildroot_opi/output/host/usr/bin/armeb-buildroot-linux-uclibcgnueabi-ld.bfd: > Warning: size of symbol `enable_caches' changed from 4 in > arch/arm/cpu/armv7/built-in.o to 12 in arch/arm/lib/built-in.o > /home/echaudron/buildroot_opi/output/host/usr/bin/armeb-buildroot-linux-uclibcgnueabi-ld.bfd: > Warning: size of symbol `arm_init_before_mmu' changed from 40 in > arch/arm/cpu/armv7/built-in.o to 4 in arch/arm/lib/built-in.o > ... > ... > /home/echaudron/buildroot_opi/output/host/usr/bin/armeb-buildroot-linux-uclibcgnueabi-ld.bfd: > /home/echaudron/buildroot_opi/output/host/usr/lib/gcc/armeb-buildroot-linux-uclibcgnueabi/4.9.3/libgcc.a(_dvmd_lnx.o): > compiled for a big endian system and target is little endian > /home/echaudron/buildroot_opi/output/host/usr/bin/armeb-buildroot-linux-uclibcgnueabi-ld.bfd: > failed to merge target specific data of file > /home/echaudron/buildroot_opi/output/host/usr/lib/gcc/armeb-buildroot-linux-uclibcgnueabi/4.9.3/libgcc.a(_dvmd_lnx.o) > /home/echaudron/buildroot_opi/output/host/usr/bin/armeb-buildroot-linux-uclibcgnueabi-ld.bfd: > BFD (GNU Binutils) 2.24 assertion fail elf32-arm.c:12387 > ... > ... > /home/echaudron/buildroot_opi/output/host/usr/bin/armeb-buildroot-linux-uclibcgnueabi-ld.bfd: > BFD (GNU Binutils) 2.24 assertion fail elf32-arm.c:12387 > /home/echaudron/buildroot_opi/output/host/usr/bin/armeb-buildroot-linux-uclibcgnueabi-ld.bfd: > BFD (GNU Binutils) 2.24 assertion fail elf32-arm.c:12387 > Segmentation fault (core dumped) > Makefile:1193: recipe for target 'u-boot' failed > make[2]: *** [u-boot] Error 139 > > When I build the same u-boot version using the ubuntu provided > "arm-linux-gnueabihf-" toolchain it works fine. > I'm using the following to build it; > > make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- orangepi_pc_defconfig > make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- > > Any ideas? > > //Eelco > > > > Arnout Vandecappelle <mailto:arnout@mind.be> > December 18, 2015 at 23:23 > > Not that I know of. But it should be quite similar to the cubieboard I > think. > > If you make a defconfig for it, consider using genimage rather than a > custom > script like mkcubiecard. > > Regards, > Arnout > > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20151220/1044dbef/attachment.html> ^ permalink raw reply [flat|nested] 13+ messages in thread
* [Buildroot] buildroot support for OrangePI PC 2015-12-18 22:23 ` Arnout Vandecappelle 2015-12-20 12:32 ` Eelco Chaudron @ 2015-12-20 18:25 ` Eelco Chaudron 2015-12-24 9:15 ` Eelco Chaudron 2 siblings, 0 replies; 13+ messages in thread From: Eelco Chaudron @ 2015-12-20 18:25 UTC (permalink / raw) To: buildroot Hi Cam, If you can share the repo's (uboot/linux) you are thinking to use I can make a head start with the PC version and share whatever I have by January first. //Eelco Cam Hutchison<camh@xdna.net> writes: > Hi All, > Was wondering if anyone has started working on OrangePi PC board support? I'll be embarking on this in the new year (OrangePi Plus too). I plan is to come up with two defconfigs - one for the 3.4 kernel which supports the hardware ok but has a lot of code that is not mainlined and has a custom build process, and one for mainline which currently has limited support for the H3 and Orange Pi (although there is current activity so I'll also track the linux-sunxi kernel too). I'll keep my WIP on a github repo and I can let you know when I make a start. ^ permalink raw reply [flat|nested] 13+ messages in thread
* [Buildroot] buildroot support for OrangePI PC 2015-12-18 22:23 ` Arnout Vandecappelle 2015-12-20 12:32 ` Eelco Chaudron 2015-12-20 18:25 ` Eelco Chaudron @ 2015-12-24 9:15 ` Eelco Chaudron 2015-12-24 10:28 ` Thomas Petazzoni 2015-12-27 0:04 ` Cam Hutchison 2 siblings, 2 replies; 13+ messages in thread From: Eelco Chaudron @ 2015-12-24 9:15 UTC (permalink / raw) To: buildroot I decided to do some work on the OrangePI PC and I have a basic Linux 4.4 setup running. It boots, and I have serial access to the board. Cam if you could share your 3.4 repo (and or 4.4 if it has better OrangePI support) I can get started with this too. Cheers, Eelco This is the diff; diff --git a/board/orangepi/orangepipc/boot.cmd b/board/orangepi/orangepipc/boot.cmd new file mode 100644 index 0000000..7d61e7b --- /dev/null +++ b/board/orangepi/orangepipc/boot.cmd @@ -0,0 +1,8 @@ +setenv fdt_high ffffffff + +setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait + +fatload mmc 0 $kernel_addr_r uImage +fatload mmc 0 $fdt_addr_r sun8i-h3-orangepi-pc.dtb + +bootm $kernel_addr_r - $fdt_addr_r diff --git a/board/orangepi/orangepipc/genimage.cfg b/board/orangepi/orangepipc/genimage.cfg new file mode 100644 index 0000000..43c2249 --- /dev/null +++ b/board/orangepi/orangepipc/genimage.cfg @@ -0,0 +1,36 @@ +# Minimal SD card image for the OrangePi PC +# + +image boot.vfat { + vfat { + files = { + "uImage", + "sun8i-h3-orangepi-pc.dtb", + "boot.scr" + } + } + size = 10M +} + +image sdcard.img { + hdimage { + } + + partition u-boot { + in-partition-table = "no" + image = "u-boot-sunxi-with-spl.bin" + offset = 8192 + } + + partition boot { + partition-type = 0xC + bootable = "true" + image = "boot.vfat" + } + + partition rootfs { + partition-type = 0x83 + image = "rootfs.ext4" + size = 512M + } +} diff --git a/board/orangepi/orangepipc/post-build.sh b/board/orangepi/orangepipc/post-build.sh new file mode 100755 index 0000000..9f115cb --- /dev/null +++ b/board/orangepi/orangepipc/post-build.sh @@ -0,0 +1,14 @@ +#!/bin/sh +# post-build.sh for OrangePi PC taken from CubieBoard's post-build.sh +# 2013, Carlo Caione <<carlo.caione@gmail.com>> + +BOARD_DIR="$(dirname $0)" +MKIMAGE=$HOST_DIR/usr/bin/mkimage +BOOT_CMD=$BOARD_DIR/boot.cmd +BOOT_CMD_H=$BINARIES_DIR/boot.scr + +# U-Boot script +if [ -e $MKIMAGE -a -e $BOOT_CMD ]; +then + $MKIMAGE -C none -A arm -T script -d $BOOT_CMD $BOOT_CMD_H +fi diff --git a/board/orangepi/orangepipc/post-image.sh b/board/orangepi/orangepipc/post-image.sh new file mode 100755 index 0000000..05f6b70 --- /dev/null +++ b/board/orangepi/orangepipc/post-image.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +GENIMAGE_CFG="board/orangepi/orangepipc/genimage.cfg" +GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" + +rm -rf "${GENIMAGE_TMP}" + +genimage \ + --rootpath "${TARGET_DIR}" \ + --tmppath "${GENIMAGE_TMP}" \ + --inputpath "${BINARIES_DIR}" \ + --outputpath "${BINARIES_DIR}" \ + --config "${GENIMAGE_CFG}" + +RET=${?} +exit ${RET} diff --git a/configs/orangepipc_defconfig b/configs/orangepipc_defconfig new file mode 100644 index 0000000..cd349c5 --- /dev/null +++ b/configs/orangepipc_defconfig @@ -0,0 +1,26 @@ +BR2_arm=y +BR2_cortex_a7=y +BR2_ARM_FPU_NEON_VFPV4=y +BR2_TARGET_GENERIC_HOSTNAME="OrangePi_PC" +BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi PC" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/orangepi/orangepipc/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/orangepi/orangepipc/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_GIT=y +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="<https://github.com/jwrdegoede/linux-sunxi.git>" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="a516ac6dda21e6f5edceecd08b475b16e360656b" +BR2_LINUX_KERNEL_DEFCONFIG="sunxi" +BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x40008000" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h3-orangepi-pc" +BR2_TARGET_ROOTFS_EXT2=y +BR2_TARGET_ROOTFS_EXT2_4=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BOARDNAME="orangepi_pc" +BR2_TARGET_UBOOT_CUSTOM_GIT=y +BR2_TARGET_UBOOT_CUSTOM_REPO_URL="<http://git.denx.de/u-boot.git>" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="4832e17787acb29734d895751bc7a594908aecc6" +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" +BR2_PACKAGE_HOST_GENIMAGE=y On 18 December 2015 23:23:20 +01:00, Arnout Vandecappelle <arnout@mind.be> wrote: > On 18-12-15 14:22, Eelco Chaudron wrote: > > > Hi All, > > > > Was wondering if anyone has started working on OrangePi PC board support? > > > Not that I know of. But it should be quite similar to the cubieboard I think. > > If you make a defconfig for it, consider using genimage rather than a custom > script like mkcubiecard. > > Regards, > Arnout > > > -- > Arnout Vandecappelle arnout at mind be > Senior Embedded Software Architect +32-16-286500 > Essensium/Mind <http://www.mind.be> > G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven > LinkedIn profile: <http://www.linkedin.com/in/arnoutvandecappelle> > GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20151224/2b954e69/attachment.html> ^ permalink raw reply related [flat|nested] 13+ messages in thread
* [Buildroot] buildroot support for OrangePI PC 2015-12-24 9:15 ` Eelco Chaudron @ 2015-12-24 10:28 ` Thomas Petazzoni 2015-12-24 10:52 ` Eelco Chaudron 2015-12-27 0:04 ` Cam Hutchison 1 sibling, 1 reply; 13+ messages in thread From: Thomas Petazzoni @ 2015-12-24 10:28 UTC (permalink / raw) To: buildroot Eelco, On Thu, 24 Dec 2015 10:15:40 +0100, Eelco Chaudron wrote: > This is the diff; Thanks for the patch. Can you send it as a proper Git formatted patch? See the Buildroot manual for instructions on how to do this. I have a couple more comments below. > diff --git a/board/orangepi/orangepipc/genimage.cfg b/board/orangepi/orangepipc/genimage.cfg > new file mode 100644 > index 0000000..43c2249 > --- /dev/null > +++ b/board/orangepi/orangepipc/genimage.cfg > @@ -0,0 +1,36 @@ > +# Minimal SD card image for the OrangePi PC > +# > + > +image boot.vfat { > + vfat { > + files = { > + "uImage", > + "sun8i-h3-orangepi-pc.dtb", > + "boot.scr" > + } > + } > + size = 10M > +} Please fix the indentation here. I think we should use at least two spaces for indentation, or maybe better one tab. > diff --git a/board/orangepi/orangepipc/post-build.sh b/board/orangepi/orangepipc/post-build.sh > new file mode 100755 > index 0000000..9f115cb > --- /dev/null > +++ b/board/orangepi/orangepipc/post-build.sh > @@ -0,0 +1,14 @@ > +#!/bin/sh > +# post-build.sh for OrangePi PC taken from CubieBoard's post-build.sh > +# 2013, Carlo Caione <<carlo.caione@gmail.com>> > + > +BOARD_DIR="$(dirname $0)" > +MKIMAGE=$HOST_DIR/usr/bin/mkimage > +BOOT_CMD=$BOARD_DIR/boot.cmd > +BOOT_CMD_H=$BINARIES_DIR/boot.scr > + > +# U-Boot script > +if [ -e $MKIMAGE -a -e $BOOT_CMD ]; This test is not needed IMO, just run the $MKIMAGE command unconditionally. > +then > + $MKIMAGE -C none -A arm -T script -d $BOOT_CMD $BOOT_CMD_H > +fi > diff --git a/board/orangepi/orangepipc/post-image.sh b/board/orangepi/orangepipc/post-image.sh > new file mode 100755 > index 0000000..05f6b70 > --- /dev/null > +++ b/board/orangepi/orangepipc/post-image.sh > @@ -0,0 +1,16 @@ > +#!/bin/bash Do we really need this to be a bash script ? #!/bin/sh is probably sufficient. > + > +GENIMAGE_CFG="board/orangepi/orangepipc/genimage.cfg" Maybe you could use the same BOARD_DIR trick than the one you've used in the post-build script? > +GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" > + > +rm -rf "${GENIMAGE_TMP}" > + > +genimage \ > + --rootpath "${TARGET_DIR}" \ > + --tmppath "${GENIMAGE_TMP}" \ > + --inputpath "${BINARIES_DIR}" \ > + --outputpath "${BINARIES_DIR}" \ > + --config "${GENIMAGE_CFG}" Use tab for indentation. > + > +RET=${?} > +exit ${RET} Just do exit $? > diff --git a/configs/orangepipc_defconfig b/configs/orangepipc_defconfig > new file mode 100644 > index 0000000..cd349c5 > --- /dev/null > +++ b/configs/orangepipc_defconfig > @@ -0,0 +1,26 @@ > +BR2_arm=y > +BR2_cortex_a7=y > +BR2_ARM_FPU_NEON_VFPV4=y Please use just VFPV4. Using NEON for floating point operations by default is not a good idea. From the gcc manual: If the selected floating-point hardware includes the NEON extension (e.g. -mfpu=?neon?), note that floating-point operations are not generated by GCC's auto-vectorization pass unless -funsafe-math-optimizations is also specified. This is because NEON hardware does not fully implement the IEEE 754 standard for floating-point arithmetic (in particular denormal values are treated as zero), so the use of NEON instructions may lead to a loss of precision. > +BR2_TARGET_GENERIC_HOSTNAME="OrangePi_PC" > +BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi PC" > +BR2_ROOTFS_POST_BUILD_SCRIPT="board/orangepi/orangepipc/post-build.sh" > +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/orangepi/orangepipc/post-image.sh" Please force the kernel headers version to a fixed version, like is done in all other defconfig files. For example: # Lock to 4.3 headers to avoid breaking with newer kernels BR2_KERNEL_HEADERS_VERSION=y BR2_DEFAULT_KERNEL_VERSION="4.3" BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_3=y (Of course adapt 4.3 to whatever kernel version you're using) > +BR2_LINUX_KERNEL=y > +BR2_LINUX_KERNEL_CUSTOM_GIT=y > +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="<https://github.com/jwrdegoede/linux-sunxi.git>" Please remove the < and > before and after the URL. I'm not even sure how it can work with such markers. > +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="a516ac6dda21e6f5edceecd08b475b16e360656b" > +BR2_LINUX_KERNEL_DEFCONFIG="sunxi" > +BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x40008000" The modern way is to boot using a zImage. Can you try using a zImage instead? > +BR2_LINUX_KERNEL_DTS_SUPPORT=y > +BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h3-orangepi-pc" > +BR2_TARGET_ROOTFS_EXT2=y > +BR2_TARGET_ROOTFS_EXT2_4=y > +# BR2_TARGET_ROOTFS_TAR is not set > +BR2_TARGET_UBOOT=y > +BR2_TARGET_UBOOT_BOARDNAME="orangepi_pc" > +BR2_TARGET_UBOOT_CUSTOM_GIT=y > +BR2_TARGET_UBOOT_CUSTOM_REPO_URL="<http://git.denx.de/u-boot.git>" Ditto < and > markers. > +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="4832e17787acb29734d895751bc7a594908aecc6" > +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y > +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" > +BR2_PACKAGE_HOST_GENIMAGE=y Thanks! Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com ^ permalink raw reply [flat|nested] 13+ messages in thread
* [Buildroot] buildroot support for OrangePI PC 2015-12-24 10:28 ` Thomas Petazzoni @ 2015-12-24 10:52 ` Eelco Chaudron 2015-12-24 11:18 ` Thomas Petazzoni 0 siblings, 1 reply; 13+ messages in thread From: Eelco Chaudron @ 2015-12-24 10:52 UTC (permalink / raw) To: buildroot Thanks Thomas, Will take a look at your comments and make the fixes and send you a patch. One quick question on the linux header part; This is a 4.4 based kernel, and no headers are available when specifying the version (as they live in a different directory on kernel.org). Guess I should force them to 4.3 for now. Thanks, Eelco > On 24 Dec 2015, at 11:28, Thomas Petazzoni <thomas.petazzoni@free-electrons.com> wrote: > > Eelco, > > On Thu, 24 Dec 2015 10:15:40 +0100, Eelco Chaudron wrote: > >> This is the diff; > > Thanks for the patch. Can you send it as a proper Git formatted patch? > See the Buildroot manual for instructions on how to do this. I have a > couple more comments below. > >> diff --git a/board/orangepi/orangepipc/genimage.cfg b/board/orangepi/orangepipc/genimage.cfg >> new file mode 100644 >> index 0000000..43c2249 >> --- /dev/null >> +++ b/board/orangepi/orangepipc/genimage.cfg >> @@ -0,0 +1,36 @@ >> +# Minimal SD card image for the OrangePi PC >> +# >> + >> +image boot.vfat { >> + vfat { >> + files = { >> + "uImage", >> + "sun8i-h3-orangepi-pc.dtb", >> + "boot.scr" >> + } >> + } >> + size = 10M >> +} > > Please fix the indentation here. I think we should use at least two > spaces for indentation, or maybe better one tab. > >> diff --git a/board/orangepi/orangepipc/post-build.sh b/board/orangepi/orangepipc/post-build.sh >> new file mode 100755 >> index 0000000..9f115cb >> --- /dev/null >> +++ b/board/orangepi/orangepipc/post-build.sh >> @@ -0,0 +1,14 @@ >> +#!/bin/sh >> +# post-build.sh for OrangePi PC taken from CubieBoard's post-build.sh >> +# 2013, Carlo Caione <<carlo.caione@gmail.com>> >> + >> +BOARD_DIR="$(dirname $0)" >> +MKIMAGE=$HOST_DIR/usr/bin/mkimage >> +BOOT_CMD=$BOARD_DIR/boot.cmd >> +BOOT_CMD_H=$BINARIES_DIR/boot.scr >> + >> +# U-Boot script >> +if [ -e $MKIMAGE -a -e $BOOT_CMD ]; > > This test is not needed IMO, just run the $MKIMAGE command > unconditionally. > >> +then >> + $MKIMAGE -C none -A arm -T script -d $BOOT_CMD $BOOT_CMD_H >> +fi >> diff --git a/board/orangepi/orangepipc/post-image.sh b/board/orangepi/orangepipc/post-image.sh >> new file mode 100755 >> index 0000000..05f6b70 >> --- /dev/null >> +++ b/board/orangepi/orangepipc/post-image.sh >> @@ -0,0 +1,16 @@ >> +#!/bin/bash > > Do we really need this to be a bash script ? #!/bin/sh is probably > sufficient. > >> + >> +GENIMAGE_CFG="board/orangepi/orangepipc/genimage.cfg" > > Maybe you could use the same BOARD_DIR trick than the one you've used > in the post-build script? > >> +GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" >> + >> +rm -rf "${GENIMAGE_TMP}" >> + >> +genimage \ >> + --rootpath "${TARGET_DIR}" \ >> + --tmppath "${GENIMAGE_TMP}" \ >> + --inputpath "${BINARIES_DIR}" \ >> + --outputpath "${BINARIES_DIR}" \ >> + --config "${GENIMAGE_CFG}" > > Use tab for indentation. > >> + >> +RET=${?} >> +exit ${RET} > > Just do exit $? > >> diff --git a/configs/orangepipc_defconfig b/configs/orangepipc_defconfig >> new file mode 100644 >> index 0000000..cd349c5 >> --- /dev/null >> +++ b/configs/orangepipc_defconfig >> @@ -0,0 +1,26 @@ >> +BR2_arm=y >> +BR2_cortex_a7=y >> +BR2_ARM_FPU_NEON_VFPV4=y > > Please use just VFPV4. Using NEON for floating point operations by > default is not a good idea. From the gcc manual: > > If the selected floating-point hardware includes the NEON extension > (e.g. -mfpu=?neon?), note that floating-point operations are not > generated by GCC's auto-vectorization pass unless > -funsafe-math-optimizations is also specified. This is because NEON > hardware does not fully implement the IEEE 754 standard for > floating-point arithmetic (in particular denormal values are treated > as zero), so the use of NEON instructions may lead to a loss of > precision. > > >> +BR2_TARGET_GENERIC_HOSTNAME="OrangePi_PC" >> +BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi PC" >> +BR2_ROOTFS_POST_BUILD_SCRIPT="board/orangepi/orangepipc/post-build.sh" >> +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/orangepi/orangepipc/post-image.sh" > > Please force the kernel headers version to a fixed version, like is > done in all other defconfig files. For example: > > # Lock to 4.3 headers to avoid breaking with newer kernels > BR2_KERNEL_HEADERS_VERSION=y > BR2_DEFAULT_KERNEL_VERSION="4.3" > BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_3=y > > (Of course adapt 4.3 to whatever kernel version you're using) > >> +BR2_LINUX_KERNEL=y >> +BR2_LINUX_KERNEL_CUSTOM_GIT=y >> +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="<https://github.com/jwrdegoede/linux-sunxi.git>" > > Please remove the < and > before and after the URL. I'm not even sure > how it can work with such markers. > >> +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="a516ac6dda21e6f5edceecd08b475b16e360656b" >> +BR2_LINUX_KERNEL_DEFCONFIG="sunxi" >> +BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x40008000" > > The modern way is to boot using a zImage. Can you try using a zImage > instead? > >> +BR2_LINUX_KERNEL_DTS_SUPPORT=y >> +BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h3-orangepi-pc" >> +BR2_TARGET_ROOTFS_EXT2=y >> +BR2_TARGET_ROOTFS_EXT2_4=y >> +# BR2_TARGET_ROOTFS_TAR is not set >> +BR2_TARGET_UBOOT=y >> +BR2_TARGET_UBOOT_BOARDNAME="orangepi_pc" >> +BR2_TARGET_UBOOT_CUSTOM_GIT=y >> +BR2_TARGET_UBOOT_CUSTOM_REPO_URL="<http://git.denx.de/u-boot.git>" > > Ditto < and > markers. > >> +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="4832e17787acb29734d895751bc7a594908aecc6" >> +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y >> +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" >> +BR2_PACKAGE_HOST_GENIMAGE=y > > Thanks! > > Thomas > -- > Thomas Petazzoni, CTO, Free Electrons > Embedded Linux, Kernel and Android engineering > http://free-electrons.com > _______________________________________________ > buildroot mailing list > buildroot at busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 13+ messages in thread
* [Buildroot] buildroot support for OrangePI PC 2015-12-24 10:52 ` Eelco Chaudron @ 2015-12-24 11:18 ` Thomas Petazzoni 0 siblings, 0 replies; 13+ messages in thread From: Thomas Petazzoni @ 2015-12-24 11:18 UTC (permalink / raw) To: buildroot EElco, On Thu, 24 Dec 2015 11:52:46 +0100, Eelco Chaudron wrote: > Will take a look at your comments and make the fixes and send you a patch. > > One quick question on the linux header part; This is a 4.4 based kernel, and no headers are > available when specifying the version (as they live in a different directory on kernel.org). > > Guess I should force them to 4.3 for now. Yes, the final 4.4 is not yet released, so you can't point to 4.4 for the kernel headers. Using 4.3 for the kernel headers is perfectly fine in the mean time. Thanks, Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com ^ permalink raw reply [flat|nested] 13+ messages in thread
* [Buildroot] buildroot support for OrangePI PC 2015-12-24 9:15 ` Eelco Chaudron 2015-12-24 10:28 ` Thomas Petazzoni @ 2015-12-27 0:04 ` Cam Hutchison 1 sibling, 0 replies; 13+ messages in thread From: Cam Hutchison @ 2015-12-27 0:04 UTC (permalink / raw) To: buildroot "Eelco Chaudron" <echaudron@xiot.nl> writes: >I decided to do some work on the OrangePI PC and I have a basic Linux 4.4 setup running. >It boots, and I have serial access to the board. Cool. I'll look over it. >Cam if you could share your 3.4 repo (and or 4.4 if it has better OrangePI support) I >can get started with this too. I haven't made a start yet, so I have no repo to share. >diff --git a/board/orangepi/orangepipc/boot.cmd b/board/orangepi/orangepipc/boot.cmd >new file mode 100644 >index 0000000..7d61e7b >--- /dev/null >+++ b/board/orangepi/orangepipc/boot.cmd >@@ -0,0 +1,8 @@ >+setenv fdt_high ffffffff >+ >+setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait >+ >+fatload mmc 0 $kernel_addr_r uImage >+fatload mmc 0 $fdt_addr_r sun8i-h3-orangepi-pc.dtb >+ >+bootm $kernel_addr_r - $fdt_addr_r >diff --git a/board/orangepi/orangepipc/genimage.cfg b/board/orangepi/orangepipc/genimage.cfg >new file mode 100644 >index 0000000..43c2249 >--- /dev/null >+++ b/board/orangepi/orangepipc/genimage.cfg >@@ -0,0 +1,36 @@ >+# Minimal SD card image for the OrangePi PC >+# >+ >+image boot.vfat { >+ vfat { >+ files = { >+ "uImage", >+ "sun8i-h3-orangepi-pc.dtb", >+ "boot.scr" >+ } >+ } >+ size = 10M >+} >+ >+image sdcard.img { >+ hdimage { >+ } >+ >+ partition u-boot { >+ in-partition-table = "no" >+ image = "u-boot-sunxi-with-spl.bin" >+ offset = 8192 >+ } >+ >+ partition boot { >+ partition-type = 0xC >+ bootable = "true" >+ image = "boot.vfat" >+ } >+ >+ partition rootfs { >+ partition-type = 0x83 >+ image = "rootfs.ext4" >+ size = 512M >+ } >+} >diff --git a/board/orangepi/orangepipc/post-build.sh b/board/orangepi/orangepipc/post-build.sh >new file mode 100755 >index 0000000..9f115cb >--- /dev/null >+++ b/board/orangepi/orangepipc/post-build.sh >@@ -0,0 +1,14 @@ >+#!/bin/sh >+# post-build.sh for OrangePi PC taken from CubieBoard's post-build.sh >+# 2013, Carlo Caione <<carlo.caione@gmail.com>> >+ >+BOARD_DIR="$(dirname $0)" >+MKIMAGE=$HOST_DIR/usr/bin/mkimage >+BOOT_CMD=$BOARD_DIR/boot.cmd >+BOOT_CMD_H=$BINARIES_DIR/boot.scr >+ >+# U-Boot script >+if [ -e $MKIMAGE -a -e $BOOT_CMD ]; >+then >+ $MKIMAGE -C none -A arm -T script -d $BOOT_CMD $BOOT_CMD_H >+fi >diff --git a/board/orangepi/orangepipc/post-image.sh b/board/orangepi/orangepipc/post-image.sh >new file mode 100755 >index 0000000..05f6b70 >--- /dev/null >+++ b/board/orangepi/orangepipc/post-image.sh >@@ -0,0 +1,16 @@ >+#!/bin/bash >+ >+GENIMAGE_CFG="board/orangepi/orangepipc/genimage.cfg" >+GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" >+ >+rm -rf "${GENIMAGE_TMP}" >+ >+genimage \ >+ --rootpath "${TARGET_DIR}" \ >+ --tmppath "${GENIMAGE_TMP}" \ >+ --inputpath "${BINARIES_DIR}" \ >+ --outputpath "${BINARIES_DIR}" \ >+ --config "${GENIMAGE_CFG}" >+ >+RET=${?} >+exit ${RET} These two lines are unnecessary. The script will exit with the exit code of the last command run. However I find it safer to add a "set -e" to the top of the script so that it will terminate early if any of the commands fail. This stops the script proceeding based on previous incomplete operations. With "set -e" the script will exit with the error code of the command that failed. >diff --git a/configs/orangepipc_defconfig b/configs/orangepipc_defconfig >new file mode 100644 >index 0000000..cd349c5 >--- /dev/null >+++ b/configs/orangepipc_defconfig >@@ -0,0 +1,26 @@ >+BR2_arm=y >+BR2_cortex_a7=y >+BR2_ARM_FPU_NEON_VFPV4=y >+BR2_TARGET_GENERIC_HOSTNAME="OrangePi_PC" >+BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi PC" >+BR2_ROOTFS_POST_BUILD_SCRIPT="board/orangepi/orangepipc/post-build.sh" >+BR2_ROOTFS_POST_IMAGE_SCRIPT="board/orangepi/orangepipc/post-image.sh" >+BR2_LINUX_KERNEL=y >+BR2_LINUX_KERNEL_CUSTOM_GIT=y >+BR2_LINUX_KERNEL_CUSTOM_REPO_URL="<https://github.com/jwrdegoede/linux-sunxi.git>" Those angled brackets in the URL look wrong. Does that really work? >+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="a516ac6dda21e6f5edceecd08b475b16e360656b" >+BR2_LINUX_KERNEL_DEFCONFIG="sunxi" >+BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x40008000" >+BR2_LINUX_KERNEL_DTS_SUPPORT=y >+BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h3-orangepi-pc" >+BR2_TARGET_ROOTFS_EXT2=y >+BR2_TARGET_ROOTFS_EXT2_4=y >+# BR2_TARGET_ROOTFS_TAR is not set >+BR2_TARGET_UBOOT=y >+BR2_TARGET_UBOOT_BOARDNAME="orangepi_pc" >+BR2_TARGET_UBOOT_CUSTOM_GIT=y >+BR2_TARGET_UBOOT_CUSTOM_REPO_URL="<http://git.denx.de/u-boot.git>" Ditto here. >+BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="4832e17787acb29734d895751bc7a594908aecc6" >+BR2_TARGET_UBOOT_FORMAT_CUSTOM=y >+BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin" >+BR2_PACKAGE_HOST_GENIMAGE=y >On 18 December 2015 23:23:20 +01:00, Arnout Vandecappelle <arnout@mind.be> wrote: >> On 18-12-15 14:22, Eelco Chaudron wrote: >> >> > Hi All, >> > >> > Was wondering if anyone has started working on OrangePi PC board support? >> > >> Not that I know of. But it should be quite similar to the cubieboard I think. >> >> If you make a defconfig for it, consider using genimage rather than a custom >> script like mkcubiecard. >> >> Regards, >> Arnout >> >> >> -- >> Arnout Vandecappelle arnout at mind be >> Senior Embedded Software Architect +32-16-286500 >> Essensium/Mind <http://www.mind.be> >> G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven >> LinkedIn profile: <http://www.linkedin.com/in/arnoutvandecappelle> >> GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF >> ^ permalink raw reply [flat|nested] 13+ messages in thread
* [Buildroot] buildroot support for OrangePI PC 2015-12-18 13:22 [Buildroot] buildroot support for OrangePI PC Eelco Chaudron 2015-12-18 22:23 ` Arnout Vandecappelle @ 2015-12-19 23:51 ` Cam Hutchison 2015-12-20 12:37 ` Thomas Petazzoni 1 sibling, 1 reply; 13+ messages in thread From: Cam Hutchison @ 2015-12-19 23:51 UTC (permalink / raw) To: buildroot Eelco Chaudron <echaudron@xiot.nl> writes: >Hi All, >Was wondering if anyone has started working on OrangePi PC board support? I'll be embarking on this in the new year (OrangePi Plus too). I plan is to come up with two defconfigs - one for the 3.4 kernel which supports the hardware ok but has a lot of code that is not mainlined and has a custom build process, and one for mainline which currently has limited support for the H3 and Orange Pi (although there is current activity so I'll also track the linux-sunxi kernel too). I'll keep my WIP on a github repo and I can let you know when I make a start. ^ permalink raw reply [flat|nested] 13+ messages in thread
* [Buildroot] buildroot support for OrangePI PC 2015-12-19 23:51 ` Cam Hutchison @ 2015-12-20 12:37 ` Thomas Petazzoni 0 siblings, 0 replies; 13+ messages in thread From: Thomas Petazzoni @ 2015-12-20 12:37 UTC (permalink / raw) To: buildroot Hello, On Sat, 19 Dec 2015 23:51:52 -0000, Cam Hutchison wrote: > I'll be embarking on this in the new year (OrangePi Plus too). I plan is > to come up with two defconfigs - one for the 3.4 kernel which supports > the hardware ok but has a lot of code that is not mainlined and has a > custom build process, and one for mainline which currently has limited > support for the H3 and Orange Pi (although there is current activity so > I'll also track the linux-sunxi kernel too). Note that we already have such a dual defconfig situation with the Olimex A20 Olinuxino, with olimex_a20_olinuxino_lime_defconfig using the mainline kernel, and olimex_a20_olinuxino_lime_mali_defconfig using the 3.4 sunxi kernel. So I guess we can do the same for other platforms if needed. Best regards, Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2015-12-27 0:04 UTC | newest] Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2015-12-18 13:22 [Buildroot] buildroot support for OrangePI PC Eelco Chaudron 2015-12-18 22:23 ` Arnout Vandecappelle 2015-12-20 12:32 ` Eelco Chaudron 2015-12-20 12:45 ` Thomas Petazzoni 2015-12-20 18:17 ` Eelco Chaudron 2015-12-20 18:25 ` Eelco Chaudron 2015-12-24 9:15 ` Eelco Chaudron 2015-12-24 10:28 ` Thomas Petazzoni 2015-12-24 10:52 ` Eelco Chaudron 2015-12-24 11:18 ` Thomas Petazzoni 2015-12-27 0:04 ` Cam Hutchison 2015-12-19 23:51 ` Cam Hutchison 2015-12-20 12:37 ` Thomas Petazzoni
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.