File README.md of Package kernel-source

# SUSE Kernel Stable Source Package

This repository contains the SUSE kernel-stable source package with build infrastructure, patches, configurations, and documentation for Linux kernel 6.11.3.

## 📚 Documentation Index

### **Getting Started**
- **[Kernel Sources Guide](KERNEL_SOURCES_README.md)** - How to download and work with `linux-6.11.tar.xz`
- **[Module Rebuild Guide](KMOD_REBUILD_README.md)** - When to rebuild custom kernel modules
- **[SUSE Kernel Documentation](README.SUSE)** - Official SUSE kernel development guide

### **Developer Resources**
- **[Patch Policy](README.PATCH-POLICY.SUSE)** - SUSE kernel patch submission guidelines  
- **[Kernel Symbols](README.KSYMS)** - Information about kernel symbol exports

## 🚀 Quick Start

### For Building Kernels

```bash
# Clone this repository
git clone <your-repository-url>
cd kernel-stable/kernel-source

# Download kernel sources (automatic during build)
rpmbuild -bp kernel-source.spec

# Or build with OSC
osc build
```

### For Custom Modules

```bash
# Install development packages
zypper install kernel-devel kernel-default-devel

# Build your module
make -C /usr/src/linux-obj/$(uname -m)/default M=$PWD
```

**💡 Tip**: Read [KMOD_REBUILD_README.md](KMOD_REBUILD_README.md) to understand when you need to rebuild modules.

## 📦 Repository Contents

### **Source Files**
- `linux-6.11.tar.xz` - Linux kernel source archive (140MB) - [Download Guide](KERNEL_SOURCES_README.md)
- `config.tar.bz2` - Kernel configurations for all architectures
- `patches.*.tar.bz2` - SUSE patches and modifications
- `kabi.tar.bz2` - Kernel ABI compatibility information

### **Build Infrastructure**
- `kernel-*.spec` - RPM package specifications
- `*.changes` - Package changelog files
- `series.conf` - Patch application configuration
- Build scripts: `apply-patches`, `guards`, `mkspec`, etc.

### **Documentation**
- `README.md` - This file (main entry point)
- `KERNEL_SOURCES_README.md` - Kernel source download guide
- `KMOD_REBUILD_README.md` - Module compatibility guide
- `README.SUSE` - Official SUSE documentation
- `README.PATCH-POLICY.SUSE` - Patch submission guidelines

## 🔧 Available Kernel Flavors

| Flavor | Description | Use Case |
|--------|-------------|----------|
| **default** | Standard kernel | General purpose systems |
| **kvmsmall** | Minimal KVM kernel | Virtual machines, development |
| **debug** | Debug-enabled kernel | Kernel debugging, development |
| **vanilla** | Upstream kernel | Testing, comparison |
| **64kb** | 64KB page size | ARM64 systems |

**📖 Learn More**: See [kernel size optimization guide](KMOD_REBUILD_README.md#kernel-size-optimization) for reducing kernel footprint.

## 🏗️ Build Process Overview

1. **Download**: Kernel sources fetched from kernel.org
2. **Extract**: `linux-6.11.tar.xz` extracted to build directory
3. **Patch**: SUSE patches applied via `series.conf`
4. **Configure**: Architecture/flavor configs from `config.tar.bz2`
5. **Build**: Kernel compiled with SUSE modifications
6. **Package**: RPM packages created for distribution

## 🔄 Version Information

- **Kernel Version**: 6.11.3
- **SUSE Release**: 16.1.shift5
- **Git Commit**: 006a2b4f54ea8081d692c34fd38bd1c2b57d8bd1
- **Build Timestamp**: 2024-10-10 10:55:01 +0000

## 🛠️ Development Workflow

### Working with OSC and Git

This repository supports both OSC (OpenSUSE Build Service) and Git workflows:

```bash
# Sync between OSC and Git
./sync-with-osc.sh

# Commit to both systems
git add . && git commit -m "Your changes"
osc commit -m "Your changes"
```

### Making Changes

1. **Edit files** (configs, patches, specs)
2. **Test locally** with `rpmbuild` or `osc build`
3. **Update documentation** if needed
4. **Commit to Git** for version control
5. **Submit to OSC** for official builds

## 🐛 Troubleshooting

### Common Issues

- **Missing sources**: See [KERNEL_SOURCES_README.md](KERNEL_SOURCES_README.md)
- **Module incompatibility**: Check [KMOD_REBUILD_README.md](KMOD_REBUILD_README.md)
- **Build failures**: Review the [SUSE documentation](README.SUSE)
- **Patch application**: Check `series.conf` and patch order

### Getting Help

- **SUSE Documentation**: [README.SUSE](README.SUSE)
- **Kernel Development**: [Linux Kernel Documentation](https://www.kernel.org/doc/)
- **SUSE Support**: Enterprise customers contact support
- **Community**: openSUSE forums and mailing lists

## 🔗 Related Projects

- **[SUSE Kernel Source](https://github.com/SUSE/kernel-source)** - Official upstream repository
- **[openSUSE Kernel](https://github.com/openSUSE/kernel-source)** - Alternative mirror
- **[Linux Kernel](https://github.com/torvalds/linux)** - Upstream Linux kernel

## 📄 License

GPL-2.0-only - See individual files for specific licensing terms.

## 🏷️ Tags

`linux-kernel` `suse` `opensuse` `rpm-packaging` `kernel-development` `system-programming`

---

**Need help?** Start with the [documentation index](#-documentation-index) above to find the right guide for your use case.
openSUSE Build Service is sponsored by