Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add image with all packages required for compilation in the qemu image #8

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -153,3 +153,12 @@ RUN apt-get update && \
apt-get install -y libevdev2 libsdl2-2.0-0

CMD run_xochitl.sh

FROM qemu-rm2fb AS qemu-dev

ADD install_devtools.sh /opt

RUN run_vm.sh -serial null -daemonize && \
wait_ssh.sh && \
cat /opt/install_devtools.sh | ssh root@localhost && \
save_vm.sh
29 changes: 29 additions & 0 deletions install_devtools.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#!/bin/sh

set -eu

opkg update
echo "Installing basic build tools"
opkg install gcc binutils busybox gawk ldd make sed tar
echo "Installing recommended build tools"
opkg install coreutils-install diffutils ldconfig patch pkg-config --force-overwrite
echo "Installing automake, cmake, meson, and ninja"
opkg install automake libintl-full libtool-bin cmake icu libopenssl bash git git-http python3-pip python3-setuptools coreutils-od
python3 -m pip install -U wheel
cd /opt/tmp
git clone https://github.com/ninja-build/ninja.git
cd ./ninja
git checkout release
CONFIG_SHELL=/opt/bin/bash python3 ./configure.py --bootstrap
install -Dm0755 -t /opt/bin ./ninja
cd /opt/tmp && rm -Rf /opt/tmp/ninja
python3 -m pip install -U meson
echo "Installing header files"
for pkg in gcc libncurses-dev libxml2-dev python3-dev ruby-dev zlib-dev; do
if opkg list-installed "${pkg}"; then
opkg install "${pkg}" --force-overwrite --force-reinstall;
fi;
done
/opt/bin/busybox wget -qO- "$(/opt/bin/busybox sed -Ene \
's|^src/gz[[:space:]]entware[[:space:]]https?([[:graph:]]+)|http\1/include/include.tar.gz|p' \
/opt/etc/opkg.conf)" | /opt/bin/busybox tar x -vzC /opt/include