본문 바로가기

driver

MBR 혹은 partition table dump 명령어, device node 로 부터 ufs, emmc dump dd if=/dev/block/vold/disk:8,0 of=/data/local/tmp/mbr-dump bs=512 count=1 dd if=/dev/block/vold/disk:179,64 of=/data/local/tmp/mbr-dump bs=512 count=1 dd if=/dev/block/vold/disk:179,0 of=/data/local/tmp/dump bs=512 count=1 - usb storage low image 위치 /dev/block/vold/disk:8,0 혹은 /dev/block/sda => dump 뜨면 MBR 부터 떠짐 /dev/block/sda1 => dump 뜨면 partition 부터 떠짐 /data/local/tmp/mbr-dump dd if=/dev/block.. 더보기
ubuntu network restart 일반적으로 아래 방법을 안내하지만, 설정이 변경되지 않는 경우가 종종있어서 결국은 ubuntu 를 restart 하곤 한다. sudo service networking restart 아래 방법으로 사용하면 ubuntu 재시작 없이 Ethernet driver 를 reset 하여 설정 변경이 가능합니다. sudo ifdown eth0 && sudo ifup eth0 더보기
balloon driver balloon driver : Hypervisor 의 메모리 관리 기법중 하나 https://theithollow.com/2012/12/26/vmware-ballooning-explained/ 이 기법은 host 가 낮은 physical memory 상에서 동작할때만 유효한 기능이다. 만약 host 가 60 GB 의 physical memory 를 가지고 있고, VM 이 30GB만 alloc 한다면 이 기법은 생각할 필요가 없다. VM 에 할당한 메모리들은 active 하게 사용되지 않는다. VMware ballooning 은 기본적으로 host 에게 메모리를 돌려달라는 요구로 구성되어 있다. host 는 기본적으로 guest OS 들이 하는일을 모르고, guest OS 는 자신이 virtual 하다는 .. 더보기
makedev makedev (3) #include dev_t makedev(unsigned int maj, unsigned int min); unsigned int major(dev_t dev); unsigned int minor(dev_t dev); linux device driver 는 major num 와 minor num 로 관리되는데 이 두 number 를 하나의 type 으로 정의한 것이 dev_t 이다. makedev system call 은 실제 '/dev' 에 device node 를 생성하는 것이 아닌,단순히 major, minor number 를 조합해서 dev_t type 을 생성해 주는 역할이다. makedev (8) 반면에 makedev 실행 파일은 실제로 '/dev' 에 주어진 major .. 더보기
mknod 의 의미 원문 : http://blog.naver.com/venezia99?Redirect=Log&logNo=30010552572 이 명령어는 insmod에서 등록한 디바이스 드라이버는 커널에 등록하는 명령어입니다. 일단 응용 프로그램은 이러한 드라이버를 인식할 수 없습니다. 응용 프로그램은 파일이라는 개념으로 접근하기 때문에 응용 프로그램이 인식할 수 있는 장치 파일로 만들어 주어야 됩니다. 본 명령어가 장치 파일로 만들어 주는 명령어 입니다. 글쓴이 : 박철 (2003년 01월 12일 오후 02:49) 읽은수: 8,084 [ 임베디드강좌/박철 ] 지금까지 진행해온 과정은 insmod를 하였을 때 수행되는 과정까지를 정리하였다. 디바이스 드라이버는 결국 사용자에게는 파일로 인식되어야 한다. 이를 위한 전단계 과.. 더보기
misc 에 sysfs 등록하기 커널버전 : 2.6.29 misc driver 에 sysfs 를 등록하려 했으나 device object 가 없어서 난감한 상황에 빠졌다. sysfs 를 등록하려면 device 로 등록을 해야 하는데 misc를 사용하는 하위 device들은 register_device 로 등록을 하지 않기 때문이다. 구글링을 해보니 나같은 난감한 상황때문에 고민했던 사람이 있었고, 그 사람이 2003년에 패치를 만든것을 발견하였다. 역시 정식 커널 버전에도 적용되어 있었다. 소스 코드를 뒤져보니 패치로 인해서 misc structer 에 device 구조체가 추가 되었다. struct miscdevice { int minor; const char *name; const struct file_operations *fops.. 더보기