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

Build for: A20-build-3.4.103-release-8 #70

Closed jcalfee closed 4 years ago

jcalfee commented 5 years ago

This folder has one build file and it is for "jessie": BUILD_DESCRIPTION_A20_Olimex_kernel_3.4.103%2B_Jessie_rel_8.txt

The Debian "jessie" release does not work out so well. I think it is time to update this, we can see in the directions it then tries to add a "squeeze" repository to the apt sources saying "if you use debian".

I have been unable to get a proper build with this file using various versions of Debian and using Ubuntu 16.04. So, I recommend to pick one disto and test it well. Use something like Docker and be sure it builds.

To get you started, this is how this might easily be done. I'll set it up as documented with the inconstancy but you may take the opportunity to change to ubuntu and use a better tag for emdebian.org:

./Dockerfile

FROM debian:jessie
RUN echo deb http://www.emdebian.org/debian squeeze main >> /etc/apt/sources.list &&\
    apt-get update &&\
    apt-get install -y ca-certificates wget &&\
    wget 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
CMD bash

Then build the environment and get everything working:

docker build -t olimex .
mkdir -p ~/opt/a20-olimex

# --rm just removes dockers image of the "run" session (those take a lot of disk space)
docker run --rm -v ~/opt/a20-olimex:/a20-olimex -it olimex

# "run" runs the CMD in the docker file, that is "bash" .. so we get a bash shell in the docker
root@97554b8228ff:/# cd /a20-olimex/
root@97554b8228ff:/a20-olimex# apt-get install gcc-4.7-arm-linux-gnueabihf ncurses-dev uboot-mkimage build-essential git
...
# build everything ..

# save all the hard work and use it to update the Dockerfile above
history -a && cp ~/.bash_history /a20-olimex
exit

I have explored several avenues to try and get everything to build. This is time consuming because the toolchain and code is picky and I'm not familiar with this process. I can respect that you may only want to have 1 build file to maintain, but it really should work especially since there is a product for sale depending on this. Using Docker opens the door to publishing an environments that work well and should cut down on your support issues. If you have any questions about docker I'm happy to help.

jcalfee commented 5 years ago

Related:

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

https://github.com/OLIMEX/OLINUXINO/issues/68#issuecomment-445209592