Pivot_root와 ramdisk에서 init를 멀리하는 방법은 무엇입니까?

Pivot_root와 ramdisk에서 init를 멀리하는 방법은 무엇입니까?

간단히 말해서, 사용 가능한 배포판이 너무 크거나 필요한 ootb 기능이 부족했기 때문에 사용 가능한 배포판이 마음에 들지 않았습니다. 또한 램디스크로 부팅할 수 있기를 원했기 때문에 자체 ISO를 만들었습니다.
ISO에는 isolinux 부트로더, Linux 커널 및 initrd(busybox 및 기타 도구 포함)가 포함되어 있습니다.
이제 내가 겪고 있는 문제는 busybox init가 Pivot_root를 시도하고 있는데 루트를 지정하지 않았으며 필요한 모든 것이 이미 램디스크에 있지만 root=/dev/ram0을 설정하면 피벗하고 싶지 않다는 것입니다. 작동하지 않으면(파티션/루트 무효) 여전히 커널 패닉이 발생합니다.

이 "작업"에서협회5단계로 가고 싶은데 더 이상은 안가고 아직 많이 못찾아서 여기에 질문드립니다.

linux/busybox/init가 램디스크를 떠나려고 하는 것을 어떻게 막나요?

답변1

그렇습니다. 제가 바보인 것 같습니다. 문제는 두 가지입니다. initramfs 소스 파일로 커널을 컴파일했고 두 개의 initrd가 있습니다.

첫 번째는 외부 initrd가 로딩되는 것을 막는 것이고, 두 번째는 iso 루트를 정리하지 않고 initrd와 initrd.xz가 있어서 isolinux가 점(.)을 좋아하지 않는 경우입니다.

이제 Runit에 올라타는 방법만 알아내면 됩니다.

이것이 내 프로젝트의 영감이자 기초입니다.Nir Lichtman의 비디오처음부터 간단한 Linux 배포판 만들기.

관련 정보