저는 U-boot 부트로더가 있는 바나나 PI의 SD 카드에서 데비안 8.1을 실행하고 있습니다.
재부팅 후 시스템을 강제로 실행하려고 했지만 fsck
아무리 해도 아무 일도 일어나지 않았습니다. 지금까지 나는 다음을 시도했습니다.
FSCKFIX=yes
내부에 설정/etc/defaults/rcS
touch /forcefsck
그리고reboot
/proc/cmdline
포함하도록 업데이트fsck.mode=force
하고 (이 작업은 파일을 다른 위치에 복사한 다음 해당 위치로 복사fsck.repair=yes
하여 수행됩니다 )cp
mount -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=yes
Systemd에 설정하십시오 ./etc/defaults/rcS
당신에게 도움이되지 않습니다. 또한/proc
가상 파일 시스템이므로 재부팅 사이에 변경 사항이 사라집니다.
이러한 커널 옵션을 설정하는 것은 에 적합 systemd
하지만 다음이 필요합니다.시작 매개변수에 추가합니다..
마지막 에 다음을 /boot/boot.cmd
추가합니다 .fsck.repair=yes
setenv 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