L4

L4 #


김도집

Contents

1 L4
1.1 L4
1.2 L4::pistachio
1.2.1 빌드하기
1.2.2 실행하기 on skyeye
1.3 L4::fiasco

1.1 L4 #

마이크로 커널 중 하나로 [http]http://www.l4ka.org에서 관련 정보를 구할 수 있다.

1.2 L4::pistachio #

[http]http://www.l4ka.org/projects/pistachio/에서 관련 정보를 구할 수 있다.

1.2.1 빌드하기 #

다음은 커널 빌드 방법이다.
  1. 소스에서 kernel 디렉토리로 들어간다.
  2. 빌드 결과를 저장하기 위한 디렉토리를 결정한다 (디렉토리를 만들진 마라)
  3. make BUILDDIR={앞서 결정한 빌드 디렉토리} 를 실행한다.
  4. 빌드 디렉토리로 들어간다.
  5. make menuconfig 를 실행한다.
  6. 위 과정을 마치면 Makeconf.local 파일이 만들어진다.
    • gcc가 만드는 중간 생성 파일을 보고자 한다면 CFLAGS를 수정한다.
      CFLAGS += -save-temps
    • 디버그 심볼 정보를 추가하고자 한다면 다음과 같이 수정한다.
      CFLAGS += -g
      CCFLAGS += -g
      ASMFLAGS += -g
    • 툴체인을 지정한다.
      TOOLPREFIX=arm-linux-
  7. make



다음은 user 빌드 과정이다.
  1. 소스에서 user 디렉토리로 들어간다.
  2. build 디렉토리를 만든다(mkdir build).
  3. build 디렉토리로 들어간다.
  4. user 디렉토리 아래에 있는 configure를 실행한다 (../configrue).
    • --host=arm-pleb 와 같이 architecture-platform을 지정한다.
    • CC=arm-linux-gcc 와 같이 툴체인을 명시한다.
    • ../configure --host=arm-pleb CC=arm-linux-gcc
  5. make
    • 빌드가 끝나면 contrib/elf-loader 디렉토리 아래에 arm-loader 와 arm-loader.bin 있다.

1.2.2 실행하기 on skyeye #

skyeye를 이용하여 pistachio를 arm용으로 컴파일하여 실행해 볼 수 있다.

다음은 skyeye 0.7.x 에서 사용하는 config 파일(skyeye.conf)이다.

#skyeye config file sample
cpu: sa1100
mach: sa1100
mem_bank: map=I, type=RW, addr=0x80000000, size=0x40000000
mem_bank: map=M, type=RW, addr=0xc0000000, size=0x02000000
mem_bank: map=I, type=RW, addr=0xe0000000, size=0x08000000
#0xe0000000 128M cache flush memory bank

/!\ skyeye에 대해 상세한 내용은 skyeye를 참고하라.

skyeye <elf파일>으로 실행한다(skyeye arm-loader). (skyeye) 프롬프트에서 다음과 같이 실행하면 된다.
(skyeye)target sim
(skyeye)load
(skyeye)run

1.3 L4::fiasco #

Retrieved from http://fst.or.kr/wiki/wiki.php/L4
last modified 2006-05-11 16:53:28