Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>
setup_arch()

5.3. setup_arch()

setup_arch()는 arch/*/kernel/setup.c에 각 아키텍쳐에 따른 정의가 되어 있다.

여기서는 아키텍쳐(좀더 정확히는 타겟 보드에 따라)에 따른 설정을 한다. i386에서는 아래와 같은 정보를 수집하 거나 초기화 해 놓는다. CPU가 초기화 되면서 /var/log/dmesg에 "Initializing CPU#0"를 출력한다.

  • 기본 루트 디바이스 선택

  • 시스템에 연결되어 있는 드라이브 정보 수집

  • 화면 정보 수집

  • APM 정보 수집

  • 시스템 정보 수집

  • 램디스크 플래그 설정

  • 메모리 영역 설정

  • 메모리 매니져 변수 초기화

  • 커맨드 라인 명령 해석

  • 부팅할 때 사용하는 메모리 초기화

  • 페이징 시스템 초기화

  • 전원 관리 초기화

  • 표준 롬 초기화

ARM 의 경우 i386과는 달리 프로세서 종류가 몇 가지 되므로 프로세서와 아키텍쳐 타입에 따른 설정을 마친 후 커맨드 라인 명령을 해석한다. 이어 메모리 설정을 초기화하고 페이지 설정도 한다.