Uboot 부트로더가 있는 Debian 8.1은 재부팅 시 FSCK를 실행할 수 없습니다.

Uboot 부트로더가 있는 Debian 8.1은 재부팅 시 FSCK를 실행할 수 없습니다.

저는 U-boot 부트로더가 있는 바나나 PI의 SD 카드에서 데비안 8.1을 실행하고 있습니다.

재부팅 후 시스템을 강제로 실행하려고 했지만 fsck아무리 해도 아무 일도 일어나지 않았습니다. 지금까지 나는 다음을 시도했습니다.

  • FSCKFIX=yes내부에 설정/etc/defaults/rcS
  • touch /forcefsck그리고reboot
  • /proc/cmdline포함하도록 업데이트 fsck.mode=force하고 (이 작업은 파일을 다른 위치에 복사한 다음 해당 위치로 복사 fsck.repair=yes하여 수행됩니다 )cpmount -n --bind

어쨌든 아무 일도 일어나지 않을 것입니다. 로그 파일( )을 보면 /var/logs/fsck/checkfs항목이 없습니다.

을 호출하는 부팅 시 실행할 자체 파일을 생성하려고 시도했고 fsck내 로그 파일을 살펴본 결과 fsck from util-linux 2.25.2드라이브(예: fsck -yf /dev/mmcblk0p2)에서 명시적으로 실행되도록 init 스크립트를 변경한 다음 로그 파일에 시스템이 다음과 같이 표시되어 있음을 나타냅니다. 드라이브가 마운트되었기 때문에 정지됩니다. 참고로, 이 초기화 스크립트는 checkfs실행되기 전에 실행됩니다 checkroot!

어떤 도움이라도 정말 감사하겠습니다!

답변1

나는 최근에 BananaPi에서 이것을 우연히 발견했습니다. Systemd를 사용하여 시작할 수 있으므로 FSCKFIX=yesSystemd에 설정하십시오 ./etc/defaults/rcS

당신에게 도움이되지 않습니다. 또한/proc가상 파일 시스템이므로 재부팅 사이에 변경 사항이 사라집니다.

이러한 커널 옵션을 설정하는 것은 에 적합 systemd하지만 다음이 필요합니다.시작 매개변수에 추가합니다..

마지막 에 다음을 /boot/boot.cmd추가합니다 .fsck.repair=yessetenv bootargs

setenv bootargs "console=tty1 root=/dev/mmcblk0p1 rootwait rootfstype=ext4 cgroup_enable=memory swapaccount=1 sunxi_ve_mem_reserve=0 sunxi_g2d_mem_reserve=0 sunxi_no_mali_mem_reserve sunxi_fb_mem_reserve=16 hdmi.audio=EDID:0 disp.screen0_output_mode=1920x1080p60 panic=10 consoleblank=0 enforcing=0 loglevel=${verbosity} fsck.repair=yes"

/boot/boot.cmd표시하려면 다음 명령을 사용하여 다시 생성해야 한다는 점에 유의하는 것이 중요합니다 (마지막에 인쇄됨 /boot/boot.cmd).

mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr

재부팅 후 적용되었는지 확인할 수 있습니다 cat.

~# cat /proc/cmdline 
console=tty1 root=/dev/mmcblk0p1 rootwait rootfstype=ext4 cgroup_enable=memory swapaccount=1 sunxi_ve_mem_reserve=0 sunxi_g2d_mem_reserve=0 sunxi_no_mali_mem_reserve sunxi_fb_mem_reserve=16 hdmi.audio=EDID:0 disp.screen0_output_mode=1920x1080p60 panic=10 consoleblank=0 enforcing=0 loglevel=1 fsck.repair=yes

관련 정보