리눅스
Posts
554 posts[라즈베리파이] 인터럽트 디버깅 - in_interrupt #CS
in_interrupt 함수는 현재 구동 중인 프로세스 스택 Top 주소에 위치한 current_thread_info()->preempt_count 멤버이며 인터럽트 서비스 루틴이 실행되기 전 __irq_enter 함수에서 HARDIRQ_OFFSET를 더하고 인터럽트 서비스 루틴이 종료되면 해제합니다. 이제 커널 소스를 조금 수정해서 라즈베리안에서는 in_interrupt 매크로 값이 뭔지 확인하겠습니다. 인터럽트 핸들러에 아래 코드를 반영하고 로그를 받아보면 in_interrupt() 함수 리턴값을 볼 수 있습니다.diff --git a/drivers/mmc/host/bcm2835-sdhost.c b/drivers/mmc/host/bcm2835-sdhost.cindex 273b1be05..5f5
리눅스에서 ZFS 설치/구성
RAID카드 없이 여러개의 HDD를 묶어서 하나의 저장공간으로 사용할 방법을 찾아보다가 ZFS에 대해 알게 되었다. 주요 특징 두어가지가 눈에 띄어서 실제로 괜찮은지 시험해 보기로. ZFS는 zpool이라는 것을 구성해서 여러개의 저장장치를 하나의 저장공간으로 묶을 수 있다. 다만 여러개의 저장장치를 묶을 때 각 저장장치의 사용가능 공간은 이들중 가장 용량이 작은 저장장치에 의해 제한된다. 그러므로 같은 용량의 디스크를 묶는 것이 좋겠다. zpool의 종류에 따라 RAID와 유사하게 데이터 오류에 대한 보호 기능도 제공한다. 종류는 아래와 같다. striped: RAID0 비슷한 형태. 데이터 보호 기능이 없다. mirror: RAID1 비슷한 형태. 데이터 전체를 별도로 복사해서 가지
[Linux][Kernel] 커널 크래시란
커널 패닉이란 말을 들어본 적이 있나요? 혹시 여러분이 임베디드 리눅스 개발자면 몇 번 쯤은 들어봤을 겁니다. 하지만, 리눅스를 자주 안 쓰거나 리눅스를 학습 용도로 쓰시는 분들에겐 단어가 낯설게 들릴수도 있죠. 여러분들은 대부분 컴퓨터나 노트북을 윈도 운영체제로 쓰실 겁니다. 그런데 혹시 컴퓨터를 오래 쓰다가 블루 스크린을 본 적이 있나요? 밝은 파란색 배경 화면에 흰색으로 이상한 경고 문구가 떠있죠. 이 때 컴퓨터는 아무런 동작을 안합니다. 이런 화면을 처음 봤을 때 어땠나요? 좀 짜증나지 않았나요? 전 예전 처음 이 블루 스크린을 봤을 때 엄청 당황했었어요. 왜냐면 “전원을 다시 키면 부팅은 할까?”, “혹시 컴퓨터에 저장된 자료가 날아가는 건 아닌가”? 이런 걱정을 했죠. 정말 뭔가 컴퓨터에 큰
[라즈베리파이] 인터럽트 디버깅 - proc/interrupts #CS
새로운 리눅스 시스템을 접했을 때 인터럽트의 개수와 종류를 바로 파악하려면 proc 파일 시스템을 활용할 필요가 있습니다. 그럼 라즈베리안에서 인터럽트 종류와 개수를 바로 알려면 어떤 명령어를 입력해야 할까요? 우선 리눅스 커널 proc 파일 시스템이 알려주는 인터럽트 정보(/proc/interrupts)를 활용할 필요가 있습니다. 그럼 이 정보부터 같이 점검하기 위해 다음 명령어를 입력해볼까요?root@raspberrypi:/home/pi# cat /proc/interrupts 그럼 다음과 같은 정보를 볼 수 있습니다. CPU0 CPU1 CPU2 CPU3 16: 0 0 0 0 b
![[1년 전 오늘] 250608 인천 무의도 덕점방파제 바다루어낚시 - 장대, 광어](https://img.zoomtrend.com/2026/06/10/1781084366-20250608122254.jpg)
![[CV] [Comi] '終末のハーレム ファンタジア' (종말의 하렘 판타지아) 17권. 그동안 SAVAN에 무슨 일이 있었던 거냐](https://img.zoomtrend.com/2026/06/10/1781084386-ECA484EBA6ACEC9790.jpg)

