📝 docs: more detailed readme

This commit is contained in:
eshanized
2024-12-31 13:02:02 +05:30
parent 73ef215a88
commit ad50bc9037

192
README.md
View File

@@ -1,79 +1,163 @@
# 🐧 Snigdha OS ArchISO
# Snigdha OS Default ISO
**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. 🚀
<div align="center">
<img src="https://github.com/Snigdha-OS/snigdhaos-assets/blob/master/2024/png/Snigdha%20OS%20Favicon.png" alt="Snigdha OS Logo">
</div>
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.
Welcome to the official repository for the **Snigdha OS Default ISO**! This repository hosts the configurations and scripts used to build the default ISO image of Snigdha OS, a lightweight and highly customizable Linux distribution built on Arch Linux with the Linux Zen Kernel.
## 🌟 Key Features
## About Snigdha OS
### 🎯 **Reliable LTS Kernel**
- Long-Term Support kernel ensures stability and compatibility across a wide range of hardware. Perfect for production environments and critical systems.
Snigdha OS emphasizes:
- **Minimalism**: A lightweight design tailored for performance.
- **Customizability**: A highly flexible environment that adapts to user preferences.
- **User-centric design**: An intuitive experience for both general users and professionals.
### 🔍 **Penetration Testing Ready**
- Includes **Blackbox**, a custom framework offering pre-configured tools for penetration testing and security auditing.
The default ISO provides a robust starting point for exploring the Snigdha OS ecosystem.
### 🌎 **Intelligent Mirror Selection**
- Automatically recommends the fastest regional mirrors for downloads during installation and updates, minimizing downtime.
## Features
### 🧩 **Modular, Minimal Design**
- A lightweight base system that empowers users to create their perfect environment without unnecessary software clutter.
- **Zen Kernel**: Optimized for low-latency performance.
- **Arch-based Minimalism**: Retains the power of Arch Linux while reducing bloat.
- **Pre-configured Environment**: Comes with essential tools to get started.
- **Custom Scripts**: Automates setup and configuration for ease of use.
### 💡 **Customizable Root Filesystem**
- Fully modifiable `airootfs` directory allows you to add scripts, configurations, and customizations directly to the live ISO.
## Repository Structure
### 🔒 **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:
```plaintext
├── configs/ # Configuration files for ISO creation
├── scripts/ # Custom scripts used in the build process
├── assets/ # Logos and branding materials
├── docs/ # Documentation for contributors and users
└── README.md # This file
```
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
## 🚀 Getting Started
### Prerequisites
To build the ISO, ensure you have the following installed:
- `archiso`: Arch Linux's official tool for creating ISOs.
- Basic Linux command-line knowledge.
Follow these steps to build and test your own Snigdha OS ISO image.
### Building the ISO
1. Clone the repository:
### Prerequisites
1. **Arch Linux environment** (or a compatible Arch-based distribution).
2. Install required dependencies:
```bash
git clone https://github.com/Snigdha-OS/snigdhaos-default-iso.git
cd snigdhaos-default-iso
```
2. Run the build script:
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
./scripts/build.sh
```
3. Your ISO will be available in the `output/` directory.
git clone https://github.com/Snigdha-OS/snigdhaos-archiso.git
cd snigdhaos-archiso
```
### Installation
Once you have the ISO:
- Boot into the live environment.
- Follow the [installation guide](https://snigdha-os.github.io/docs/installation).
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.
## Contributing
3. **Build the ISO**:
Execute the build script:
```bash
./scripts/build.sh
```
We welcome contributions from the community! To contribute:
1. Fork this repository.
2. Create a branch for your feature or bugfix.
3. Submit a pull request with detailed information about your changes.
4. **Locate the ISO**:
The built ISO will be stored in the `out/` directory. 🎉
For more details, refer to the [CONTRIBUTING.md](docs/CONTRIBUTING.md) file.
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`.
## License
## 🛠️ Advanced Customization
This project is licensed under the **MIT License**. See the [LICENSE](LICENSE) file for details.
Snigdha OS ArchISO provides deep customization options:
## Stay Connected
### 🔧 **Adding Custom Packages**
Add package names to `configs/packages.x86_64` to include them in the ISO. For example:
```
vim
htop
docker
```
- 🌐 Website: [snigdha-os.github.io](https://snigdha-os.github.io)
- 🐦 Twitter: [@SnigdhaOS](https://twitter.com/SnigdhaOS)
- 💬 Discord: [Snigdha OS Community](https://discord.gg/snigdhaos)
### ⚙️ **Enabling/Disabling Services**
Add custom systemd service configurations to `configs/services/`.
🚀 **Snigdha OS** - Redefining lightweight Linux distributions!
### 📜 **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. 💻✨