Linux를 실행하는 단일 보드 컴퓨터(RaspberryPi, CubieTruck 등)를 사용하여 프로젝트용 시스템 설계를 고려 중입니다.
내 주요 요구 사항은 SD 카드 부팅의 복잡성을 최소한으로 유지하는 것입니다. 내 비전은 다음과 같습니다.
/
boot.txt
settings.txt # DHCP /ifconfig data etc.
error.log # optional
OS.tar.gz # the OS Omni-file
Kernel.img # If it can't fit with the Omni-file
운영 체제는 일부 오류 로그를 제외하고 파일을 수정할 필요가 없습니다.
지금까지 내 추측으로는 실제 ISO에서 부팅하는 것입니다.시작하기 쉬움, 그러나 레이아웃은 충분히 간단하지 않습니다(그리고 약간 거꾸로 보입니다).
내 목표를 달성하는 데 도움이 될 수 있는 프로젝트/출시 옵션이 있습니까?
고쳐 쓰다
나는에 대해 알아냈다순환 장비, 이것은 내가 필요한 것 같습니다 - 파일 내 FS.
다음과 같이 포맷하고 설치했습니다.
losetup /dev/loop0 /tmp/disk.img
mkfs -t ext2 /dev/loop0
losetup -d /dev/loop0
mkdir /tmp/disk-mount
mount /tmp/disk.img /tmp/disk-mount -o loop
touch /tmp/disk-mount/bla
umount /tmp/disk-mount
그러한 장치에서 부팅하는 방법에 대한 문서가 있습니까?
답변1
사용을 고려해보세요루트 구축대상 루트 파일 시스템을 생성하려면 다음을 수행하십시오. 이 프로젝트는 Linux 커널을 활용하여 전체 임베디드 시스템 파일 시스템에 대한 워크플로를 구성하고 구축합니다.
답변2
내가 올바르게 이해했다면 사용자 정의 루트 파일 시스템을 구축하는 도구가 필요합니다. 제가 사용한 도구 중 하나는http://www.ptxdist.org/software/ptxdist/index_en.html 하지만 Ri에서 실행되도록 부트로더를 설정하는 것이 간단한 작업인지는 모르겠습니다.
또한 예제에서 정의한 파일 중 일부를 채우려면 특정 형태의 데몬이 필요하며 해당 데몬은 파일 시스템 계층 구조의 어딘가에 위치한 이진 파일이라는 점을 고려하세요.
따라서 The OS doesn't have to modify its files, except possibly for some error log.
이를 수정하는 애플리케이션은 아마도 rootfs 어딘가에 있는 사용자 공간 데몬일 것입니다(예 /usr/bin
: ).
답변3
루프 장치 사용에 관한 사소한("업데이트된") 질문에 따라: 저는 부팅 프로세스에 익숙하지만 먼저 초기 램디스크(initrd)로 부팅해야 합니다. 즉, 커널 이미지에 내장된 최소 루트 FS 이미지입니다. 기본 루트 FS는 루프 장치로 마운트될 수 있습니다. 기본 루트 FS를 마운트한 후 initrd에서 전체(루프) 설치의 루트 이미지로 "chroot"합니다.