working qemu target and containerized vm booting

This commit is contained in:
Lance Vick 2020-06-15 01:08:20 -07:00
commit 622272fb2c
Signed by: lrvick
GPG Key ID: 8E47A1EC35A1551D
18 changed files with 8645 additions and 0 deletions

0
.gitmodules vendored Normal file
View File

90
Makefile Normal file
View File

@ -0,0 +1,90 @@
NAME := unilinux
IMAGE := polychain/$(NAME):latest
TARGET := qemu
docker = docker
executables = $(docker)
.DEFAULT_GOAL := all
## Primary Targets
.PHONY: all
all: fetch build
.PHONY: image
image:
$(docker) build \
--tag $(IMAGE) \
--file $(PWD)/config/container/Dockerfile \
$(IMAGE_OPTIONS) \
$(PWD)
.PHONY: build
build:
$(contain) build
cp -R build/buildroot/output/images/* release/*
.PHONY: fetch
fetch:
mkdir -p build release
$(contain) fetch
.PHONY: clean
clean:
$(contain) clean
## Development Targets
.PHONY: shell
shell:
$(docker) inspect "$(NAME)" \
&& $(docker) exec --interactive --tty "$(NAME)" shell \
|| $(contain) shell
.PHONY: menuconfig
menuconfig:
$(contain) menuconfig
.PHONY: vm
vm:
$(contain) vm
.PHONY: update-packages
update-packages:
$(docker) run \
--rm \
--detach \
--name "$(NAME)" \
--user $(userid):$(groupid) \
--volume $(PWD)/config:/home/build/config \
--volume $(PWD)/scripts:/home/build/scripts \
$(IMAGE) tail -f /dev/null
$(docker) exec -it --user=root "$(NAME)" update-packages
$(docker) cp \
"$(NAME):/etc/apt/packages.list" \
"$(PWD)/config/container/packages.list"
$(docker) rm -f "$(NAME)"
## Make Helpers
check_executables := $(foreach exec,$(executables),\$(if \
$(shell which $(exec)),some string,$(error "No $(exec) in PATH")))
userid = $(shell id -u)
groupid = $(shell id -g)
contain := \
$(docker) run \
--rm \
--tty \
--interactive \
--name "$(NAME)" \
--hostname "$(NAME)" \
--user $(userid):$(groupid) \
--env TARGET=$(TARGET) \
--security-opt seccomp=unconfined \
--volume $(PWD)/build:/home/build/build \
--volume $(PWD)/config:/home/build/config \
--volume $(PWD)/release:/home/build/release \
--volume $(PWD)/scripts:/home/build/scripts \
$(IMAGE)

View File

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,2 @@
name: Unilinux
desc: Linux Unikernel configs for high security use cases

View File

2
config/config.env Normal file
View File

@ -0,0 +1,2 @@
BUILDROOT_REF=95fdb33f71f8a2d6a6e86fa3c6eb2968b6440b88

View File

@ -0,0 +1,67 @@
ARG DEBIAN_IMAGE_HASH=4ab3309ba955211d1db92f405be609942b595a720de789286376f030502ffd6f
ARG GOLANG_IMAGE_HASH=84349ee862d8bafff35e0d2bfd539da565b536b4dfce654773fc21a1db2da6d7
FROM golang@sha256:${GOLANG_IMAGE_HASH} as gotools
ARG FIXUID_GIT_REF="0ec93d22e52bde5b7326e84cb62fd26a3d20cead"
ARG OZZOCONFIG_GIT_REF="0ff174cf5aa6480026e0b40c14fd9cfb61c4abf6"
ARG JSONPREPROCESS_GIT_REF="a4e954386171be645f1eb7c41865d2624b69259d"
ARG TOML_GIT_REF="3012a1dbe2e4bd1391d42b32f0577cb7bbc7f005"
ARG YAMLV2_GIT_REF="51d6538a90f86fe93ac480b35f37b2be17fef232"
ARG GLIDE_GIT_REF="b94b39d657d8abcccba6545e148f1201aee6ffec"
RUN apk add bash git make
RUN printf "\
github.com/boxboat/fixuid.git github.com/boxboat/fixuid ${FIXUID_GIT_REF} \n\
github.com/go-ozzo/ozzo-config github.com/go-ozzo/ozzo-config ${OZZOCONFIG_GIT_REF} \n\
github.com/hnakamur/jsonpreprocess github.com/hnakamur/jsonpreprocess ${JSONPREPROCESS_GIT_REF} \n\
github.com/BurntSushi/toml github.com/BurntSushi/toml ${TOML_GIT_REF} \n\
github.com/go-yaml/yaml gopkg.in/yaml.v2 ${YAMLV2_GIT_REF} \n" \
> /go/src/repos
RUN echo ' \
set -o nounset -o pipefail -o errexit; \
cat /go/src/repos | while read -r line; do \
repo=$(echo $line | awk "{ print \$1 }"); \
folder=$(echo $line | awk "{ print \$2 }"); \
ref=$(echo $line | awk "{ print \$3 }"); \
git clone "https://${repo}" "/go/src/${folder}"; \
git -C "/go/src/${folder}" checkout ${ref}; \
done' \
| bash
RUN go build -o /usr/local/bin/fixuid github.com/boxboat/fixuid
FROM debian@sha256:${DEBIAN_IMAGE_HASH} as debian
ENV DEBIAN_FRONTEND=noninteractive \
LANG=C.UTF-8 \
TZ=UTC \
TERM=xterm-256color \
HOME=/home/build \
PATH=/home/build/scripts:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
## Setup fixuid for mounting host-dirs with correct permissions during dev
COPY --from=gotools /usr/local/bin/ /usr/local/bin/
RUN chown root:root /usr/local/bin/fixuid \
&& chmod 4755 /usr/local/bin/fixuid \
&& mkdir -p /etc/fixuid \
&& printf "user: build\ngroup: build\npaths:\n - /\n - /home/build/build\n" > /etc/fixuid/config.yml
ENTRYPOINT ["/usr/local/bin/fixuid", "-q"]
## Install packages from packages.list
ADD config/container/packages.list /etc/apt/packages.list
RUN apt update -y \
&& apt install -y $(cat /etc/apt/packages.list) \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
## Create build user with sudo privs
RUN useradd -G plugdev,sudo -ms /bin/bash build \
&& chown -R build:build /home/build \
&& echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
WORKDIR /home/build
USER build

View File

@ -0,0 +1,497 @@
adduser=3.118
adwaita-icon-theme=3.30.1-1
apt=1.8.2.1
at-spi2-core=2.30.0-7
base-files=10.3+deb10u4
base-passwd=3.5.46
bash=5.0-4
bc=1.07.1-2+b1
binutils=2.31.1-16
binutils-common:amd64=2.31.1-16
binutils-x86-64-linux-gnu=2.31.1-16
bsdutils=1:2.33.1-0.1
build-essential=12.6
bzip2=1.0.6-9.2~deb10u1
ca-certificates=20200601~deb10u1
coreutils=8.30-3
cpio=2.12+dfsg-9
cpp=4:8.3.0-1
cpp-8=8.3.0-6
dash=0.5.10.2-5
dbus=1.12.16-1
dbus-user-session=1.12.16-1
dconf-gsettings-backend:amd64=0.30.1-2
dconf-service=0.30.1-2
debconf=1.5.71
debian-archive-keyring=2019.1
debianutils=4.8.6.1
dialog=1.3-20190211-1
diffutils=1:3.7-3
dirmngr=2.2.12-1+deb10u1
dmsetup=2:1.02.155-3
dpkg=1.19.7
dpkg-dev=1.19.7
e2fsprogs=1.44.5-1+deb10u3
fakeroot=1.23-1
fdisk=2.33.1-0.1
file=1:5.35-4+deb10u1
findutils=4.6.0+git+20190209-2
fontconfig=2.13.1-2
fontconfig-config=2.13.1-2
fonts-dejavu-core=2.37-1
g++=4:8.3.0-1
g++-8=8.3.0-6
gcc=4:8.3.0-1
gcc-8=8.3.0-6
gcc-8-base:amd64=8.3.0-6
git=1:2.20.1-2+deb10u3
git-man=1:2.20.1-2+deb10u3
glib-networking:amd64=2.58.0-2
glib-networking-common=2.58.0-2
glib-networking-services=2.58.0-2
gnupg=2.2.12-1+deb10u1
gnupg-l10n=2.2.12-1+deb10u1
gnupg-utils=2.2.12-1+deb10u1
gpg=2.2.12-1+deb10u1
gpg-agent=2.2.12-1+deb10u1
gpg-wks-client=2.2.12-1+deb10u1
gpg-wks-server=2.2.12-1+deb10u1
gpgconf=2.2.12-1+deb10u1
gpgsm=2.2.12-1+deb10u1
gpgv=2.2.12-1+deb10u1
grep=3.3-1
gsettings-desktop-schemas=3.28.1-1
gstreamer1.0-libav:amd64=1.15.0.1+git20180723+db823502-2
gstreamer1.0-plugins-base:amd64=1.14.4-2
gstreamer1.0-plugins-good:amd64=1.14.4-1
gstreamer1.0-plugins-ugly:amd64=1.14.4-1
gstreamer1.0-x:amd64=1.14.4-2
gtk-update-icon-cache=3.24.5-1
gzip=1.9-3
hicolor-icon-theme=0.17-2
hostname=3.21
i965-va-driver:amd64=2.3.0+dfsg1-1
ibverbs-providers:amd64=22.1-1
init-system-helpers=1.56+nmu1
intel-media-va-driver:amd64=18.4.1+dfsg1-1
iproute2=4.20.0-2
iputils-ping=3:20180629-2+deb10u1
ipxe-qemu=1.0.0+git-20190125.36a4c85-1
iso-codes=4.2-1
krb5-locales=1.17-3
less=487-0.1+b1
liba52-0.7.4:amd64=0.7.4-19
libaa1:amd64=1.4p5-46
libaacs0:amd64=0.9.0-2
libacl1:amd64=2.2.53-4
libaio1:amd64=0.3.112-3
libalgorithm-diff-perl=1.19.03-2
libalgorithm-diff-xs-perl=0.04-5+b1
libalgorithm-merge-perl=0.08-3
libaom0:amd64=1.0.0-3
libapparmor1:amd64=2.13.2-10
libapt-pkg5.0:amd64=1.8.2.1
libargon2-1:amd64=0~20171227-0.2
libasan5:amd64=8.3.0-6
libasound2:amd64=1.1.8-1
libasound2-data=1.1.8-1
libass9:amd64=1:0.14.0-2
libassuan0:amd64=2.5.2-1
libasyncns0:amd64=0.8-6
libatk-bridge2.0-0:amd64=2.30.0-5
libatk1.0-0:amd64=2.30.0-2
libatk1.0-data=2.30.0-2
libatomic1:amd64=8.3.0-6
libatspi2.0-0:amd64=2.30.0-7
libattr1:amd64=1:2.4.48-4
libaudit-common=1:2.8.4-3
libaudit1:amd64=1:2.8.4-3
libavahi-client3:amd64=0.7-4+b1
libavahi-common-data:amd64=0.7-4+b1
libavahi-common3:amd64=0.7-4+b1
libavc1394-0:amd64=0.5.4-5
libavcodec58:amd64=7:4.1.4-1~deb10u1
libavfilter7:amd64=7:4.1.4-1~deb10u1
libavformat58:amd64=7:4.1.4-1~deb10u1
libavutil56:amd64=7:4.1.4-1~deb10u1
libbdplus0:amd64=0.1.2-3
libbinutils:amd64=2.31.1-16
libblkid1:amd64=2.33.1-0.1
libbluetooth3:amd64=5.50-1.2~deb10u1
libbluray2:amd64=1:1.1.0-1
libbrlapi0.6:amd64=5.6-10+deb10u1
libbs2b0:amd64=3.1.0+dfsg-2.2
libbsd0:amd64=0.9.1-2
libbz2-1.0:amd64=1.0.6-9.2~deb10u1
libc-bin=2.28-10
libc-dev-bin=2.28-10
libc6:amd64=2.28-10
libc6-dev:amd64=2.28-10
libcaca0:amd64=0.99.beta19-2.1
libcacard0:amd64=1:2.6.1-1
libcairo-gobject2:amd64=1.16.0-4
libcairo2:amd64=1.16.0-4
libcap-ng0:amd64=0.7.9-2
libcap2:amd64=1:2.25-2
libcap2-bin=1:2.25-2
libcapstone3:amd64=4.0.1+really+3.0.5-1
libcc1-0:amd64=8.3.0-6
libcdio18:amd64=2.0.0-2
libcdparanoia0:amd64=3.10.2+debian-13
libchromaprint1:amd64=1.4.3-3
libcodec2-0.8.1:amd64=0.8.1-2
libcolord2:amd64=1.4.3-4
libcom-err2:amd64=1.44.5-1+deb10u3
libcroco3:amd64=0.6.12-3
libcryptsetup12:amd64=2:2.1.0-5+deb10u2
libcrystalhd3:amd64=1:0.0~git20110715.fdd2f19-13
libcups2:amd64=2.2.10-6+deb10u3
libcurl3-gnutls:amd64=7.64.0-4+deb10u1
libdatrie1:amd64=0.2.12-2
libdb5.3:amd64=5.3.28+dfsg1-0.5
libdbus-1-3:amd64=1.12.16-1
libdconf1:amd64=0.30.1-2
libdebconfclient0:amd64=0.249
libdevmapper1.02.1:amd64=2:1.02.155-3
libdpkg-perl=1.19.7
libdrm-amdgpu1:amd64=2.4.97-1
libdrm-common=2.4.97-1
libdrm-intel1:amd64=2.4.97-1
libdrm-nouveau2:amd64=2.4.97-1
libdrm-radeon1:amd64=2.4.97-1
libdrm2:amd64=2.4.97-1
libdv4:amd64=1.0.0-12
libdvdnav4:amd64=6.0.0-1
libdvdread4:amd64=6.0.1-1
libedit2:amd64=3.1-20181209-1
libelf1:amd64=0.176-1.1
libepoxy0:amd64=1.5.3-0.1
liberror-perl=0.17027-2
libexpat1:amd64=2.2.6-2+deb10u1
libext2fs2:amd64=1.44.5-1+deb10u3
libfakeroot:amd64=1.23-1
libfdisk1:amd64=2.33.1-0.1
libfdt1:amd64=1.4.7-3
libffi6:amd64=3.2.1-9
libfftw3-double3:amd64=3.3.8-2
libfile-fcntllock-perl=0.22-3+b5
libflac8:amd64=1.3.2-3
libflite1:amd64=2.1-release-3
libfontconfig1:amd64=2.13.1-2
libfreetype6:amd64=2.9.1-3+deb10u1
libfribidi0:amd64=1.0.5-3.1+deb10u1
libgbm1:amd64=18.3.6-2+deb10u1
libgcc-8-dev:amd64=8.3.0-6
libgcc1:amd64=1:8.3.0-6
libgcrypt20:amd64=1.8.4-5
libgdbm-compat4:amd64=1.18.1-4
libgdbm6:amd64=1.18.1-4
libgdk-pixbuf2.0-0:amd64=2.38.1+dfsg-1
libgdk-pixbuf2.0-bin=2.38.1+dfsg-1
libgdk-pixbuf2.0-common=2.38.1+dfsg-1
libgl1:amd64=1.1.0-1
libgl1-mesa-dri:amd64=18.3.6-2+deb10u1
libglapi-mesa:amd64=18.3.6-2+deb10u1
libglib2.0-0:amd64=2.58.3-2+deb10u2
libglib2.0-data=2.58.3-2+deb10u2
libglvnd0:amd64=1.1.0-1
libglx-mesa0:amd64=18.3.6-2+deb10u1
libglx0:amd64=1.1.0-1
libgme0:amd64=0.6.2-1
libgmp10:amd64=2:6.1.2+dfsg-4
libgnutls30:amd64=3.6.7-4+deb10u4
libgomp1:amd64=8.3.0-6
libgpg-error0:amd64=1.35-1
libgpm2:amd64=1.20.7-5
libgraphite2-3:amd64=1.3.13-7
libgsm1:amd64=1.0.18-2
libgssapi-krb5-2:amd64=1.17-3
libgstreamer-plugins-base1.0-0:amd64=1.14.4-2
libgstreamer1.0-0:amd64=1.14.4-1
libgtk-3-0:amd64=3.24.5-1
libgtk-3-bin=3.24.5-1
libgtk-3-common=3.24.5-1
libgudev-1.0-0:amd64=232-2
libharfbuzz0b:amd64=2.3.1-1
libhogweed4:amd64=3.4.1-1
libibverbs1:amd64=22.1-1
libice6:amd64=2:1.0.9-2
libicu63:amd64=63.1-6+deb10u1
libidn11:amd64=1.33-2.2
libidn2-0:amd64=2.0.5-1+deb10u1
libiec61883-0:amd64=1.2.0-3
libigdgmm5:amd64=18.4.1+ds1-1
libip4tc0:amd64=1.8.2-4
libisl19:amd64=0.20-2
libitm1:amd64=8.3.0-6
libjack-jackd2-0:amd64=1.9.12~dfsg-2
libjbig0:amd64=2.1-3.1+b2
libjpeg62-turbo:amd64=1:1.5.2-2+b1
libjson-c3:amd64=0.12.1+ds-2
libjson-glib-1.0-0:amd64=1.4.4-2
libjson-glib-1.0-common=1.4.4-2
libk5crypto3:amd64=1.17-3
libkeyutils1:amd64=1.6-6
libkmod2:amd64=26-1
libkrb5-3:amd64=1.17-3
libkrb5support0:amd64=1.17-3
libksba8:amd64=1.3.5-2
liblcms2-2:amd64=2.9-3
libldap-2.4-2:amd64=2.4.47+dfsg-3+deb10u2
libldap-common=2.4.47+dfsg-3+deb10u2
liblilv-0-0:amd64=0.24.2~dfsg0-2
libllvm7:amd64=1:7.0.1-8
liblocale-gettext-perl=1.07-3+b4
liblsan0:amd64=8.3.0-6
liblz4-1:amd64=1.8.3-1
liblzma5:amd64=5.2.4-1
libmagic-mgc=1:5.35-4+deb10u1
libmagic1:amd64=1:5.35-4+deb10u1
libmnl0:amd64=1.0.4-2
libmount1:amd64=2.33.1-0.1
libmp3lame0:amd64=3.100-2+b1
libmpc3:amd64=1.1.0-1
libmpdec2:amd64=2.4.2-2
libmpeg2-4:amd64=0.5.1-8
libmpfr6:amd64=4.0.2-1
libmpg123-0:amd64=1.25.10-2
libmpx2:amd64=8.3.0-6
libmysofa0:amd64=0.6~dfsg0-3+deb10u1
libncurses-dev:amd64=6.1+20181013-2+deb10u2
libncurses6:amd64=6.1+20181013-2+deb10u2
libncursesw6:amd64=6.1+20181013-2+deb10u2
libnettle6:amd64=3.4.1-1
libnghttp2-14:amd64=1.36.0-2+deb10u1
libnl-3-200:amd64=3.4.0-1
libnl-route-3-200:amd64=3.4.0-1
libnorm1:amd64=1.5.8+dfsg2-1
libnpth0:amd64=1.6-1
libnspr4:amd64=2:4.20-1
libnss-systemd:amd64=241-7~deb10u4
libnss3:amd64=2:3.42.1-1+deb10u2
libnuma1:amd64=2.0.12-1
libogg0:amd64=1.3.2-1+b1
libopencore-amrnb0:amd64=0.1.3-2.1+b2
libopencore-amrwb0:amd64=0.1.3-2.1+b2
libopenjp2-7:amd64=2.3.0-2+deb10u1
libopenmpt0:amd64=0.4.3-1
libopus0:amd64=1.3-1
liborc-0.4-0:amd64=1:0.4.28-3.1
libp11-kit0:amd64=0.23.15-2
libpam-modules:amd64=1.3.1-5
libpam-modules-bin=1.3.1-5
libpam-runtime=1.3.1-5
libpam-systemd:amd64=241-7~deb10u4
libpam0g:amd64=1.3.1-5
libpango-1.0-0:amd64=1.42.4-8~deb10u1
libpangocairo-1.0-0:amd64=1.42.4-8~deb10u1
libpangoft2-1.0-0:amd64=1.42.4-8~deb10u1
libpciaccess0:amd64=0.14-1
libpcre2-8-0:amd64=10.32-5
libpcre3:amd64=2:8.39-12
libpcsclite1:amd64=1.8.24-1
libperl5.28:amd64=5.28.1-6
libpgm-5.2-0:amd64=5.2.122~dfsg-3
libpixman-1-0:amd64=0.36.0-1
libpng16-16:amd64=1.6.36-6
libpopt0:amd64=1.16-12
libpostproc55:amd64=7:4.1.4-1~deb10u1
libproxy1v5:amd64=0.4.15-5
libpsl5:amd64=0.20.2-2
libpulse0:amd64=12.2-4+deb10u1
libpython3-stdlib:amd64=3.7.3-1
libpython3.7-minimal:amd64=3.7.3-2+deb10u1
libpython3.7-stdlib:amd64=3.7.3-2+deb10u1
libquadmath0:amd64=8.3.0-6
libraw1394-11:amd64=2.1.2-1+b1
librdmacm1:amd64=22.1-1
libreadline7:amd64=7.0-5
librest-0.7-0:amd64=0.8.1-1
librsvg2-2:amd64=2.44.10-2.1
librsvg2-common:amd64=2.44.10-2.1
librtmp1:amd64=2.4+20151223.gitfa8646d.1-2
librubberband2:amd64=1.8.1-7
libsamplerate0:amd64=0.1.9-2
libsasl2-2:amd64=2.1.27+dfsg-1+deb10u1
libsasl2-modules:amd64=2.1.27+dfsg-1+deb10u1
libsasl2-modules-db:amd64=2.1.27+dfsg-1+deb10u1
libseccomp2:amd64=2.3.3-4
libselinux1:amd64=2.8-1+b1
libsemanage-common=2.8-2
libsemanage1:amd64=2.8-2
libsensors-config=1:3.5.0-3
libsensors5:amd64=1:3.5.0-3
libsepol1:amd64=2.8-1
libserd-0-0:amd64=0.28.0~dfsg0-1
libshine3:amd64=3.1.1-2
libshout3:amd64=2.4.1-2
libsidplay1v5:amd64=1.36.59-11
libslang2:amd64=2.3.2-2
libsm6:amd64=2:1.2.3-1
libsmartcols1:amd64=2.33.1-0.1
libsnappy1v5:amd64=1.1.7-1
libsndfile1:amd64=1.0.28-6
libsodium23:amd64=1.0.17-1
libsord-0-0:amd64=0.16.0~dfsg0-1+b1
libsoup-gnome2.4-1:amd64=2.64.2-2
libsoup2.4-1:amd64=2.64.2-2
libsoxr0:amd64=0.1.2-3
libspeex1:amd64=1.2~rc1.2-1+b2
libspice-server1:amd64=0.14.0-1.3
libsqlite3-0:amd64=3.27.2-3
libsratom-0-0:amd64=0.6.0~dfsg0-1
libss2:amd64=1.44.5-1+deb10u3
libssh-gcrypt-4:amd64=0.8.7-1+deb10u1
libssh2-1:amd64=1.8.0-2.1
libssl1.1:amd64=1.1.1d-0+deb10u3
libstdc++-8-dev:amd64=8.3.0-6
libstdc++6:amd64=8.3.0-6
libswresample3:amd64=7:4.1.4-1~deb10u1
libswscale5:amd64=7:4.1.4-1~deb10u1
libsystemd0:amd64=241-7~deb10u4
libtag1v5:amd64=1.11.1+dfsg.1-0.3+deb10u1
libtag1v5-vanilla:amd64=1.11.1+dfsg.1-0.3+deb10u1
libtasn1-6:amd64=4.13-3
libthai-data=0.1.28-2
libthai0:amd64=0.1.28-2
libtheora0:amd64=1.1.1+dfsg.1-15
libtiff5:amd64=4.1.0+git191117-2~deb10u1
libtinfo6:amd64=6.1+20181013-2+deb10u2
libtsan0:amd64=8.3.0-6
libtwolame0:amd64=0.3.13-4
libubsan1:amd64=8.3.0-6
libudev1:amd64=241-7~deb10u4
libunistring2:amd64=0.9.10-1
libusb-1.0-0:amd64=2:1.0.22-2
libusbredirparser1:amd64=0.8.0-1
libuuid1:amd64=2.33.1-0.1
libv4l-0:amd64=1.16.3-3
libv4lconvert0:amd64=1.16.3-3
libva-drm2:amd64=2.4.0-1
libva-x11-2:amd64=2.4.0-1
libva2:amd64=2.4.0-1
libvdeplug2=2.3.2+r586-2.2
libvdpau-va-gl1:amd64=0.4.2-1+b1
libvdpau1:amd64=1.1.1-10
libvidstab1.1:amd64=1.1.0-2
libvirglrenderer0:amd64=0.7.0-2
libvisual-0.4-0:amd64=0.4.0-15
libvorbis0a:amd64=1.3.6-2
libvorbisenc2:amd64=1.3.6-2
libvorbisfile3:amd64=1.3.6-2
libvpx5:amd64=1.7.0-3+deb10u1
libvte-2.91-0:amd64=0.54.2-2
libvte-2.91-common=0.54.2-2
libwavpack1:amd64=5.1.0-6
libwayland-client0:amd64=1.16.0-1
libwayland-cursor0:amd64=1.16.0-1
libwayland-egl1:amd64=1.16.0-1
libwayland-server0:amd64=1.16.0-1
libwebp6:amd64=0.6.1-2
libwebpmux3:amd64=0.6.1-2
libwrap0:amd64=7.6.q-28
libx11-6:amd64=2:1.6.7-1
libx11-data=2:1.6.7-1
libx11-xcb1:amd64=2:1.6.7-1
libx264-155:amd64=2:0.155.2917+git0a84d98-2
libx265-165:amd64=2.9-4
libxau6:amd64=1:1.0.8-1+b2
libxcb-dri2-0:amd64=1.13.1-2
libxcb-dri3-0:amd64=1.13.1-2
libxcb-glx0:amd64=1.13.1-2
libxcb-present0:amd64=1.13.1-2
libxcb-render0:amd64=1.13.1-2
libxcb-shm0:amd64=1.13.1-2
libxcb-sync1:amd64=1.13.1-2
libxcb-xfixes0:amd64=1.13.1-2
libxcb1:amd64=1.13.1-2
libxcomposite1:amd64=1:0.4.4-2
libxcursor1:amd64=1:1.1.15-2
libxdamage1:amd64=1:1.1.4-3+b3
libxdmcp6:amd64=1:1.1.2-3
libxencall1:amd64=4.11.3+24-g14b62ab3e5-1~deb10u1
libxendevicemodel1:amd64=4.11.3+24-g14b62ab3e5-1~deb10u1
libxenevtchn1:amd64=4.11.3+24-g14b62ab3e5-1~deb10u1
libxenforeignmemory1:amd64=4.11.3+24-g14b62ab3e5-1~deb10u1
libxengnttab1:amd64=4.11.3+24-g14b62ab3e5-1~deb10u1
libxenmisc4.11:amd64=4.11.3+24-g14b62ab3e5-1~deb10u1
libxenstore3.0:amd64=4.11.3+24-g14b62ab3e5-1~deb10u1
libxentoolcore1:amd64=4.11.3+24-g14b62ab3e5-1~deb10u1
libxentoollog1:amd64=4.11.3+24-g14b62ab3e5-1~deb10u1
libxext6:amd64=2:1.3.3-1+b2
libxfixes3:amd64=1:5.0.3-1
libxi6:amd64=2:1.7.9-1
libxinerama1:amd64=2:1.1.4-2
libxkbcommon0:amd64=0.8.2-1
libxml2:amd64=2.9.4+dfsg1-7+b3
libxmuu1:amd64=2:1.1.2-2+b3
libxrandr2:amd64=2:1.5.1-1
libxrender1:amd64=1:0.9.10-1
libxshmfence1:amd64=1.3-1
libxtables12:amd64=1.8.2-4
libxtst6:amd64=2:1.2.3-1
libxv1:amd64=2:1.0.11-1
libxvidcore4:amd64=2:1.3.5-1
libxxf86vm1:amd64=1:1.1.4-1+b2
libyajl2:amd64=2.1.0-3
libzmq5:amd64=4.3.1-4+deb10u1
libzstd1:amd64=1.3.8+dfsg-3
libzvbi-common=0.2.35-16
libzvbi0:amd64=0.2.35-16
linux-libc-dev:amd64=4.19.118-2+deb10u1
login=1:4.5-1.1
lsb-base=10.2019051400
make=4.2.1-1.2
manpages=4.16-2
manpages-dev=4.16-2
mawk=1.3.3-17+b3
mesa-va-drivers:amd64=18.3.6-2+deb10u1
mesa-vdpau-drivers:amd64=18.3.6-2+deb10u1
mime-support=3.62
mount=2.33.1-0.1
ncurses-base=6.1+20181013-2+deb10u2
ncurses-bin=6.1+20181013-2+deb10u2
netbase=5.6
openssh-client=1:7.9p1-10+deb10u2
openssl=1.1.1d-0+deb10u3
ovmf=0~20181115.85588389-3+deb10u1
passwd=1:4.5-1.1
patch=2.7.6-3+deb10u1
perl=5.28.1-6
perl-base=5.28.1-6
perl-modules-5.28=5.28.1-6
pinentry-curses=1.1.0-2
publicsuffix=20190415.1030-1
python3=3.7.3-1
python3-minimal=3.7.3-1
python3.7=3.7.3-2+deb10u1
python3.7-minimal=3.7.3-2+deb10u1
qemu-system-common=1:3.1+dfsg-8+deb10u5
qemu-system-data=1:3.1+dfsg-8+deb10u5
qemu-system-gui=1:3.1+dfsg-8+deb10u5
qemu-system-x86=1:3.1+dfsg-8+deb10u5
qemu-utils=1:3.1+dfsg-8+deb10u5
readline-common=7.0-5
rsync=3.1.3-6
seabios=1.12.0-1
sed=4.7-1
sensible-utils=0.0.12
shared-mime-info=1.10-1
sudo=1.8.27-1+deb10u2
systemd=241-7~deb10u4
systemd-sysv=241-7~deb10u4
sysvinit-utils=2.93-8
tar=1.30+dfsg-6
tzdata=2020a-0+deb10u1
ucf=3.0038+nmu1
unzip=6.0-23+deb10u1
util-linux=2.33.1-0.1
va-driver-all:amd64=2.4.0-1
vdpau-driver-all:amd64=1.1.1-10
wget=1.20.1-1.1
x11-common=1:7.7+19
xauth=1:1.0.10-1
xdg-user-dirs=0.17-2
xkb-data=2.26-2
xz-utils=5.2.4-1
zlib1g:amd64=1:1.2.11.dfsg-1

9
scripts/build Executable file
View File

@ -0,0 +1,9 @@
#!/bin/bash
[ -f /.dockerenv ] || { echo "please run in supplied container"; exit 1; }
set -e; source environment
target=${TARGET?}
cd /home/build/build/buildroot
make "unilinux_${TARGET}_defconfig"
make

9
scripts/clean Executable file
View File

@ -0,0 +1,9 @@
#!/bin/bash
[ -f /.dockerenv ] || { echo "please run in supplied container"; exit 1; }
set -e; source environment
build_dir="${BUILD_DIR?}"
release_dir="${RELEASE_DIR?}"
[ -d "${build_dir}" ] && rm -rf ${build_dir}/*
[ -d "${release_dir}" ] && rm -rf ${release_dir}/*

11
scripts/environment Executable file
View File

@ -0,0 +1,11 @@
#!/bin/bash
target=${TARGET?}
env_file=${HOME}/config/config.env
[ -f $env_file ] && export $( cat ${env_file} | xargs )
export BUILD_DIR="${HOME}/build"
export BR2_EXTERNAL="${HOME}/config/buildroot"
export RELEASE_DIR="${HOME}/release"
export BUILDROOT_REPO=git://git.busybox.net/buildroot

17
scripts/fetch Executable file
View File

@ -0,0 +1,17 @@
#!/bin/bash
[ -f /.dockerenv ] || { echo "please run in supplied container"; exit 1; }
set -e; source environment
set -x
build_dir="${BUILD_DIR?}"
buildroot_dir="${build_dir}/buildroot"
buildroot_repo="${BUILDROOT_REPO?}"
buildroot_ref=${BUILDROOT_REF?}
[[ -f ~/.gitconfig ]] || \
printf "[color]\nui=auto\n[user]\nemail=build@local\nname=Build User" \
> ~/.gitconfig
mkdir -p "$build_dir"
git clone "$buildroot_repo" "$buildroot_dir"
git -C "$buildroot_dir" checkout "$buildroot_ref"

9
scripts/menuconfig Executable file
View File

@ -0,0 +1,9 @@
#!/bin/bash
[ -f /.dockerenv ] || { echo "please run in supplied container"; exit 1; }
set -e; source environment
target=${TARGET?}
cd /home/build/build/buildroot
make "unilinux_${TARGET}_defconfig"
make menuconfig

3
scripts/shell Executable file
View File

@ -0,0 +1,3 @@
#!/bin/bash --init-file
[ -f /.dockerenv ] || { echo "please run in supplied container"; exit 1; }
source environment

8
scripts/update-packages Executable file
View File

@ -0,0 +1,8 @@
#!/bin/bash
set -e
apt update -y
apt upgrade -y
dpkg -l | awk '{ if ($1 == "ii") print $2 "=" $3 }' > /etc/apt/packages.list

10
scripts/vm Executable file
View File

@ -0,0 +1,10 @@
#!/bin/bash
[ -f /.dockerenv ] || { echo "please run in supplied container"; exit 1; }
source environment
set -e
qemu-system-i386 \
-M pc \
-nographic \
-append "console=ttyS0" \
-kernel "$HOME/release/bzImage"