2010년 4월 22일 목요일

Linux 토막 지식

- 부트 옵션 "root=/dev/ram" 는, 부팅 종료 후에도 initrd를 폐기하지 않고 root file system으로 사용하겠다는 뜻이다. 즉 별도의 flash나 HDD등에 root file system을 만들지 않는 경우에 사용하는 옵션이다.
- 부팅 옵션은 .config파일의 CONFIG_CMDLINE 항목에 지정할 수 있다. 혹은 menuconfig->Boot options->Default kernel command string에서 지정한다.
- 부팅 중 initrd안에 linuxrc script가 실행되고, 실행이 끝나면 일반적으로 initrd는 폐기된다.
- 별도의 root file system이 존재할 때 root file system에 /initrd 디렉토리가 있을 경우, 부팅 종료 후 initrd가 폐기되지 않고, /initrd에 mount된다.
- vmlinux파일. ELF type
- Image. raw binary file
- zImage. Image를 gz압축한것
- bzImage. i386의 real mode 1M 메모리 제약을 위해 일정 크기 이상의 큰 kernel에서 사용.
- make mrproper : 커널소스를 초기 상태로 되돌린다. .config파일까지 초기화되므로 주의. mrproper는

참고 자료:
- uImage와 zImage차이설명
- 임베디드 시스템 엔지니어를 위한 리눅스 커널 분석
- mount

vi에서 ^M 제거하기

:1,$s/^M//g
  혹은
:%s/^M//

1,$ : 첫번째 라인에서 $(마지막) 라인까지 적용.
 여기서 1,$ 대신 모든 라인을 뜻하는 % 로 바꾸어 사용할 수 있음.
s : substitute .
/ : 구분자
^M : Ctrl Key + v key + m key 를 차례로 모두 누를것. 누르는 동안 앞에 누른 키를 계속 누르고 있을 것.
// : 두 구분자 사이에 아무것도 없으므로 ^M이 아무것도 없는 것으로 치환됨 .
g: 한 라인에서 ^M이 여러개 있을 경우 이들 모두를 바꾸기 위해서 사용. 여기서는 한 라인의 마지막에만  ^M이 있으므로 굳이 g를 사용할 필요가 없다.


참고
^:캐럿: 정규식에서 문장의 시작 위치를 뜻함. vi에서 "^"를 누르면 해당 라인의 첫 글자로 이동. 반면에 "0"(Zero)을 누르면 행의 첫 글자가 아닌 행의 첫번째 열로 이동.  하지만 위의  ^M앞의 ^는 이것과 상관없는 control문자를 뜻함.
$:달러: 끝의 의미가 있음. 여기서는 마지막 라인을 의미, 정규식에서 사용되면 문장의 끝을 의미. vi에서 "$"을 누르면 현재 행의 마지막열로 이동함.