This is an old revision of the document!
The ComfilePi Trixie OS is derived from the Raspberry Pi's Trixie OS, which itself is derived from Debian's Trixie OS.
The ComfilePi Trixie OS introduces several significant changes to prior OS releases – some introduced by upstream Debian and Raspberry Pi, and some introduced by COMFILE Technology.
If you have an existing solution currently deployed prior OS variants, it is recommended that you do not upgrade to Trixie unless you have a compelling reason to do so. If you are embarking on a new solution, it is recommended that you do upgrade to Trixie.
See the Debian Trixie release notes.
See the Raspberry Pi Trixie OS announcement.
The Raspberry Pi Trixie OS has adopted cloud-init for first boot initialization, and the latest Raspberry Pi imager has removed the ability to customize custom OS images. Therefore, to customize the OS prior to booting (e.g. changing the default userid/password, adding authorized SSH keys, etc.) please edit the user-data file according the the instructions in the cloud-init documentation
IMPORTANT! After installing the OS image to the ComfilePi's storage device, and prior to booting for the first time, you MUST replace the config.txt file with the model-specific config.txt file in the bootfs partition. For example, for the CPi-J070WR panel PC, overwrite config.txt with the cpi-j070wr_config.txt file. Some models will not boot, or will not function correctly, without the correct config.txt file.
Like Bookworm, the ComfilePi Trixie OS now has the following partition layout:
| Label | Size | Mount Point | File System | Description |
|---|---|---|---|---|
| bootfs | 512MB | /boot/firmware | FAT32 | System firmware (i.e. bootloader, kernel, and configuration) |
| datafs | 1GB | /data | Ext4 | User data partition |
| rootfs | Fills Remaining Space | / | Ext4 | Root file system (i.e. the actual operating system) |
This layout was created to make it easier to enable the read-only file system, effectively making the bootfs and rootfs partitions read-only, while still having a place to write data to (i.e. the datafs partition).
If the datafs partition is too small, and your SD card, eMMC, or other storage medium is large enough, you can use gparted, or other disk partitioning utility, to adjust partition sizes as needed. Currently, the rootfs partition must be the last partition of the disk to maintain compatibility with some configuration utilities of the Raspberry Pi.
After provisioning your ComfilePi with your customizations, it is highly recommended to enable the read-only file system.
Due to several bugs in the Raspberry Pi read-only file system overlay, for Trixie, we have chosen to mount the file system read-only instead of using an overlay. Like Bookworm, this can be easily enabled via a GUI.
Or, use the following commands:
Enable the read-only file system
sudo cpi-make-readonly sudo reboot
Disable the read-only file system
sudo cpi-make-readwrite sudo reboot
If you need a file on the rootfs partition to be read-write even when the read-only file system overlay is enabled, consider one of the following methods:
ln -s /data/etc/default/locale /etc/default/localeA bind mount can also be used to make a file on the datafs partition appear at its original location on the rootfs partition. This is useful when the original path must remain a normal file or directory, or when the application does not work well with symbolic links.
cp /etc/default/locale /data/etc/default/locale/etc/fstab. For example:/data/etc/default/locale /etc/default/locale none bind 0 0
/etc/default/locale will appear to be in its original location, but its contents will actually come from /data/etc/default/locale. Changes made to the file will be preserved on the writable datafs partition.The .NET 10 SDK and Microsoft’s Visual Studio Remote Debugger (vsdbg) are installed by default, so .NET development should be ready to go out of the box.
Now that Microsoft is publishing .NET installation packages for ARM64 Debian, there is no need for COMFILE Technology to publish installation packages (e.g. cpi-dotnet-sdk-9.0) or for users to install .NET manually. Microsoft's repositories are already added to the operating system so you easily install, update, or remove packages with apt.
COMFILE Technology has made it easier than ever to develop .NET applications, even WinForms applications, for ARM Linux devices like the Comfile Pi.
Mono is no longer installed by default. Instead, please consider using the ComfileTech.WinForms library which will allow you to use the latest version of .NET and C# to write WinForms applications for the ComfilePi. If you would like to use mono, install the mono-complete package from the Debian repositories.