2 Replies Latest reply on Oct 8, 2014 2:34 PM by daveland

    Bulding Edison Yocto Image with Bash shell

    daveland

      Copied from this discussion... to make it a separate topic for others to find

      https://communities.intel.com/message/255230#255230


      Edit[#1  if all you want is bash then go get it from the package repo ] 

      here: https://communities.intel.com/message/254806




      I want to run clojure on the edison  It relies on Leiningen pkg manager that needs the bash shell to install.  The default yocto image does not have bash



      I'm sure you could use opk to install bash compiled on the Edison sdk.  but I have not learned that yet...

      This method rebuilds the entire Yocto image just to add one tool, bash, to that image. I have other tools I want to add, HTOP, nano and this is a way for me to progress towards my own custom image with all my needs installed




      getting bash on Edison....


      All of my build problems were solved by building using a FRESH 64 bit Ubuntu VM.


      I started with a Fresh 64 bit  VM of Ubuntu 14.04 ( Virtualbox Running under windows, highly recommended.. except for USB issues mentioned below)

      added these packages ( not sure if all are needed... but hey it worked)


      $ sudo apt-get install sed wget cvs subversion git-core coreutils \

        unzip texi2html texinfo libsdl1.2-dev docbook-utils gawk \

        python-pysqlite2 diffstat help2man make gcc build-essential \

        g++ desktop-file-utils chrpath libgl1-mesa-dev libglu1-mesa-dev \

        mercurial autoconf automake groff libtool xterm


      I used the edison linux source  for the build from this page

      Edison - Software Downloads



      This gets the file

      edison-src-weekly-68.tgz

       

       

      Follow the instructions  below to get a clean build of the unmodified Yocto image, then flash it and test it on the Edison to be sure it boots

      Re: Sharing information about compiling Edison OS with Yocto.

       

      Please note that the page refers to /poly and that should be /poky

      don't forget to always do the line below in a new shell to get the environment set before you run bitbake

       

      cd ~/edison/edison-src/poky

      source poky/oe-init-build-env

      cd ~/edison/edison-src/build

      bitbake edison-image


      I found that I had to rerun bitbake several times if my slow internet conneciton timed out on a file download

      It seems that bitbake does not really try that hard if a site is down or busy..

      This takes 6hrs on my "quad core" non intel machine.  It might be faster on genuine Intel


      cd ~/edison/edison-src/device-software/utils/flash

      ./postBuild.sh


      ./flashall.sh --keep-data


      Note: when running the flashall script, you can pass it the --keep-data option to preserve your /home flash partition

       

      I Keep all my personal programs and data in /home/root  and with the --keep-data option , it is not erased when a new image is loaded

       

      Log into the image on the serial port (usb) as root

       

      ( use df -k to make sure that the image does not use up too much space on /dev/root)  I think this is 360Meg for my image with bash  added

       

      root@Edison1:~/clojure/clojure-1.6.0# df -k

      Filesystem          1K-blocks      Used Available Use% Mounted on

      /dev/root              475080    360664    77720  82% /

      devtmpfs                491708        0    491708  0% /dev

       

      Once that image works,  now we need to add the bash shell to the local.conf and re-run bitbake

       

      go to ~/edison-src/build/conf/

      edit the file local.conf

      add the Bold line below to the  end of the local.conf file

       

      IMAGE_INSTALL_append = " bash"

       

      Rebuild...  this will only take 10 minutes or so

       

      cd ~/edison/edison-src/poky

      source poky/oe-init-build-env

      cd ~/edison/edison-src/build

      bitbake edison-image


      It should load the files from  for bash and then build it and then build a new image

       

      cd ~/edison/edison-src/device-software/utils/flash

      ./postBuild.sh


      ./flashall.sh --keep-data


      Note:  I cannot get USB to work from within a VM.  So the ./flashall.sh will not work for me.

      I move the toflash directory to a shared folder in the host windows File sysytem and the run flashall.bat from a

      DOS shell


      log into the image and see if /bin/bash exists...


      /bin/bash

       

      With bash and Java 7-067 downloaded  I was able to get clojure and Leiningen to run on Edison!!

      Now to try Functional Programming in the small.

       

      Dave