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 मौजूद है
  • संगति देखी जा सकती है
  • वंशावली संरक्षित है
  • दायरा नियंत्रित है

बेसलाइन के लिए और कुछ आवश्यक नहीं है।

Updated