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
```
|