Modification of the kernel
/linux-2.6.25.10/init/main.c의 start_kernel() 함수를 modify해보고 해당 내용이 잘 출력이되는지 확인을 하였다.
kernel을 modify하고 그 내용을 확인하기 위해서는 linux-2.6.25.10위치에서 "make bzImage"를 통해 kernel을 recompile하고 "cp arch/x86/boot/bzImage /boot/bzImage"를 통해 새로운 kernel을 boot location에 copy해주고 "reboot"를 통해 재부팅을 해주었다.
그 뒤에는 "dmesg > x", "vi x"를 통해 원하는 메세지 "hello from me"가 제대로 출력됨을 확인하였다.
Modifing trap_init()
grep -nr “trap_init” * | more 명령어를 이용하여 trap_init함수의 위치를 찾아주었다.
trap_init() 함수에 "hello from trap_init()"를 출력해주는 printk 코드를 넣어준다.
이어서 init_IRQ함수와 init_timer함수에도 문구를 넣어주었다.
Kernel에 변형을 주었으니 recompile해주는 것을 잊지 않고 진행한다.
추가한 문구들이 출력되었음을 확인하였다.
Making My Linux2
boot/grub/grub.conf에서 새로운 linux2를 만들어주었다. 이때 구성은 기존의 linux 명령어들을 copy해주었다.
"hello from My Linux2"가 출력되도록 modify를 진행하였다.
reboot를 하니 My Linux2선택지가 생기게 되었고
Linux2에서 dmesg > x, vi > x를 하니 hello from my Linux2가 제대로 출력됨을 알 수 있었다.
'Quality control (Univ. Study) > Operating System' 카테고리의 다른 글
OS (fork) (0) | 2022.11.10 |
---|---|
OS(process id) (1) | 2022.11.05 |
OS(interrupt) (0) | 2022.11.05 |
OS(system_call) (0) | 2022.10.11 |
OS (linux, start_kernel) (1) | 2022.10.03 |