Wonhyuk Yang2021년 7월 21일[Practice] WAIOS 제작 (4)Intro 저번 시간에는 고수준 입출력 함수 printk를 구현했었어요. qemu를 통해 빌드된 이미지를 실행시키면 정상적인 경우라면 "Hello world!"같은 printk에 입력으로 준 문자열이 출력이 될 거에요. 하지만 아무것도 출력되지...
Wonhyuk Yang2021년 7월 20일[Practice] WAIOS 제작 (3)이번 시간에는 저번 시간에 만든 uart 드라이버를 이용하여, C 표준 입출력 스타일의 함수를 만들어보도록 할게요. print와 같이 고수준 함수들이 지원이 된다면 좀 더 쉽게 정보들을 덤프할 수 있고 여러가지 재미있는 일들을 할 수 있어요....
Wonhyuk Yang2021년 6월 14일[Training] Arm v8 Linux kernel head.S 찍어먹기 (完)지난 시간에는 MMU를 활성화하기 전에 필요한 여러가지 시스템 레지스터들을 세팅해줬어요. 이제 MMU를 활성화시키고 start_kernel 함수로 진입할 때가 되었네요. 자 그럼 힘차게 살펴보도록 할게요. 해당 글의 타겟 아키텍처는...
Wonhyuk Yang2021년 5월 13일[Practice] WAIOS 제작 (1)이론을 공부하고 커널 코드를 분석하여 완전히 이해하면 너무나 좋겠지만, 완전히 이해하기 힘든 부분이 존재하는 것 같아요. 저는 커널 코드를 분석하는 입장과, 커널 코드를 개발하는 입장의 차이는 생각보다 꽤 크다고 봐요. 그렇기 때문에 직접 OS를...
Hello Stock2021년 5월 6일Linux kernel head.S, main.c 분석하기 (1) (GDB + QEMU + BUILDROOT)head.S 를 분석하거나, main.c의 start_kernel함수를 분석하는 과정에서 특정 변수나 레지스터의 값을 확인하고 싶을 때가 있습니다. GDB를 사용하면 자신이 분석중인 커널소스를 기준으로 라인바이 라인으로 이동하며 변수나 레지스터의...