현재 Squashfs를 루트 마운트 지점으로 사용하기 위해 x86 64비트 시스템을 설정하려고 하는데 여러 가지 문제가 발생합니다. 현재 저는 Squashfs로 컴파일된 4.4.0-89 커널을 사용하고 있습니다. 하드 드라이브에서 이 작업을 수행하고 싶지만 학습과 테스트를 위해 현재 USB에서 수행하려고 합니다(이것이 문제를 일으킬지는 확실하지 않지만 의심스럽습니다).
저는 다음과 같이 장치를 설정했습니다.
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 14583807 14581760 7G 83 Linux
/dev/sdb2 14583808 15656959 1073152 524M 83 Linux
/dev/sdb1은 Ubuntu 16.04.3LTS를 사용하여 만든 squashfs 파일 시스템입니다.
dd if=filesystem.squashfs of=/dev/sdb1
/dev/sdb2는 부팅입니다.
drwxr-xr-x 5 root root 4096 Oct 5 09:57 grub/
-rw-r--r-- 1 root root 40177135 Oct 5 09:28 initrd
-rw-r--r-- 1 root root 6913440 Oct 4 13:12 vmlinuz
내 grub 구성 메뉴 항목은 다음과 같습니다.
menuentry 'test' {
set root=(hd0,msdos2)
linux /vmlinuz root=/dev/sda1 ro rootfstype=squashfs quiet splash
initrd /initrd
}
현재 부팅하려고 할 때 grub 우분투 부팅 화면을 제거하기 위해 Esc 키를 누르면 동일한 오류 줄이 실행됩니다.
madm: No device listed in conf file were found.
madm: CREATE group disk not found
최종 표시 전:
Gave up waiting for root device. Common problems:
- Boot args (cat /proc/cmdline)
- Check rootdelay= (did the system wait long enough?)
- Check root= (did the system wait for the right device?)
- Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/sda1 does not exist. Dropping to a shell
비지박스에 액세스할 수 있는 쉘입니다.
나는 rootdelay를 300으로 늘려 동일한 결과를 반환하고 /dev/sda1 대신 루트 파티션 UUID를 사용해 보았지만 역시 작동하지 않았습니다.
busybox initramfs 쉘에서는 /dev/ 트리에 sdx도 표시되지 않습니다.
아마도 이것을 완전히 잘못 구현하려고 시도하고 있지만 다음에 무엇을 시도해야할지 혼란 스럽습니다. 누구든지 나를 도울 수 있다면 감사하겠습니다!
감사해요.