7 مستودعات
Low-level configuration of hardware components like interrupt controllers, serial ports, and disk interfaces during boot.
Distinct from Hardware-Specific Boot Configurators: Candidates focus on boot-configurator tools or network booting, not the kernel's internal device driver initialization.
Explore 7 awesome GitHub repositories matching operating systems & systems programming · Hardware Device Initializations. Refine with filters or upvote what's useful.
This project is a keyboard firmware framework and programmable keyboard ecosystem designed for Atmel AVR and ARM microcontrollers. It provides the embedded software necessary to implement the USB Human Interface Device standard, allowing hardware to communicate keystrokes and mouse movements to a host computer. The framework distinguishes itself by offering a comprehensive toolchain for custom hardware development, including a command line interface for project scaffolding, firmware flashing, and configuration linting. It supports a variety of flexible configuration methods, allowing users to
Provides a startup sequence to configure low-level hardware components before the board becomes active.
xv6 is a Unix-like educational operating system designed for teaching kernel concepts. It is implemented as an instructional kernel for x86 and RISC-V architectures, featuring a virtual memory manager and support for symmetric multiprocessing. The system is designed to demonstrate core OS principles through a simplified re-implementation of Unix Version 6. It provides a controlled environment for studying system calls, trap handling, and process lifecycles. Its capability surface covers process management, including scheduling and context switching, and memory management via page tables for
Configures the interrupt controller, console, serial ports, and disk interfaces during the system boot sequence.
edk2 هو مشروع تطوير لإنشاء برامج ثابتة (firmware) للنظام تتوافق مع مواصفات UEFI. يوفر البنية التحتية اللازمة لتهيئة منصات الأجهزة وتشغيل أنظمة التشغيل عبر معماريات CPU متعددة. يستخدم المشروع بنية برامج ثابتة معيارية تفصل بروتوكولات الإدارة عالية المستوى عن طبقات النقل المادية. ينفذ ميزات أمان حرجة، بما في ذلك سلسلة التمهيد المقاسة، والبدائيات التشفيرية لمصادقة الصور، ودعم أجهزة وبرمجيات Trusted Platform Module. تمتد قدراته إلى معايير إدارة المنصات مثل Redfish و IPMI و MCTP، بالإضافة إلى إنشاء جداول ACPI ديناميكية. يتضمن المشروع أيضاً مجموعة شاملة من الأدوات للتجميع عبر المعماريات، ومحاكاة البرامج الثابتة، ومحاكاة المنصات الافتراضية للمشرفين مثل KVM و Xen و QEMU. يتضمن المشروع نظام بناء متعدد الأهداف وتنسيق اختبار آلي للتحقق من وظائف البرامج الثابتة في كل من البيئات المحاكاة والمادية.
Performs low-level configuration of processors, memory, and peripherals during the early boot process.
seL4 is a formally verified microkernel whose C implementation is backed by machine-checked mathematical proofs of correctness, confidentiality, integrity, and availability. It enforces strict isolation between processes through hardware-enforced address space separation and a capability-based access control system, where each process holds explicit rights only to the resources it has been granted. The kernel exposes hardware resources through a minimal API of system calls that manage threads, address spaces, and inter-process communication, with synchronous IPC supporting sender-identifying b
Uses device tree blobs to automatically allocate memory and interrupt resources for hardware components.
This repository contains the pre-compiled firmware, bootloader binaries, device tree overlay files, and Linux kernel modules that power Raspberry Pi single-board computers. It provides the foundational system firmware that initializes the hardware and loads an operating system. The boot architecture relies on a proprietary VideoCore GPU that co-processes early initialization, memory partitioning, device tree overlay loading, and mailbox-based peripheral configuration before handing control to the main CPU. This multi-stage boot process uses a chain of small binary stages and loads a raw kerne
Configuring Raspberry Pi hardware peripherals at boot using device tree blobs and overlay files.
U-Boot هو محمل إقلاع (bootloader) مضمن يقوم بتهيئة مكونات الأجهزة وتحميل أنوية نظام التشغيل في الذاكرة. يعمل كطبقة تجريد للأجهزة توفر وصولاً موحداً للشبكات والتخزين وحافلات الأجهزة الطرفية، بينما يعمل أيضاً كمحمل إقلاع آمن وواجهة تحديث للبرامج الثابتة. يتميز المشروع بتنفيذ تسلسلات إقلاع آمنة تتحقق من التوقيعات المشفرة وتتفاعل مع وحدات TPM لإنشاء ثقة متجذرة في الأجهزة. كما يوفر إمكانات متخصصة لتحديث البرامج الثابتة للجهاز عبر بروتوكولات موحدة مثل Fastboot و DFU، ويعمل كمعالج لشجرة الأجهزة لتهيئة معلمات الأجهزة قبل بدء نظام التشغيل. يغطي النظام مجموعة واسعة من العمليات منخفضة المستوى، بما في ذلك تهيئة وحدة المعالجة المركزية ووحدة التحكم في الذاكرة، وإدارة ذاكرة التخزين المؤقت للأجهزة، وتنفيذ التطبيقات المستقلة. ويدعم توفير النواة عن بعد عن طريق جلب صور الإقلاع وأشجار الأجهزة من الخوادم عبر بروتوكولات الشبكة، ويدير سلوك النظام من خلال متغيرات البيئة وتنفيذ سكربتات الأوامر. تتضمن عملية البناء أدوات لتعبئة صور الإقلاع وتهيئة هدف الأجهزة لضمان التوافق الثنائي مع أجهزة مضمنة محددة.
Prepares embedded board components, CPUs, memory controllers, and clocks before starting the operating system.
m1n1 هو محمل إقلاع (bootloader) منخفض المستوى لأجهزة Apple Silicon القائمة على معمارية ARM64. يعمل كأداة برمجية ثابتة وبيئة تجريبية لتحميل النواة الخارجية وأنظمة التشغيل غير الأصلية. يُمكّن المشروع من تنفيذ حمولات ثنائية متسلسلة تحتوي على النواة، وأشجار الأجهزة (device trees)، وأقراص الذاكرة (ramdisks). ويوفر منصة لتجربة البرامج الثابتة ونشر نواة مخصصة على شرائح Apple Silicon. يغطي النظام تجريد الأجهزة منخفض المستوى، بما في ذلك الوصول إلى السجلات المعينة في الذاكرة، ونقل شجرة الأجهزة، وتحميل الإقلاع القائم على المراحل. كما يتضمن تصحيح أخطاء تسلسلي عبر UART لسجلات النظام واستكشاف الأخطاء وإصلاحها.
Provides the ability to transmit and configure flattened device tree blobs to define hardware peripherals for the kernel.