NawderOS न्यूनतम कर्नेल पैच (MVP) 🧠
(RTT‑जानकारी यंत्रणात्मक आधार)
यह पैच एक चीज़ को अच्छी तरह से करता है:
यह साबित करता है कि RTT‑संगत अवलोकन कर्नेल के अंदर बिना कर्नेल व्यवहार को बदले रह सकता है।
कोई प्रवर्तन नहीं।
कोई नीति नहीं।
कोई चतुराई नहीं।
बस संकेत।
MVP लक्ष्य#
यह पैच होना चाहिए:
- Linux 6.x पर साफ-सुथरा संकलित होना
- बूट पर कम से कम एक RTT बैज जारी करना
- संभवतः कम से कम कर्नेल फ़ाइलों को छूना
- बिना किसी साइड इफेक्ट के हटाया जा सकने योग्य होना
- एक बार में समझने योग्य होना 🙂
यह MVP क्या लागू करता है#
✔️ एक RTT अवधारणा#
सबस्ट्रेट बेसलाइन अवलोकन
✔️ एक मॉड्यूल#
substrateAudit
✔️ एक बैज#
SUBSTRATE_BASELINE
बस इतना ही।
बाकी सब बाद में आएगा।
पैच अवलोकन#
फाइलें छुई गई#
init/main.c— बूट-टाइम हुकinclude/linux/nawderos.h— RTT परिभाषाएँkernel/nawderos.c— बैज उत्सर्जन लॉजिकkernel/Makefile— बिल्ड एकीकरण
1️⃣ शीर्षक: RTT परिभाषाएँ#
include/linux/nawderos.h
#ifndef _LINUX_NAWDEROS_H
#define _LINUX_NAWDEROS_H
#define NAWDEROS_VERSION "0.1.0"
#define RTT_BADGE_SUBSTRATE_BASELINE "SUBSTRATE_BASELINE"
void nawderos_emit_badge(const char *badge_type,
const char *module,
const char *context);
#endifयह RTT को दृश्यमान लेकिन हल्का रखता है।
2️⃣ बैज उत्सर्जन (न्यूनतम)#
kernel/nawderos.c
#include <linux/kernel.h>
#include <linux/nawderos.h>
void nawderos_emit_badge(const char *badge_type,
const char *module,
const char *context)
{
printk(KERN_INFO
"[NAWDEROS][BADGE] type=%s module=%s context=%s\n",
badge_type,
module,
context ? context : "none");
}हाँ — यह printk का उपयोग करता है।
यह जानबूझकर है।
ट्रेसपॉइंट बाद में आते हैं।
पहले, हम अवधारणा को साबित करते हैं।
3️⃣ बूट-टाइम हुक#
init/main.c
start_kernel() के अंत के पास जोड़ें:
#include <linux/nawderos.h>
...
nawderos_emit_badge(
RTT_BADGE_SUBSTRATE_BASELINE,
"substrateAudit",
"kernel_boot"
);यह सिर्फ एक बैज प्रति बूट उत्पन्न करता है।
कोई लूप नहीं।
कोई शर्तें नहीं।
कोई जोखिम नहीं।
4️⃣ निर्माण एकीकरण#
kernel/Makefile
जोड़ें:
obj-y += nawderos.oबस इतना ही।
आप रनटाइम पर क्या देखेंगे 👀#
बूट पर:
[NAWDEROS][BADGE] type=SUBSTRATE_BASELINE module=substrateAudit context=kernel_bootवह एकल पंक्ति साबित करती है:
- RTT अवधारणाएँ मौजूद हैं
- कर्नेल को उपकरणीकृत किया गया है
- बैज असली हैं
- कुछ भी नहीं टूटा 🙂
यह MVP सही क्यों है#
यह पैच:
- अधिकता के बिना RTT का प्रदर्शन करता है
- दस्तावेज़ीकरण के साथ सटीक मेल खाता है
- छात्रों को देखने के लिए कुछ ठोस देता है
- भविष्य के काम के लिए एक स्थिर एंकर बनाता है
- पूर्ववर्ती अमूर्तता से बचता है
सबसे महत्वपूर्ण:
यह RTT को देखने योग्य बनाता है, न कि सैद्धांतिक।
अगला क्या आता है (इस पैच में नहीं)#
जानबूझकर बाहर रखा गया:
- ट्रेसपॉइंट्स
/proc/nawderian- शेड्यूलर हुक्स
- मेमोरी कॉरिडोर
- यूजर्स्पेस कलेक्टर्स
ये v0.1.x में आते हैं, बेसलाइन में नहीं।
यह v0.1.0 के साथ कैसे मेल खाता है#
यह पैच भौतिक रूप है v0.1.0 टैग का:
- RTT मौजूद है
- संगति देखी जा सकती है
- वंशावली संरक्षित है
- दायरा नियंत्रित है
बेसलाइन के लिए और कुछ आवश्यक नहीं है।
