추가 읽기

추가 읽기

우리는 256MB RAM과 4GB eMMC를 갖춘 Beaglebone 블랙 기반 맞춤형 보드를 보유하고 있습니다.

Linux-3.12에서 Linux-4.4로, busybox-1.20.2에서 busybox-1.26.2로 업그레이드했습니다.
이제 busybox-1.26.2에는 busybox-1.20.2에 없었던 문제가 표시됩니다.

마지막 init 스크립트 중 하나에 다음 코드를 추가했습니다.

if [ -f /home/ankur ] ; then
    count=50
    rm /home/ankur
    echo "----Check Whoami----"
    whoami  #prints root
    reboot
    echo "--------------------"
    while [ true ]
    do
       count=$((count - 1 ))
       echo "Count = $count"
       if [ $count -le 0 ];then
            break;
       fi
       echo "Sleep 1"
       sleep 1
    done
fi

파일을 터치 /home/ankur하고 보드를 다시 시작했습니다.
시스템이 재부팅되지 않았지만 카운터가 0으로 떨어지고 다른 초기화 스크립트가 실행된 다음 보드가 재부팅되는 것을 관찰했습니다.

따라서 busybox가 신호를 받고 있지만 rebootinit 스크립트가 실행된 후에만 처리하는 것 같습니다.

reboot이제 내 질문은 모든 초기화 스크립트가 완료되기 전에 보드 에 들어갈 수 있는 방법이 있느냐는 것입니다 . 이 재시작 차단을 비활성화하는 busybox 구성이 있습니까?

reboot -f(init를 거치지 않고 강제로 재부팅)은 작동하지만 중지 스크립트도 실행해야 하므로 사용할 수 없습니다.

답변1

따라서 busybox에 다시 시작하라는 신호가 전달되는 것 같지만 init 스크립트가 실행된 후에만 처리됩니다.

예, 이것이 바로 initBusyBox가 작동하는 방식입니다. 아니요, 구성할 수 없습니다. 프로그램을 변경하고 다시 빌드해야 합니다.

추가 읽기

관련 정보