Guillermo Austin Kim

Sources

Posts

998 posts

리눅스 디바이스 드라이버와 리눅스 커널은 정말 배울 필요가 없을까?

Guillermo Austin Kim|2021년 6월 20일

이번에는 임베디드 혹은 시스템 리눅스 개발과 관련된 이야기를 해보려고 해요. 저는 개발자 뿐만 아니라 취준생 분들과 교류를 하면서 여러 가지 정보를 공유받고 공유하기도 하는데요. 가끔 황당할 때가 있어요. 어! 어떻게 이런 생각을 할 수가 있지? 이런 정보를 어떻게 들었지? 그럼 어떤 황당한 소리를 들었냐고요? 이제부터 이야기를 해볼께요. '리눅스 디바이스 드라이버'는 배울 필요가 없다 가장 먼저 들었던 소리는 '리눅스 디바이스 드라이버'는 배울 필요가 없다는 의견을 주신 분들이 있었어요. 앱 개발자 분들은 이런 말을 할 수도 있을 것 같아요. 그런데 임베디드나 리눅스 시스템 분야 개발을 지망하시는 분들 입에서 이런 말이 나오더라고요. 그래서 제가 물어봤죠. 디바이스 드라이버를 배우지 않아도 되는 이

[리눅스커널] lkml: 메인테이너의 시간을 뺏지 마세요!

Guillermo Austin Kim|2021년 6월 18일

흥미로운 메시지가 lkml에서 보여 소개합니다. 출처와 메시지는 다음과 같은데요. 기술적인 내용은 별로 없으니 심플하게 읽어도 좋겠네요. From: https://lkml.org/lkml/2021/6/18/153 > Hi Leizhen, and guys in the mail list,> > Recently I find one patch removing a debug OOM error message from btrfs > selftest.> > It's nothing special, some small cleanup work from some kernel newbie.> > But the mail address makes me cautious, "@huawei.c

[리눅스커널] SELinux, SMACK: 커널 컨피그

Guillermo Austin Kim|2021년 6월 17일

SELinux SELinux를 사용하기 위해서는 다음과 같은 커널 컨피그가 설정돼 있어야 합니다. * CONFIG_AUDIT=y* CONFIG_NF_CONNTRACK_SECMARK=y* CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y* CONFIG_NETFILTER_XT_TARGET_SECMARK=y* CONFIG_IP_NF_SECURITY=y* CONFIG_EXT4_FS_SECURITY=y* CONFIG_SECURITY=y* CONFIG_SECURITY_NETWORK=y* CONFIG_LSM_MMAP_MIN_ADDR=4096* CONFIG_SECURITY_SELINUX=y 만약 linux-next 브랜치에서 가져온 리눅스 커널 개발 용 소스에서는 아래 패치를 적용하면SEL

[Arm프로세서] AAPCS: Armv7: SP(스택 포인터) 레지스터의 세부 동작

Guillermo Austin Kim|2021년 6월 15일

SP는 스택 포인터(Stack Pointer) 레지스터라고 하며 약어로 R13으로 표기합니다. 일반적으로 여러분이 작성한 코드는 프로세스의 스택 공간에서 동작하므로, 어떤 코드가 실행하던 스택 주소의 위치를 알 수 있습니다. 스택 주소의 위치를 추적하는 레지스터가 SP 혹은 R13입니다. SP 레지스터와 프로세스의 스택과의 관계 그렇다면 SP 레지스터는 어떤 값을 저장할까요? SP(R13) 레지스터는 프로세스 스택 포인터의 주소를 저장합니다. 그러면 여기서 말하는, 프로세스의 스택 포인터 주소는 무엇일까요? 바로 프로세스에게 할당된 스택 주소의 위치를 나타냅니다. 프로세스는 처음 생성될 때 운영체제로부터 스택 공간을 할당받고, 자신에게 할당된 스택 공간 내에서 함수를 호출합니다. 달리 말하면 SP

[Arm프로세서] AAPCS: Armv7: AAPCS와 관련된 레지스터와 어셈블리 명령어 분석

Guillermo Austin Kim|2021년 6월 14일

6.1절에서 Arm 스팩 문서 분석으로 AAPCS와 관련된 레지스터를 소개했고, 6.2절에서는 AAPCS와 관련된 어셈블리 명령어에 대해 살펴봤습니다. 이번 절에서는 AAPCS와 관련된 레지스터가 어떻게 사용되는지, 어셈블리 명령어와 함께 분석하면서 자세히 알아보겠습니다. 먼저 AAPCS와 연관된 레지스터의 목록을 알아볼까요? 표 6.4 AAPCS와 연관된 레지스터 먼저 SP 레지스터에 대해 소개하고, SP 레지스터가 어떻게 바뀌는지 어셈블리 명령어 분석으로 알아보겠습니다. Written by 저자