![/is가 마운트되지 않은 경우 스크립트를 강제로 실행하려면 어떻게 해야 합니까?](https://linux55.com/image/124460/%2Fis%EA%B0%80%20%EB%A7%88%EC%9A%B4%ED%8A%B8%EB%90%98%EC%A7%80%20%EC%95%8A%EC%9D%80%20%EA%B2%BD%EC%9A%B0%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A5%BC%20%EA%B0%95%EC%A0%9C%EB%A1%9C%20%EC%8B%A4%ED%96%89%ED%95%98%EB%A0%A4%EB%A9%B4%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%ED%95%B4%EC%95%BC%20%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
Linux 임베디드 장치를 차단했습니다.
나는 이것을 실험하고 /etc/ld.so.conf
. libc
경로에 포함된 I는 이 특정 장치와 호환되지 않으므로 해당 장치에 대한 SSH 액세스가 손실되고 더 이상 부팅할 수 없습니다.
부트로더, 커널, dtb 및 initramfs를 메모리에 로드할 수 있는 일종의 다운로드 모드로 들어갈 수 있습니다. 그런 다음 프로세서에 메모리의 특정 주소로 점프하고 시스템을 부팅하도록 지시할 수 있습니다.
root
initramfs에서 장치의 플래시 메모리로 전환 하면 잘못된 라이브러리가 사용되고 장치 작동이 중지되기 때문에 문제가 해결되지 않습니다.
내 계획은 플래시 마운트, 삭제 /etc/ld.so.conf
및 /etc/ld.so.cache
. 그런 다음 SSH를 통해 연결하고 혼란을 정리할 수 있습니다.
initramfs의 어디에 수정 사항을 주입해야 하는지 이해할 수 없으므로 질문은 다음과 같습니다.
설치 전 시작 시 실행되도록 bash 몇 줄을 어디에 삽입해야 합니까 /
?
답변1
/init
이미지의 파일에 셸 스크립트 코드를 추가합니다 initramfs
.
너무 화려한 것을 사용하지 마십시오. /bin/sh
아니요 bash
, 하지만 아마도 그렇습니다 busybox
.
What is initramfs?
in으로 시작하는 부분을 읽어보세요.이것문서.