OLIMEX / OLINUXINO

OLINUXINO is Open Source / Open Hardware, low cost from EUR 24 Linux Industrial grade Single Board Computer capable to operate -25+85C
www.olimex.com
1.35k stars 757 forks source link

What distro is best to use for the latest A20-build? #68

Closed jcalfee closed 5 years ago

jcalfee commented 5 years ago

I'm following this guide:

https://raw.githubusercontent.com/OLIMEX/OLINUXINO/master/SOFTWARE/A20/A20-build-3.4.103-release-8/BUILD_DESCRIPTION_A20_Olimex_kernel_3.4.103%2B_Jessie_rel_8.txt

These packages are not in apt-get in debian stretch (my typical selection) or debian squeeze: gcc-4.7-arm-linux-gnueabihf ncurses-dev

What distro do you recommend for the build environment? I'm using Docker so it is not a big deal to change it. It is just tricky to find the distro that will both find the old version of gcc (gcc-4.7 gnueabihf) even when I try adding this repository:

deb http://www.emdebian.org/debian squeeze main
in the file below:
/etc/apt/sources.list

Please consider using something like docker, it will help to re-create the environment and builds..

jcalfee commented 5 years ago

https://lists.debian.org/debian-arm/2014/03/msg00024.html

That link says to use Wheezy and deb http://www.emdebian.org/debian unstable main

$ apt-get install -y --force-yes gcc-4.7-arm-linux-gnueabihf ncurses-dev uboot-mkimage build-essential git
...
Note, selecting 'libncurses5-dev' instead of 'ncurses-dev'
...
0 upgraded, 86 newly installed, 0 to remove and 0 not upgraded.
Need to get 86.8 MB of archives.
After this operation, 217 MB of additional disk space will be used.
WARNING: The following packages cannot be authenticated!
  binutils-arm-linux-gnueabihf gcc-4.7-arm-linux-gnueabihf-base cpp-4.7-arm-linux-gnueabihf libc-bin-armhf-cross libc6-armhf-cross libgcc1-armhf-cross libgomp1-armhf-cross
  gcc-4.7-arm-linux-gnueabihf libc-dev-bin-armhf-cross linux-libc-dev-armhf-cross libc6-dev-armhf-cross

1) Is the substitution to 'libncurses5-dev' ok? 2) I guess I"m missing the gpg key for emdebian.org?

Well, that installed, but:

$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 uImage
make: arm-linux-gnueabihf-gcc: Command not found

I found something similar and linked it:

# /usr/bin/arm-linux-gnueabihf-gcc-4.7
ln -s /usr/bin/arm-linux-gnueabihf-gcc-4.7 /usr/bin/arm-linux-gnueabihf-gcc

That worked, the make command above ended in the expected output:

...
  Image arch/arm/boot/uImage is ready

Well, it worked. Another point of confusion for me was that the message (msg00024.html) reference wheezy with emdebian unstable (deb http://www.emdebian.org/debian unstable main). That message was 4 years old (has the date /2014/ in the URL). I was thinking, that must be stable by now.

DanKoloff commented 5 years ago

Thank you for the contribution. Our sunxi kernel images and instructions were made using Ubuntu 16.04.3 LTS machine so it is entirely possible to have differences and problems with different distributions.

We switched to Ubuntu 18.04.1 LTS for the building of our Armbian-based images. Expect them out soon.

jcalfee commented 5 years ago

Ok, next time I'll try Ubuntu 16 and look for notes about the upgrade. Thanks..