| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| comfilepi:raspbian:index [2026/07/09 23:51] – [Install an OS by Booting from a USB Drive] mfranklin | comfilepi:raspbian:index [2026/07/10 04:23] (current) – [Install an OS by Booting from a USB Drive] mfranklin |
|---|
| The OS is intended to provide a practical starting point for developing and deploying ComfilePi-based industrial solutions, using familiar Windows, Linux, and Raspberry Pi tooling to install packages, configure services, and develop applications. | The OS is intended to provide a practical starting point for developing and deploying ComfilePi-based industrial solutions, using familiar Windows, Linux, and Raspberry Pi tooling to install packages, configure services, and develop applications. |
| |
| **Existing Solutions**: For solutions already deployed on an older OS release, it is recommended to no upgrade to at later OS unless there is a compelling reason to do so. Prior releases are available in the [[comfilepi:raspbian:os_archive:index|OS archive]]. | |
| |
| **New Solutions**: For new development, using the latest ComfilePi OS release is recommended. | |
| |
| |
| |
| The ComfilePi Trixie OS contains several improvements and changes over prior releases. Please see the [[comfilepi:trixie:index|ComfilePi Trixie OS]] for more information. | The ComfilePi Trixie OS contains several improvements and changes over prior releases. Please see the [[comfilepi:trixie:index|ComfilePi Trixie OS]] for more information. |
| | |
| | **Existing Solutions**: For solutions already deployed on an older OS release, it is recommended to no upgrade to at later OS unless there is a compelling reason to do so. Prior releases are available in the [[comfilepi:raspbian:os_archive:index|OS archive]]. |
| | |
| | **New Solutions**: For new development, using the latest ComfilePi OS release is recommended. |
| |
| ^ Download Link ^ Release Date ^ Supported Models ^ OS Word Size ^ ^ | ^ Download Link ^ Release Date ^ Supported Models ^ OS Word Size ^ ^ |
| === CPi-C/G/J/S === | === CPi-C/G/J/S === |
| |
| The CPi-C/G/J/S panel PCs can boot from a USB drive. Therefore, it is possible to boot from a ComfilePi OS installed on a USB drive, and from there, flash the SD Card/eMMC/NVME drive locally. This method is **//much//** faster than writing the OS image to the ComfilePi over a USB cable. | The CPi-C/G/J/S panel PCs can boot from a USB drive. Therefore, it is possible to boot from a ComfilePi Trixie OS installed on a USB drive, and from there, flash the SD Card/eMMC/NVME drive locally. This method is **//much//** faster than writing the OS image to the ComfilePi over a USB cable. |
| |
| Procedure: | Procedure: |
| - From a workstation PC, use a disk imaging utility to write the ComfilePI OS to a USB drive. Be sure to update the ///boot/firmware/config.txt// file with the model-specific one in the //bootfs// partition. | - From a workstation PC, use a disk imaging utility to write the ComfilePi OS to a USB drive. Be sure to update the ///boot/firmware/config.txt// file with the model-specific one in the //bootfs// partition. |
| - If the ComfilePi already has an existing OS installed, make it unbootable using one of the following methods: | - If the ComfilePi already has an existing OS installed, make it unbootable using one of the following methods: |
| * If the ComfilePi boots from an SD card, simply eject the SD card. | * If the ComfilePi boots from an SD card, simply eject the SD card. |
| - Copy the OS image you wish to write to the ComfilePi's boot device to a directory on the USB drive using one of the following methods: | - Copy the OS image you wish to write to the ComfilePi's boot device to a directory on the USB drive using one of the following methods: |
| * Enable SSH on the ComfilePi, and use ''scp'' or a utility like FileZilla to copy the OS image from a desktop computer to the ComfilePi. | * Enable SSH on the ComfilePi, and use ''scp'' or a utility like FileZilla to copy the OS image from a desktop computer to the ComfilePi. |
| * If the OS image is stored on a web server, use a utility like ''curl'' or ''wget'' to download the OS to a directory on the USB drive. | * If the OS image is stored on a web server, use a utility like [[https://manpages.debian.org/trixie/curl/curl.1.en.html|curl]] or [[https://manpages.debian.org/trixie/wget/wget.1.en.html|wget]] to download the OS to a directory on the USB drive. |
| * Use a second USB drive to store your source OS image(s) and connect it to the ComfilePi after it has been booted from the first USB drive. | * Use a second USB drive to store your source OS image(s) and connect it to the ComfilePi after it has been booted from the first USB drive. |
| * Prior to booting from the first USB drive, you can add a 4th partition to the USB drive to copy OS images to. | * Prior to booting from the first USB drive, add a 4th partition to the USB drive to copy the source OS images to it. |
| - Open the //Backup/Restore// application form the //ComfilePi// menu. | - Open the //Backup/Restore// application form the //ComfilePi// menu. |
| - Select the //Restore// option. | - Select the //Restore// option. |
| |
| To configure passwordless SSH authentication, configure the //ssh_authorized_keys// field as described in this [[https://docs.cloud-init.io/en/latest/reference/yaml_examples/ssh.html|cloud-init documentation]]. | To configure passwordless SSH authentication, configure the //ssh_authorized_keys// field as described in this [[https://docs.cloud-init.io/en/latest/reference/yaml_examples/ssh.html|cloud-init documentation]]. |
| ==== Bookworm and earlier ==== | |
| |
| The latest Raspaberry Pi Imager program removed the ability to customize custom OS images, so you will need to use v1.9.6 or earlier to configure first boot initialization. | [[:comfilepi:rpi_imager_replace_userid:index|Bookworm and Earlier]] |
| |
| To replace the //pi// user and/or password, use the [[https://downloads.raspberrypi.com/imager/imager-1.9.6.exe|Raspberry Pi Imager v1.9.6]], press the gear icon and set a new username and password in the //Advance Options// screen before writing the OS to the SD card or eMMC. | |
| |
| {{ :comfilepi:raspbian:replace_user_gear.png?500 }} | |
| |
| {{ :comfilepi:raspbian:replace_user_password.png?500 }} | |
| |
| ===== Creating an OS Image for Backup and/or Cloning ===== | ===== Creating an OS Image for Backup and/or Cloning ===== |
| |
| ==== Win32DiskImager ==== | |
| |
| After customizing an OS by changing settings, adding/remove software, etc. you may want to create a clone of the OS to provision additional panel PCs. If using a Windows PC, consider using [[https://sourceforge.net/projects/win32diskimager/|Win32DiskImager]] to //Read// the SD card or eMMC disk to an image file (.img), and then use that resulting image file to provision additional ComfilePi panel PCs. | |
| |
| {{ :comfilepi:raspbian:custom_os_image_backup.png }} | |
| |
| === The Backup/Restore Application === | === The Backup/Restore Application === |
| Using the //Backup/Restore// application to restore the .tar archive also provides the ability change the disk UUIDs, reinitialize the machine ID (e.g. to recreate unique SSH keys), and offer a final dialog to select the appropriate config.txt file (e.g. if clone from one ComfilePi model to another). | Using the //Backup/Restore// application to restore the .tar archive also provides the ability change the disk UUIDs, reinitialize the machine ID (e.g. to recreate unique SSH keys), and offer a final dialog to select the appropriate config.txt file (e.g. if clone from one ComfilePi model to another). |
| |
| | ==== Win32DiskImager ==== |
| | |
| | After customizing an OS by changing settings, adding/remove software, etc. you may want to create a clone of the OS to provision additional panel PCs. If using a Windows PC, consider using [[https://sourceforge.net/projects/win32diskimager/|Win32DiskImager]] to //Read// the SD card or eMMC disk to an image file (.img), and then use that resulting image file to provision additional ComfilePi panel PCs. |
| | |
| | {{ :comfilepi:raspbian:custom_os_image_backup.png }} |
| |
| [[comfilepi:index|ComfilePi - Industrial Raspberry Pi Panel PC]] | [[comfilepi:index|ComfilePi - Industrial Raspberry Pi Panel PC]] |