본문 바로가기
[Developer]/Android

Linux4Android 3rd Afternoon

by 해피빈이 2010. 11. 10.

 

 arch/arm/boot/compressed로 이동.

 

커널엔 main()코드가 없다. misc.c에 main()이 있다는 것은 일반코드라는 의미이다.

커널에서는 init만 한다.

 

MMU가 설정되면 리눅스 커널은 가상주소를 기준으로 메모리맵을 사용한다.

 

arch/arm/tools/mach-types.h

 

Processor ID값은 cp15의 레지스터 0에 명시되어있다.

mach-types.h 파일은 arch/arm/tools/mach-types를 바탕으로 자동 생성

 

init kernel thread에서 sys_dup()는 system call이다.

 

Redhat이나 Ubuntu는 System V init을 쓴다.

 

rc =  Run Command의 의미이다.

 

         ↗ 파일

init=/init

  ↘ __setup()에 선언되어있는 것.

 

NFS 구축하기(nfs로 부팅하기 위해.)

sudo mkdir /nfsdir

ls /nfsdir

sudo chmod 777 /nfsdir

tar zxvf RootFS-Android_C100.tar.gz -C /nfsdir/

sudo vi /etc/exports

그 안에 아래 한 줄을 추가

/nfsdir         *(rw,sync,no_root_squash,no_all_squash,no_subtree_check)

sudo service nfs-kernel-server restart

sudo exportfs -rav (/etc/exports의 내용을 수정한 후에 적용하는 명령)

 

minicom으로~

setenv bootargs console=ttySAC1,115200 root=/dev/nfs rw nfsroot=192.168.1.15:/nfsdir ip=192.168.1.85:192.168.1.15:192.168.1.1:255.255.255.0::eth0:off mem=256M ethaddr=00:40:5c:26:0a:5b init=/init

saveenv

 

** 각 의미

  = console 출력용(커널 출력용)

  = root 루트파일 시스템 디바이스

  = nfsroot 서버 아이피와 허용할 디렉토리(/etc/exports에 정의된 디렉토리)

  = ip 단말기ip:서버ip:게이트웨이:넷마스크

줄이 너무 길면 \로 이어준다.

이 글은 스프링노트에서 작성되었습니다.

반응형

'[Developer] > Android' 카테고리의 다른 글

Linux4Android 4th Afternoon  (0) 2010.11.11
Linux4Android 4th Morning  (0) 2010.11.11
Linux4Android 3rd Morning  (0) 2010.11.10
Linux4Android 2nd Afternoon  (0) 2010.11.10
Linux4Android 2nd Morning  (0) 2010.11.09

댓글