From Boot to Qt Development Image Towards Production Image
The default Boot to Qt Software Stack that you get either as prebuilt images or by building it from sources, is meant to be used for development, testing, and debugging purposes. It demonstrates how you can create a customized software stack for embedded Linux, and enables you to quickly start your application development using the target device. However, Boot to Qt Software Stack as such should not be used as a production image without additional modifications. For example, security issues should be taken care of more carefully in the production image than in the development image.
When you get Boot to Qt Software Stack either as prebuilt images or by building it from sources, you get a development version of the stack, that is, the development image. With the development version of Boot to Qt Software Stack, you can:
- Quickly get Qt running in your target device
- Develop and test new applications and features
- Debug in the target device
A development image suitable for your project may vary from the default Boot to Qt Software Stack image, but can also include components for debugging and tracing, and can have lower security settings to make development easier. The size of the image does not need to be optimized as small as possible. For example, as Boot to Qt Software Stack aims to demonstrate wide range of features in Qt it contains additional Qt modules that might not be required in the production images.
A production image is meant to be the final image that is shipped with your product. Most of the development oriented features should have been removed, leaving only the features and components needed by the product. You should consider the product requirements for the production image early in the project, as managing the security issues and optimizing the image may take time. You should also consider maintaining the project recipes in a way that allows you to easily switch between the development and the production images.
A production image should be very strict at least with security settings, such as:
- Unauthorized access to the device is prevented (for example, SSH, Telnet, serial terminal).
- User access rights (for example, avoid using root user access rights).
Also, following issues are important to consider in a production image:
- Image should contain only features required in the production.
- Image should not include debugging code.
- Image should not have any unneeded services running in the background.
- Use a read-only filesystem when possible. This encourages you to design which applications can write data and where they can do changes.
- Delivery mechanism for updates, especially for security updates.
You can contact Qt Professional Services if you need help with creating a production image for your target device.
Available under certain Qt licenses.
Find out more.