2014-05-16 9 views
0

뿌리 내리고있는 Nexus 7 디바이스에서 init.rc 파일을 수정하려고합니다. 전에 간단한 hello world 모듈을 insmod로 만들고 싶습니다. my/userdata/partition을 마운트하기 전에. 상황이 나는 시도했다 :파일 시스템이 Android에 마운트되기 전에 init.rc의 insmod helloworld가

  1. 이 장치에서 boot.img 부분을 추출, 램 디스크를 추출의 init.rc을 변경 (작동하지 않는)는 boot.img를 재현했다 (도구를 mkbootimg 사용) 장치에 다시 꽂습니다.

  2. 커널을 컴파일 한 hello.ko를 두 곳에 두었습니다 : 하나는 init.rc가있는 현재 디렉토리이므로 insmod hello와 같이 할 수 있습니다 .ko 그리고 그것을 찾을 수 있습니다. 둘째로/lib/modules/디렉토리를 만들고 그 안에 넣었습니다.

  3. 내 init.rc에서 on_boot 다음에 insmod /lib/modules/hello.ko를 배치했습니다. 또한 init.flo.rc를 변경하고 파일 시스템을 마운트하는 ./mount_all 앞뒤에 insmod를 두었습니다. 그러나 모듈로드가 전혀 표시되지 않습니다. 설정 권한은 (I도 0777과 노력)

  4. 난 등/폴더/내부 init.d를 만든 0644이었다 및 올릴때 /lib/modules/hello.ko 그 모듈로드 않는 loadmodule.sh 배치 일단 부팅 프로세스가 완료되면.

나는/userdata/파티션을 마운트하기 전에 바로하고 싶습니다.

누군가가 도와 줄 수 있습니까?

내 장치는 flo_kernel와 넥서스 7, 설치 뿌리, 비지 박스 등이다

답변

0

안드로이드 장치에 루트 파일 시스템은 "읽기 전용", 루트 트리 해제 파일을 끊지 수있는 한이다 주위에 머물 것을 기대하십시오. 이것은 init.rc 변경을 지속하기 위해 램 디스크를 추출하고 그 내용을 다시 채우는 것과 같은 이유입니다; /에있는 파일도 램 디스크에 압축해야합니다. Android는 부팅 할 때마다 램 디스크에서 루트를 추출합니다. 해당 파일에 대한

보다 기존의 위치는 시스템 파티션에있을 것입니다, /system/lib

+0

확인에 말한다. init.rc에서 변경했고 hello.ko를/system/lib 디렉토리에서 insmod하려고합니다. 문제는 모듈 로딩이 보이지만 파일 시스템이 마운트 된 후입니다. insmod가 mount_all 위의 줄에 위치하더라도. 하지만 계속해서 계속 노력하고 있습니다 :-). 둘째, 내가 recovery.img에 대해 비슷한 일을한다고 가정 해 봅시다. 즉, init.rc 스크립트를 수정하고 재 포장 및 플래시를 실행하여 시스템을 재부팅합니다. 복구 로그에로드 된 모듈을 볼 수 없습니다 (심지어 mkdir가 전달하지 않음) . 내가 놓친 게 있니?/sbin/recovery /를 수정해야합니까? 그렇다면 그렇게 할 수있는 방법이 있습니까? 감사 –