====== ComfilePi Trixie OS ======
ComfilePi Trixie OS는 Raspberry Pi의 Trixie OS를 기반으로 하며, Raspberry Pi Trixie OS는 Debian의 Trixie OS를 기반으로 합니다.
ComfilePi Trixie OS에는 이전 OS 릴리스와 비교하여 몇 가지 중요한 변경 사항이 도입되었습니다. 일부는 상위 프로젝트인 Debian 및 Raspberry Pi에서 도입된 변경 사항이며, 일부는 COMFILE Technology에서 도입한 변경 사항입니다.
기존 솔루션이 이전 OS 버전에서 현재 운영 중이라면, 반드시 필요한 이유가 없는 한 Trixie로 업그레이드하지 않는 것을 권장합니다. 새 솔루션 개발을 시작하는 경우에는 Trixie로 업그레이드하는 것을 권장합니다.
===== 상위 Debian 변경 사항 =====
[[https://www.debian.org/releases/stable/release-notes/|Debian Trixie 릴리스 노트]]를 참조하십시오.
===== 상위 Raspberry Pi 변경 사항 =====
[[https://www.raspberrypi.com/news/trixie-the-new-version-of-raspberry-pi-os/|Raspberry Pi Trixie OS 발표 내용]]을 참조하십시오.
Raspberry Pi Trixie OS는 최초 부팅 초기화를 위해 [[https://www.raspberrypi.com/news/cloud-init-on-raspberry-pi-os/|cloud-init]]를 채택했으며, 최신 Raspberry Pi Imager에서는 사용자 지정 OS 이미지를 커스터마이즈하는 기능이 제거되었습니다. 따라서 부팅 전에 OS를 커스터마이즈하려면(예: 기본 사용자 ID/비밀번호 변경, 인증된 SSH 키 추가 등), [[https://docs.cloud-init.io/en/latest/index.html|cloud-init 문서]]의 지침에 따라 //bootfs// 파티션의 //user-data// 파일을 편집하십시오.
===== COMFILE Technology 변경 사항 =====
==== 부팅 전에 config.txt 교체 ====
**중요!**
ComfilePi의 저장 장치에 OS 이미지를 설치한 후, 최초 부팅 전에 //bootfs// 파티션의 //config.txt// 파일을 해당 모델 전용 //config.txt// 파일로 **반드시** 교체해야 합니다. 예를 들어 CPi-J070WR 패널 PC의 경우, //config.txt//를 //cpi-j070wr_config.txt// 파일로 덮어쓰십시오. 일부 모델은 올바른 //config.txt// 파일이 없으면 부팅되지 않거나 정상적으로 동작하지 않을 수 있습니다.
==== 파티션 구성 ====
Bookworm과 마찬가지로, ComfilePi Trixie OS는 이제 다음과 같은 파티션 구성을 사용합니다.
^ 레이블 ^ 크기 ^ 마운트 지점 ^ 파일 시스템 ^ 설명 ^
| bootfs | 512MB | /boot/firmware | FAT32 | 시스템 펌웨어(예: 부트로더, 커널, 구성 파일) |
| datafs | 1GB | /data | Ext4 | 사용자 데이터 파티션 |
| rootfs | 나머지 공간 전체 | / | Ext4 | 루트 파일 시스템(예: 실제 운영 체제) |
이 구성은 [[#읽기_전용_파일_시스템|읽기 전용 파일 시스템을 활성화]]하기 쉽게 하기 위해 만들어졌습니다. 즉, //bootfs// 및 //rootfs// 파티션은 읽기 전용으로 만들면서도, 데이터를 쓸 수 있는 공간(즉, //datafs// 파티션)을 계속 사용할 수 있습니다.
//datafs// 파티션이 너무 작고 SD 카드, eMMC 또는 기타 저장 매체의 용량이 충분히 크다면, [[https://gparted.org/|gparted]] 또는 다른 디스크 파티션 유틸리티를 사용하여 필요에 따라 파티션 크기를 조정할 수 있습니다. 현재 Raspberry Pi의 일부 구성 유틸리티와의 호환성을 유지하려면 //rootfs// 파티션이 디스크의 마지막 파티션이어야 합니다.
==== 읽기 전용 파일 시스템 ====
ComfilePi에 필요한 커스터마이즈를 적용한 후에는 읽기 전용 파일 시스템을 활성화하는 것을 **강력히 권장**합니다.
* //bootfs// 및 //rootfs// 파일 시스템을 손상으로부터 보호합니다.
* 저장 장치의 플래시 메모리 수명을 늘립니다.
* 정상적인 종료 절차 없이 전원이 갑자기 차단되어도 견딜 수 있도록 합니다.
Raspberry Pi의 읽기 전용 파일 시스템 오버레이에는 몇 가지 버그가 있기 때문에, Trixie에서는 오버레이를 사용하는 대신 파일 시스템을 읽기 전용으로 마운트하도록 선택했습니다. Bookworm과 마찬가지로, 이 기능은 GUI를 통해 쉽게 활성화할 수 있습니다.
{{ :comfilepi:trixie:trixie-readonly-filesystem.png }}
또는 다음 명령을 사용할 수 있습니다.
**읽기 전용 파일 시스템 활성화**
sudo cpi-make-readonly
sudo reboot
**읽기 전용 파일 시스템 비활성화**
sudo cpi-make-readwrite
sudo reboot
==== 시스템 파일 변경 사항 보존 ====
읽기 전용 파일 시스템이 활성화된 상태에서도 //rootfs// 파티션의 특정 파일을 읽기/쓰기 가능하게 유지해야 하는 경우, 다음 방법 중 하나를 고려하십시오.
=== 방법 1: 심볼릭 링크 ===
- 읽기 전용 파일 시스템을 비활성화하고 재부팅합니다.
- 해당 파일을 //rootfs// 파티션에서 //datafs// 파티션의 유사한 위치로 이동합니다.
- //rootfs// 파티션에 //datafs// 파티션의 파일을 가리키는 [[https://manpages.debian.org/bookworm/coreutils/ln.1.en.html|심볼릭 링크를 생성]]합니다. 예: ''ln -s /data/etc/default/locale /etc/default/locale''
- 읽기 전용 파일 시스템을 다시 활성화하고 재부팅합니다.
=== 방법 2: 바인드 마운트 ===
바인드 마운트를 사용하면 //datafs// 파티션의 파일이 //rootfs// 파티션의 원래 위치에 있는 것처럼 보이게 할 수 있습니다. 이 방법은 원래 경로가 일반 파일 또는 디렉터리로 유지되어야 하거나, 애플리케이션이 심볼릭 링크와 잘 호환되지 않는 경우에 유용합니다.
- 읽기 전용 파일 시스템을 비활성화하고 재부팅합니다.
- 파일을 //rootfs// 파티션에서 //datafs// 파티션의 유사한 위치로 복사합니다. 예: ''cp /etc/default/locale /data/etc/default/locale''
- //rootfs// 파티션의 원본 파일은 그대로 둡니다. 이 파일은 바인드 마운트 대상로 사용됩니다.
- ''/etc/fstab''에 바인드 마운트 항목을 추가합니다. 예: /data/etc/default/locale /etc/default/locale none bind 0 0
- 읽기 전용 파일 시스템을 다시 활성화하고 재부팅합니다.
- 재부팅 후에는 ''/etc/default/locale''이 원래 위치에 있는 것처럼 보이지만, 실제 내용은 ''/data/etc/default/locale''에서 가져옵니다. 이 파일에 대한 변경 사항은 쓰기 가능한 //datafs// 파티션에 보존됩니다.
==== .NET 10 ====
.NET 10 SDK와 Microsoft의 Visual Studio Remote Debugger(//vsdbg//)가 기본으로 설치되어 있으므로, .NET 개발은 별도의 설정 없이 바로 시작할 수 있습니다.
이제 [[https://learn.microsoft.com/en-us/dotnet/core/install/linux-debian?tabs=dotnet10|Microsoft가 ARM64 Debian용 .NET 설치 패키지를 제공]]하므로, COMFILE Technology가 별도의 설치 패키지(예: //cpi-dotnet-sdk-9.0//)를 제공하거나 사용자가 .NET을 수동으로 설치할 필요가 없습니다. Microsoft 저장소는 이미 운영 체제에 추가되어 있으므로, ''apt''를 사용하여 패키지를 쉽게 설치, 업데이트 또는 제거할 수 있습니다.
COMFILE Technology는 ComfilePi와 같은 ARM Linux 장치에서 .NET 애플리케이션은 물론 WinForms 애플리케이션까지 그 어느 때보다 쉽게 개발할 수 있도록 했습니다.
* [[:winforms:index|ComfileTech.WinForms]] - COMFILE Technology에서 유지 관리하는 Mono WinForms의 .NET 10 포트입니다.
* [[:dotnet:remote_debugger:index|Visual Studio용 .NET Remote Debug Extension
]] - Visual Studio 개발 환경 안에서 ComfilePi의 .NET 애플리케이션을 배포, 실행 및 디버그할 수 있습니다.
* [[https://www.comfilewiki.co.kr/en/doku.php?id=comfilepi:dotnet_core_development:vscode_remote_debug_configurator:index|Visual Studio Code용 .NET Remote Debug Configurator]] - Visual Studio Code 개발 환경 안에서 ComfilePi의 .NET 애플리케이션을 배포, 실행 및 디버그하기 위한 .json 파일을 쉽게 생성할 수 있습니다.
Mono는 더 이상 기본으로 설치되지 않습니다. 대신 최신 버전의 .NET 및 C#을 사용하여 ComfilePi용 WinForms 애플리케이션을 작성할 수 있는 [[:winforms:index|ComfileTech.WinForms]] 라이브러리의 사용을 고려하십시오. Mono를 사용하려면 Debian 저장소에서 //mono-complete// 패키지를 설치하십시오.
==== chrony ====
ComfilePi Trixie OS는 실시간 클록(RTC) 제어 및 구성을 더 잘 지원하기 위해 //systemd-timesyncd//를 [[https://chrony-project.org/|chrony]]로 대체합니다.
==== fcitx5 ====
ComfilePi Trixie OS는 [[https://fcitx-im.org/wiki/Fcitx_5|fcitx5]]가 메모리를 더 효율적으로 사용하기 때문에 ibus를 fcitx5로 대체합니다.