Coder Social home page Coder Social logo

docker-cross-compiler-novnc's Introduction

docker-cross-compiler-novnc

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:

vim Dockerfile

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 ~/work
chown 1000:1000 ~/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=1000 \
    -e PGID=1000 \
    -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)
  • kernel 4.4
  • kernel 4.19
  • kernel 5.10
  • kernel 5.15
  • uboot v2014.10
  • uboot v2017.09
  • friendlywrt v22.03
  • friendlywrt v21.02
  • buildroot
  • package the image by using sd-fuse_xxx

Environment Variables

FASTBOOT

  • true
    Faster container initialization by skipping chown-ing every files and directories under $HOME on container startup. This may be useful when volume is linked on $HOME or its subdirectory, and contains lots of files and directories. Enabling this option might cause files under $HOME inaccessible by container.
  • false
    chown every file under $HOME on container startup.
  • DEFAULT false

RESOLUTION

  • Set screen resolution in NNNNxNNNN form, like 1366x768.
  • 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. USERNAME is 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.

Acknowledgments

docker-cross-compiler-novnc's People

Contributors

hdavid0510 avatar lawrencetg avatar friendlyarm avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.