리눅스에서 명령어로 모니터를 강제로 끄기
By 반달가면 | 2021년 3월 8일 |
간단한 내용이지만 꽤 요긴한 경우가 있어서 정리해 두기로. 리눅스 데스크탑 환경에서 명령어를 통해서 모니터를 꺼두는 방법이다. 일반 PC에서는 모니터에 전원 버튼을 누르면 간단하겠지만 노트북에서 모니터를 끌 필요가 있을 때 사용할 수 있다. 우선 연결되어 있는 모니터의 식별자를 파악한다. 터미널창에서 아래와 같이 작업. # 디스플레이 정보 출력 xrandr Screen 0: minimum 320 x 200, ... eDP connected primary... ... HDMI-A-0 disconnected ... 위의 출력 예시의 경우 2개의 디스플레이 출력이 있음을 볼 수 있다. 하나는 "eDP"로 현재 사용중(connected)이고, 나머지 하나는 "HDMI-A-0"이며 연결
Reboot - Kernel Rebooting(커널 리부팅) Sequence
By Guillermo Austin Kim | 2017년 12월 29일 |
보통 시스템이 리부팅될 때 동작에 대해 상세히 다룬 글이 없는 것 같아요.그래서 유저 스페이스에서 reboot 시스템 콜을 수행하면 어떤 흐름으로 시스템이 리셋되는지 살펴볼께요. 가끔 시스템이 리부팅하는 과정에서 락업이나 커널 크래시가 발생하거든요. 이럴 때 어떤 흐름으로 리부팅 되는지에 대한 정보를 알면 어느 포인트에서 디버깅을 해야 할 지 빨리 파악할 수 있어요. sys_reboot이란 함수는 아래 코드로 정의되어 있구요. kernel_restart() 함수가 호출되요. SYSCALL_DEFINE4(reboot, int, magic1, int, magic2, unsigned int, cmd, void __user *, arg){ struct pid_namespace *pid_ns = task_act
[라즈베리파이] 라즈베리 파이에서 언어 설정 따라해보기
By Guillermo Austin Kim | 2020년 1월 6일 |
대부분 리눅스 개발을 할 때는 터미널로 리눅스 명령어를 입력합니다. 이 정도로 라즈비안을 설정해도 개발하는 데 문제는 없지만 라즈비안에 설치된 크롬 브라우저를 쓰려면 언어를 설정해야 합니다. 라즈비안 메뉴를 실행해 언어(Locale) 설정을 하겠습니다. 그림 2.30과 같이 터미널에서 raspi-config 명령어를 입력합니다. 그림 2.30 터미널에서 raspi-config 명령어 입력 그럼 다음과 같은 화면이 나타납니다. 그림 2.31 라즈베리 파이 소프트웨어 설정 도구 여기서 ‘4 Localisation Options’ 메뉴로 이동해 키보드로 엔터를 입력합니다. 그림 2.32 언어 설정 메뉴로 이동 화면이 바뀌면서 설정 가능한 언어 목록이 나타납니다. 그림 2.33 언어 설정
in_interrupt 매크로
By Guillermo Austin Kim | 2017년 5월 13일 |
커널이나 드라이버 코드 리뷰를 하는 도중에 preempt_add, preempt_sub 그리고 in_interrupt 함수를 자주 마주칩니다. 이 함수들의 사용 예와 구현부에 대해서 좀 더 짚어 보도록 하겠습니다.in_interrupt 매크로의 역할을 간단히 말하면, 현재 실행 중인 코드가 process context 혹은 interrupt context 상에서 돌고 있는 지 알려줍니다. process context 혹은 interrupt context의 개념은 여러 리눅스 커널 교재에서 마르고 닳도록 설명하고 있는데요, 아래 스택 트레이스를 보면 간단히 파악할 수 있습니다. __irq_svc(asm) -- unwind_backtrace() 사이에 보이는 함수(붉은색으로 마킹)들은 irq context에서