Files
snigdhaos-archiso/README.md
eshanized 07ec99f40f
Some checks failed
Check Conventional Commit / check-commit-message (push) Has been cancelled
🐛 fix: ci path
2025-01-12 22:19:28 +05:30

170 lines
6.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🐧 Snigdha OS ArchISO
<p align="center">
<a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-yellow.svg?style=for-the-badge" alt="License: MIT"></a>
<a href="https://github.com/Snigdha-OS/snigdhaos-archiso"><img src="https://img.shields.io/github/stars/Snigdha-OS/snigdhaos-archiso?style=for-the-badge" alt="Stars"></a>
<a href="https://github.com/Snigdha-OS/snigdhaos-archiso/issues"><img src="https://img.shields.io/github/issues/Snigdha-OS/snigdhaos-archiso?style=for-the-badge" alt="Issues"></a>
<a href="https://github.com/Snigdha-OS/snigdhaos-archiso/actions"><img src="https://img.shields.io/github/actions/workflow/status/Snigdha-OS/snigdhaos-archiso/cz.yml?branch=master&style=for-the-badge" alt="Build Status"></a>
</p>
**Snigdha OS ArchISO** is the official ArchISO configuration for building Snigdha OS, a highly customizable Linux distribution based on Arch Linux and featuring the **LTS Kernel** for unmatched stability. 🚀
Designed to cater to both everyday users and penetration testers, Snigdha OS provides a seamless, minimal, and efficient Linux experience powered by robust tools and thoughtful configurations.
## 🌟 Key Features
### 🎯 **Reliable LTS Kernel**
- Long-Term Support kernel ensures stability and compatibility across a wide range of hardware. Perfect for production environments and critical systems.
### 🔍 **Penetration Testing Ready**
- Includes **Blackbox**, a custom framework offering pre-configured tools for penetration testing and security auditing.
### 🌎 **Intelligent Mirror Selection**
- Automatically recommends the fastest regional mirrors for downloads during installation and updates, minimizing downtime.
### 🧩 **Modular, Minimal Design**
- A lightweight base system that empowers users to create their perfect environment without unnecessary software clutter.
### 💡 **Customizable Root Filesystem**
- Fully modifiable `airootfs` directory allows you to add scripts, configurations, and customizations directly to the live ISO.
### 🔒 **Focus on Security**
- Pre-configured security best practices, ensuring a safe and secure environment out of the box.
## 📂 Repository Structure
Heres a detailed breakdown of the repository layout:
```
snigdhaos-archiso/
├── configs/
│ ├── airootfs/ # Custom root filesystem
│ │ ├── etc/ # System configurations (e.g., fstab, hostname)
│ │ ├── usr/ # Custom binaries, scripts, and utilities
│ │ └── home/ # Default user home directory settings
│ ├── packages.x86_64 # List of packages included in the ISO
│ ├── services/ # Custom systemd service configurations
│ └── hooks/ # Custom hooks for build process enhancements
├── scripts/
│ ├── build.sh # Main script to build the ISO
│ ├── cleanup.sh # Script to clean the build environment
│ ├── post-build.sh # Optional post-build automation script
├── out/ # Directory for the generated ISO file
├── LICENSE # License for the repository
└── README.md # Documentation and instructions
```
## 🚀 Getting Started
Follow these steps to build and test your own Snigdha OS ISO image.
### Prerequisites
1. **Arch Linux environment** (or a compatible Arch-based distribution).
2. Install required dependencies:
```bash
sudo pacman -S archiso git
```
3. Ensure sufficient resources for the build:
- **20 GB free disk space**
- **2 GB RAM**
### Steps to Build the ISO
1. **Clone the Repository**:
```bash
git clone https://github.com/Snigdha-OS/snigdhaos-archiso.git
cd snigdhaos-archiso
```
2. **Customize the ISO** (optional):
- Modify `configs/airootfs/` for custom scripts, configurations, or default settings.
- Update `configs/packages.x86_64` to include or exclude specific packages.
3. **Build the ISO**:
Execute the build script:
```bash
./scripts/build.sh
```
4. **Locate the ISO**:
The built ISO will be stored in the `out/` directory. 🎉
5. **Test the ISO**:
- Use virtualization tools like VirtualBox, QEMU, or VMware to test the ISO.
- Alternatively, create a bootable USB using tools like `dd` or `Rufus`.
## 🛠️ Advanced Customization
Snigdha OS ArchISO provides deep customization options:
### 🔧 **Adding Custom Packages**
Add package names to `configs/packages.x86_64` to include them in the ISO. For example:
```
vim
htop
docker
```
### ⚙️ **Enabling/Disabling Services**
Add custom systemd service configurations to `configs/services/`.
### 📜 **Adding Startup Scripts**
Place executable scripts in `configs/airootfs/usr/bin/` to include them in the live environment.
### 📁 **Predefined User Settings**
Customize the default user environment by modifying files under `configs/airootfs/home/`.
## 🧪 Testing the ISO
### Using VirtualBox
1. Open VirtualBox and create a new virtual machine.
2. Select the ISO file as the boot medium.
3. Start the VM and test the live environment or installer.
### Using QEMU
Run the ISO in QEMU for quick testing:
```bash
qemu-system-x86_64 -cdrom out/snigdhaos.iso -boot d -m 2048
```
## 🤝 Contributing
Contributions are always welcome! Whether you find a bug, have an idea for improvement, or want to add new features, feel free to contribute.
### Steps to Contribute
1. **Fork the Repository**: 🍴
2. **Create a Branch**:
```bash
git checkout -b feature-name
```
3. **Make Changes**: Modify files, fix bugs, or add features.
4. **Test Your Changes**: Build and test the ISO locally to ensure stability.
5. **Submit a Pull Request**: 🎯
Check the [CONTRIBUTING.md](CONTRIBUTING.md) file for more details.
## 🌟 Credits
### 👨‍💻 Core Team
- **Eshan Roy | eshanized** - Lead Developer and Maintainer
- **RiO | d3v1l0n** - Contributor , Developer and Maintainer
**Snigdha OS ArchISO** is developed and maintained by **[TONMOY INFRASTRUCTURE](https://tonmoyinfrastructure.github.io/)**.
## 📜 License
This project is licensed under the [MIT License](LICENSE).
## 💬 Support
Have questions or need support?
- **Report Issues**: [Open an issue](https://github.com/Snigdha-OS/snigdhaos-archiso/issues) for bugs or feature requests.
- **Join the Community**: Share your experiences and ideas with other users and contributors.
- **Spread the Word**: Star the repository ⭐ and share it with the Linux community!
Lets build a stable, efficient, and powerful Linux experience together. 💻✨