aboutsummaryrefslogtreecommitdiffhomepage
path: root/QC-dev-environment/REAME.md
blob: 5a7e588bba5c836425d0bbbb40b3dbfc082160a0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# A safe development environment

## Usage

### Building the container

Go into the QC-dev-environment directory and run:

```
docker build . -t <your-wanted-tag e.g. cortex-dev>
```

### Getting the update file

The update process of the QC is done in 2 steps. First the download, after that the install. We can use this to our advantage to grab the actual update file. Once you downloaded the update **do not install it yet.** Get an SSH shell going and go to `/media/p4`. There you will find your update file. A registry of these file names is also available inside the `filesystems/README.md` of this folder.

You can use the `scp` tool to send this update file over to your system.

Once you've got the update file, you can put it inside the `filesystems` directory to mount to the docker container. Now you can use the update file to explore your QC (except for the user files), and even create custom update packages.

### Running the container

It needs to run privileged since we need to run the `mount` command inside it. You can run it without the `--privileged` path if you're not planning to mount the QC's file system and just want to compile something

```
docker run --privileged -it -p 5900:5900 \
    -v <absolute-path-to-current-folder>/mount:/mnt \
    -v <absolute-path-to-current-folder>/filesystems:/qc-fs \
    -e UPDATE_FILE=<update-file-name> \
    cortex-dev
```

When attached to the docker container's shell, there is one post-install step left. Run the following command:

```
./init_system.sh
```

This will mount the QC filesystem and install a custom compiled version of QT inside it that has support for VNC.

To link QT to the right fonts folder, run:

```bash
export QT_QWS_FONTDIR=/etc/fonts
```



## Config for custom compiled QT

For running GUI applications such as `ZenUI` it is possible to output the video to a virtual device. One of these posibilities is a simple VNC server. To enable this ability I have compiled QT from source using the following config:

```
./configure -embedded arm -xplatform qws/linux-arm-gnueabi-g++ -nomake examples -nomake demos -opensource -qt-libtiff -qt-zlib -qt-libpng -qt-libmng -qt-libjpeg -optimized-qmake -qt-freetype -qt-gfx-vnc -no-webkit -no-javascript-jit -optimized-qmake -no-cups && make
```