1
0
Fork 0

Initial not working

master
Ambrose Chua 2018-09-23 19:38:38 +08:00
commit a649a1be89
6 changed files with 105 additions and 0 deletions

46
Dockerfile Normal file
View File

@ -0,0 +1,46 @@
FROM alpine:3.8 as sdk-download
COPY fetch-sdk.sh .
RUN ./fetch-sdk.sh
COPY fetch-repo.sh .
RUN ./fetch-repo.sh
FROM scratch as sdk
COPY --from=sdk-download /sdk /
ENV PATH=$PATH:/opt/depot_tools
# fix permissions
RUN chmod +s /usr/bin/sudo
RUN mkdir -p /chromiumos
RUN chown -R chronos:chronos /chromiumos
RUN chown -R chronos:chronos /home/chronos
COPY fetch-source.sh /usr/local/bin/
COPY full-build.sh /usr/local/bin/
RUN echo "chronos ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
USER chronos
RUN git config --global user.email "dev@null"
RUN git config --global user.name "/dev/null"
WORKDIR /chromiumos
CMD ["/bin/bash"]
FROM sdk as source
RUN fetch-source.sh
# Add chromite/bin into the user's path
ENV PATH=$PATH:/chromiumos/chromite/bin
# Add chromite as a local site-package
RUN mkdir -p /home/chronos/.local/lib/python2.6/site-packages
RUN ln -s /chromiumos/chromite /home/chronos/.local/lib/python2.6/site-packages/
ENV PORTAGE_USERNAME=chronos
# Add bash completion
RUN echo ". /chromiumos/src/scripts/bash_completion" >> .bash_profile
WORKDIR /chromiumos/src/scripts

6
build-in-docker.sh Executable file
View File

@ -0,0 +1,6 @@
#!/bin/sh
set -e
docker build -t cr .
docker run --name cr -it -v $PWD/dist:/dist cr full-build.sh

11
fetch-repo.sh Executable file
View File

@ -0,0 +1,11 @@
#!/bin/sh
set -e
apk add --no-cache git
# See http://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/depot_tools_tutorial.html#_setting_up
echo "Getting depot_tools"
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git /sdk/opt/depot_tools
rm -rf /sdk/opt/depot_tools/.git

14
fetch-sdk.sh Executable file
View File

@ -0,0 +1,14 @@
#!/bin/sh
set -e
# See https://www.chromium.org/chromium-os/developer-guide/using-sdk-standalone#TOC-Getting-the-SDK
echo "Getting the SDK"
eval $(wget -O - "https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/master/chromeos/binhost/host/sdk_version.conf?format=TEXT" | base64 -d | grep '^SDK_LATEST_VERSION=')
wget -O /sdk.tar.xz "https://commondatastorage.googleapis.com/chromiumos-sdk/cros-sdk-${SDK_LATEST_VERSION}.tar.xz"
echo "Extracting the SDK"
mkdir /sdk
cd /sdk
tar xvf /sdk.tar.xz

11
fetch-source.sh Executable file
View File

@ -0,0 +1,11 @@
#!/bin/sh
set -e
echo "Entering /chromiumos working directory"
cd /chromiumos
echo "Syncing source"
repo init -u https://chromium.googlesource.com/chromiumos/manifest.git --repo-url https://chromium.googlesource.com/external/repo.git
repo sync -j6

17
full-build.sh Executable file
View File

@ -0,0 +1,17 @@
#!/bin/sh
set -e
echo "Changing directory"
cd /chromiumos/src/scripts
echo "Setup board"
export BOARD=amd64-generic
./setup_board --board=${BOARD}
echo "Build packages"
./build_packages --board=${BOARD}
echo "Build image"
./build_image --board=${BOARD} --noenable_rootfs_verification base