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 |
댓글