Releases: ii/edison-src
2.1
I'm copying the release here and also exporting the ext4 image as a tarball for use with docker as a base-image available on docker hub at yocto/edison
yocto/edison:ww18-15
You can use the directly via
docker run -ti yocto/edison:ww18-15
or in you Dockerfile as
FROM yocto/edison:ww18-15
They are build fairly simply:
$ unzip edison-image-ww18-15.zip
$ ls -lah edison-image-edison.ext4
-rw-r--r-- 1 hh hh 512M May 8 22:05 edison-image-edison.ext4
$ sudo mount -o loop edison-image-edison.ext4 /mnt
$ cd /mnt2
$ sudo tar cvfz /tmp/edison-image-edison.ext4.tar.gz .
# edison-image-edison.ext4.tar.gz is attached below
$ docker import -t yocto/edison:ww18-15 < /tmp/edison-image-edison.ext4.tar.gz
# optionally I push it to dockerhub
$ docker push yocto/edison:ww18-15
Dockerfile
Now we can utilized that base in a Dockerfile
FROM yocto/edison:ww18-15
ADD base-feeds.conf /etc/opkg/
RUN opkg update
# most of the software we need to compile stuff
RUN opkg install python-pip bluez5-obex bluez5-dev bluez5-testtools bluez-hcidump \
bash bison coreutils diffutils e2fsprogs elfutils findutils git iw less libevent-dev lirc \
nodejs opkg-utils quilt rsync ruby-staticdev screen syslinux tar tcpdump time \
util-linux-uuidgen uuid vim
# python stuff for bluez
RUN curl https://bootstrap.pypa.io/ez_setup.py | python
RUN pip install ipython && pip install evdev && pip install PyBluez
# RUN pip install dbus-python # IOError: [Errno 2] No such file or directory: '/tmp/pip-build-root/dbus-python/setup.py'
# emacs is a must
RUN cd /tmp && wget -O - http://mirrors.ibiblio.org/gnu/ftp/gnu/emacs/emacs-24.5.tar.gz \
| tar xfz - && cd /tmp/emacs-24.5 && ./configure --without-x && make -j 11 install \
&& cd /tmp && rm -rf /tmp/emacs-24.5
# cpio is required
RUN cd /tmp && wget -O - wget http://ftp.gnu.org/gnu/cpio/cpio-2.11.tar.gz \
| tar xfz - && cd /tmp/cpio-2.11 && sed -i -e '/gets is a/d' gnu/stdio.in.h \
&& ./configure --enable-mt && make -j 12 install
compile/edison
$ docker build -t compile/edison .
$ docker push compile/edison # optionally push to dockerhub
$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
compile/edison latest 7525790f6dd3 15 minutes ago 655.9 MB
I'm hoping to get it to a point where it can self-host a compile of edison-src into an image that can do the same.
hh@iicoreos4 ~/edison-src $ docker run -ti --volume=`pwd`:/edison-src --net=host compile/edison /bin/bash --login
root@iicoreos4:/# cd /edison-src/
root@iicoreos4:/edison-src# make
/bin/bash -c "source out/current/poky/oe-init-build-env /edison-src/out/current/build ; bitbake -c cleansstate edison-image ; bitbake edison-image"
### Shell environment set up for builds. ###
You can now run 'bitbake <target>'
Common targets are:
core-image-minimal
core-image-sato
meta-toolchain
adt-installer
meta-ide-support
You can also run generated qemu images with a command like 'runqemu qemux86'
Loading cache: 100% |#########################################################################################################################################| ETA: 00:00:00
Loaded 1290 entries from dependency cache.
NOTE: Resolving any missing task queue dependencies
Build Configuration:
BB_VERSION = "1.22.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "Unknown"
TARGET_SYS = "i586-poky-linux"
MACHINE = "edison"
DISTRO = "poky-edison"
DISTRO_VERSION = "1.6.1"
TUNE_FEATURES = "m32 core2"
TARGET_FPU = ""
meta
meta-yocto
meta-yocto-bsp = "(detachedfromyocto-1.6.1):c4f1f0f491f988901bfd6965f7d10f60cb94a76f"
meta-intel-edison-bsp
meta-intel-edison-distro = "ww18-15:866d704e50fcfd88dfed7ea06c50363cbbae9ead"
meta-intel-iot-middleware = "(detachedfrom52ca21c):52ca21c1587ff7870599eee3a08179090af27848"
meta-intel-arduino = "ww18-15:866d704e50fcfd88dfed7ea06c50363cbbae9ead"
NOTE: Preparing runqueue
NOTE: Executing RunQueue Tasks
NOTE: Tasks Summary: Attempted 2 tasks of which 0 didn't need to be rerun and all succeeded.
Loading cache: 100% |#########################################################################################################################################| ETA: 00:00:00
Loaded 1290 entries from dependency cache.
NOTE: Resolving any missing task queue dependencies
Build Configuration:
BB_VERSION = "1.22.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "Unknown"
TARGET_SYS = "i586-poky-linux"
MACHINE = "edison"
DISTRO = "poky-edison"
DISTRO_VERSION = "1.6.1"
TUNE_FEATURES = "m32 core2"
TARGET_FPU = ""
meta
meta-yocto
meta-yocto-bsp = "(detachedfromyocto-1.6.1):c4f1f0f491f988901bfd6965f7d10f60cb94a76f"
meta-intel-edison-bsp
meta-intel-edison-distro = "ww18-15:866d704e50fcfd88dfed7ea06c50363cbbae9ead"
meta-intel-iot-middleware = "(detachedfrom52ca21c):52ca21c1587ff7870599eee3a08179090af27848"
meta-intel-arduino = "ww18-15:866d704e50fcfd88dfed7ea06c50363cbbae9ead"
NOTE: Preparing runqueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
ERROR: Error executing a python function in /edison-src/out/linux64/poky/meta/recipes-devtools/gnu-config/gnu-config_20120814.bb:
The stack trace of python calls that resulted in this exception/failure was:
File: 'relocatable_binaries_preprocess', lineno: 6, function: <module>
0002:def relocatable_binaries_preprocess(d):
0003: rpath_replace(d.expand('/edison-src/out/linux64/build/tmp/work/x86_64-linux/gnu-config-native/20120814-r0/sysroot-destdir/'), d)
0004:
0005:
*** 0006:relocatable_binaries_preprocess(d)
0007:
File: 'relocatable_binaries_preprocess', lineno: 3, function: relocatable_binaries_preprocess
0001:
0002:def relocatable_binaries_preprocess(d):
*** 0003: rpath_replace(d.expand('/edison-src/out/linux64/build/tmp/work/x86_64-linux/gnu-config-native/20120814-r0/sysroot-destdir/'), d)
0004:
0005:
0006:relocatable_binaries_preprocess(d)
0007:
File: 'chrpath.bbclass', lineno: 7, function: rpath_replace
0003:
0004: for bindir in bindirs:
0005: #bb.note ("Processing directory " + bindir)
0006: directory = path + "/" + bindir
*** 0007: process_dir (path, directory, d)
0008:
File: 'chrpath.bbclass', lineno: 43, function: process_dir
0039: perms = None
0040: else:
0041: # Temporarily make the file writeable so we can chrpath it
0042: os.chmod(fpath, perms|stat.S_IRWXU)
*** 0043: process_file(cmd, fpath, rootdir, baseprefix, tmpdir, d)
0044:
0045: if perms:
0046: os.chmod(fpath, perms)
0047:
File: 'chrpath.bbclass', lineno: 4, function: process_file_linux
File "chrpath.bbclass", line 4, in process_file_linux
File: '/usr/lib/python2.7/subprocess.py', lineno: 679, function: __init__
0675: cwd, env, universal_newlines,
0676: startupinfo, creationflags, shell,
0677: p2cread, p2cwrite,
0678: c2pread, c2pwrite,
*** 0679: errread, errwrite)
0680:
0681: if mswindows:
0682: if p2cwrite is not None:
0683: p2cwrite = msvcrt.open_osfhandle(p2cwrite.Detach(), 0)
File: '/usr/lib/python2.7/subprocess.py', lineno: 1249, function: _execute_child
1245: child_exception = pickle.loads(data)
1246: for fd in (p2cwrite, c2pread, errread):
1247: if fd is not None:
1248: os.close(fd)
*** 1249: raise child_exception
1250:
1251:
1252: def _handle_exitstatus(self, sts, _WIFSIGNALED=os.WIFSIGNALED,
1253: _WTERMSIG=os.WTERMSIG, _WIFEXITED=os.WIFEXITED,
Exception: OSError: [Errno 2] No such file or directory
ERROR: Function failed: relocatable_binaries_preprocess
ERROR: Logfile of failure stored in: /edison-src/out/linux64/build/tmp/work/x86_64-linux/gnu-config-native/20120814-r0/temp/log.do_populate_sysroot.146
ERROR: Task 1310 (virtual:native:/edison-src/out/linux64/poky/meta/recipes-devtools/gnu-config/gnu-config_20120814.bb, do_populate_sysroot) failed with exit code '1'
NOTE: Tasks Summary: Attempted 80 tasks of which 75 didn't need to be rerun and 1 failed.
Waiting for 0 running tasks to finish:
Summary: 1 task failed:
virtual:native:/edison-src/out/linux64/poky/meta/recipes-devtools/gnu-config/gnu-config_20120814.bb, do_populate_sysroot
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
Makefile:49: recipe for target 'edison-image' failed
make: *** [edison-image] Error 1
ww05-15 gtihub release w/ tarballs extracted
I've noticed that the yocto binaries and sources have been down for five days, so here's some simple instructions to build an edison image without having to go to Intel.
Download sources from github:
git clone [email protected]:ii/edison-src.git
cd /edison-src
./device-software/setup.sh
source poky/oe-init-build-env
touch conf/sanity.conf # if building as root... BUT you shouldn't do that
bitbake edison-image
My version of setup.sh downloads tarballs from this release page rather than embedding them into the git repo.