danielealbano / list-pci-devices-os

An Operating System with the sole purpose to list the connected PCI devices on the VGA and serial terminals

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

list-pci-devices-os

An Operating System written for fun for the sole purpose of dumping out some internal registries of the PCI devices connected to an x86 machine.

The code is based on the OSDev wiki examples and https://github.com/stevej/osdev/blob/master/kernel/devices/serial.c for the serial support.

Dependencies

Can be built on Linux and on WSL with Ubuntu 22.04, requires the following dependencies:

  • build-essential
  • gcc-multilib
  • gcc-11-multilib
  • xorriso
  • qemu-user
  • qemu-system-x86
  • grub-common
  • grub-pc-bin
  • grub2-common

Building it

To build it

make

Running it

On QEMU

To test it out on QEMU there is a shortcut in the Makefile.

make qemu

Real hardware

The Operating System can boot on real hardware using the Legacy BIOS as it doesn't support UEFI.

It's possible to build out both an ISO using

make myos.iso

Or for an USB pendrive using

make myos.img

About

An Operating System with the sole purpose to list the connected PCI devices on the VGA and serial terminals

License:Other


Languages

Language:C 80.1%Language:Assembly 14.6%Language:Makefile 5.2%