GitHub - friendlyarm/docker-cross-compiler-novnc: Dockerfile for cross compiling environment (original) (raw)
Docker-based build environment based on dorowu/ubuntu-desktop-lxde-vnc with pre-built and configured toolchains for cross compiling.
Usage
Installation
git clone https://github.com/friendlyarm/docker-ubuntu-lxde-novnc
cd docker-ubuntu-lxde-novnc
docker build --no-cache -t docker-ubuntu-lxde-novnc .
or setup the proxy for Dockerfile building:
Uncomment the following two lines, change the proxy address and rebuild:
# ENV http_proxy http://192.168.1.1:1082
# ENV https_proxy http://192.168.1.1:1082
Note: do not use 127.0.0.1 for the proxy address, use the IP address of the LAN instead
Run
Note: Mapping the /dev directory is to make the newly created loop devices appear in the container.
mkdir -p work
docker run --rm --privileged -v /dev:/dev \
--name docker-ubuntu-lxde-novnc \
-p 6080:80 \
-p 5900:5900 \
-e HTTP_PASSWORD=password \
-e VNC_PASSWORD=password \
-e PUID=$(id -u) \
-e PGID=$(id -g) \
-e USER=ubuntu \
-e PASSWORD=ubuntu \
-v ~/.gitconfig:/home/ubuntu/.gitconfig:ro \
-v ./work:/home/ubuntu/work \
-e RESOLUTION=1280x720 \
docker-ubuntu-lxde-novnc:latest
Check your git configuration
docker exec -it --user ubuntu docker-ubuntu-lxde-novnc bash -c 'git config --list'
Get a bash shell
docker exec -it --user ubuntu --workdir /home/ubuntu docker-ubuntu-lxde-novnc bash
VNC Viewer
open the vnc viewer and connect to port 5900.
Web brower
Browse http://127.0.0.1:6080/
Test Cases
Successfully compiled the following projects:
- android 8.1
- android 10
- android 12 (tv & tablet)
- android 14 (tv & tablet)
- kernel 4.4
- kernel 4.19
- kernel 5.10
- kernel 5.15
- kernel 6.1
- uboot v2014.10
- uboot v2017.09
- friendlywrt v21.02
- friendlywrt v22.03
- friendlywrt v24.10
- buildroot
- package the image by using sd-fuse_xxx
Environment Variables
FASTBOOT
true
Faster container initialization by skippingchown-ing every files and directories under$HOMEon container startup. This may be useful when volume is linked on$HOMEor its subdirectory, and contains lots of files and directories. Enabling this option might cause files under$HOMEinaccessible by container.falsechownevery file under$HOMEon container startup.- DEFAULT
false
RESOLUTION
- Set screen resolution in
NNNNxNNNNform, like1366x768. - DEFAULT Follows the size of the browser window when first connected.
USERNAME
- Name of default user.
- DEFAULT
root
PASSWORD
- Password of the user inside the container. This may required if you want to use SSH with password authentication, or normal user rather than
root.
HTTP_PASSWORD
- Password for authentication before loading noVNC screen.
USERNAMEis used as username. Password may be sent without any protection - use other authentication method when possible if this container is planned to be run as worldwide-public.
VNC_PASSWORD
- Authentication method provided by noVNC. Password longer than 8 characters will be truncated to 8 characters.