$ cat /proc/iomem | grep 'Video ROM'
000c0000-000ce7ff : Video ROM
$ sudo dd if=/dev/mem of=vgabios.bin bs=1k count=64 skip=768
64+0 records in
64+0 records out
65536 bytes (66 kB) copied, 0.000476618 s, 138 MB/s
$ file vgabios.bin
vgabios.bin: BIOS (ia32) ROM Ext. IBM comp. Video (116*512)
[bushi@rose imgs]$
꼭 포인터로 읽어내야 할 이유가 있다면,
/dev/mem 을 open(O_RDONLY) 해서 offset 0xc0000 로 mmap(PROT_READ)을 64KiB 만큼 하면 포인터로 접근하실 수 있습니다.
VGA/VESA 에 대해 지식이 있으시다면,
/sys/bus/pci/devices/ 를 뒤져서 VGA class 에 대한 각 장치들의 io address 를 알아낸 다음,
/dev/mem 을 통해 그 주소에 접근하면 보드에 장착된 모든 VGA 의 bios 를 읽어낼 수 있습니다.
$ cat /proc/iomem | grep
꼭 포인터로 읽어내야 할 이유가 있다면,
/dev/mem 을 open(O_RDONLY) 해서 offset 0xc0000 로 mmap(PROT_READ)을 64KiB 만큼 하면 포인터로 접근하실 수 있습니다.
VGA/VESA 에 대해 지식이 있으시다면,
/sys/bus/pci/devices/ 를 뒤져서 VGA class 에 대한 각 장치들의 io address 를 알아낸 다음,
/dev/mem 을 통해 그 주소에 접근하면 보드에 장착된 모든 VGA 의 bios 를 읽어낼 수 있습니다.
정말 유용한 가르침 감사드립니다.
정말 유용한 가르침 감사드립니다.
댓글 달기