[라즈베리파이]리눅스 커널 매크로 분석 방법
By Guillermo Austin Kim | 2018년 6월 14일 |
#리눅스 커널 매크로 분석 - 리눅스 커널 매크로 분석 방법 - 매크로 ##uname 파라미터 전달 기법 - __init 매크로 (1) - __init 매크로 (2) - container_of 매크로 - current 매크로 (1) - current 매크로 (2) - current 매크로 (3) - BUG 매크로 - WARN 매크로 매크로 분석에 도움 되는 두 가지 방법을 소개합니다. 전처리 파일 추출과 바이너리 유틸리티를 활용해서 어셈블리 코드를 보는 방법입니다. 매크로를 분석할 때는 물론 평소 커널 코드 읽을 때는 이 방법을 적극적으로 활용해서 분석하기를 바랍니다. C 코드만 볼 때 보다 훨씬 효율적으로 코드를 읽을 수 있고 더 유용한 디버깅 정보를 볼 수 있거든요. 전처리 파일 추출이번에는
chsh - 리눅스에서 로그인 셸(login shell) 변경하기
By 반달가면 | 2018년 2월 2일 |
리눅스에서 chsh 명령으로 어느 셸(shell)을 사용할 것인지 설정할 수 있다. -s 옵션으로 셸을 지정해 주면 된다. 예를 들어 현재 사용자의 셸을 /bin/bash로 설정하고 싶다면 아래와 같이 입력하면 되겠다. # 현재 사용자의 shell을 /bin/bash로 설정 chsh -s /bin/bash 사용자 암호를 입력하면 셸 설정이 변경된다. 만약 루트 권한으로 특정 사용자의 셸을 설정하고 싶다면 인자에 사용자 계정을 지정하면 된다. 아래와 같이 할 수 있다. # 사용자 계정 john의 shell을 /bin/bash로 설정 sudo chsh -s /bin/bash john
[리눅스커널][스케줄링] 컨택스트 스위칭: context_switch() 세부 코드 분석
By Guillermo Austin Kim | 2019년 3월 6일 |
컨택스트 스위칭 세부 코드 분석이전 소절에서 다룬 컨택스트 스위칭이란 다음과 같은 문장으로 정리할 수 있습니다.CPU에서 실행 중인 프로세스 정보로 채워진 CPU 레지스터 세트를 프로세스 스택 공간에 저장하고 다음에 실행할 프로세스의 레지스터 세트를 스택 공간에서 로딩해 CPU 레지스터 세트에 채우는 동작입니다. 이번에는 context_switch() 함수 분석으로 컨택스트 스위칭 코드 동작을 알아보겠습니다. 먼저 context_switch() 함수에 전달하는 인자를 확인합시다.[https://elixir.bootlin.com/linux/v4.14.70/source/kernel/sched/core.c]static __always_inline struct rq *context_switch(struct rq
리눅스(데비안/우분투 계열)에서 VNC 원격접속 사용 (x11vnc, remmina)
By 반달가면 | 2021년 4월 15일 |
리눅스에서 원격 VNC서버에 접속해서 화면을 가져와 작업하는 방법이다. 클라이언트, 서버 모두 데비안/우분투 계열 배포판인 리눅스 민트(Linux Mint) 19.3 XFCE에서 작업했다. 원격 장비의 데스크탑 화면을 그대로 가져오는 VNC 프로토콜은 암호화되지 않는 방식이므로, ssh 터널링을 이용해서 암호화를 해 주는 것이 좋겠다. 우선 서버쪽에서 데스크탑 화면을 제공하기 위하여 x11vnc와 ssh서버 패키지(openssh-server)를 설치해 준다. # S/W 저장소 정보 갱신 sudo apt-get update # x11vnc, openssh-server 패키지 설치 sudo apt-get install x11vnc openssh-server 서버쪽의 작업은 이것으로