move markdown documentation to doc/md/, update

doc
This commit is contained in:
nodiscc
2020-04-06 19:17:12 +02:00
parent 3756d3cdf9
commit bb58ccd693
10 changed files with 1348 additions and 181 deletions

53
doc/md/CHANGELOG.md Normal file
View File

@@ -0,0 +1,53 @@
# Change Log
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/).
-------------------------------
## [v2.2.1](https://gitlab.com/nodiscc/dlc/releases/tag/2.2.1) - 2020-03-14
### Changed
- remove all plymouth/wallpaper customizations, use Debian defaults
- display plymouth boot loading screen
- Makefile: move 3rd party downloads to separate file, improve 'clean' target, improve idempotence/separation of concerns
- skel: quodlibet: set default rating to 0
- skel: xfwm: decrease default number of workspaces to 2
- skel: xfwm4: disable window shadows
- update README
### Added
- add third party package for https://github.com/EionRobb/pidgin-opensteamworks/
- add third party download for https://addons.mozilla.org/en-US/firefox/addon/keepassxc-browser/
- add third party download for https://addons.mozilla.org/en-US/firefox/addon/cookie-autodelete/
- add third party download for https://github.com/nodiscc/user.js
- add third-party download for https://github.com/az0/cleanerml
- add (disabled) third party download for https://www.sublimetext.com/
- Makefile: add a target to generate a TODO.md from a list of gitea issues, add TODO.md
### Removed
- remove Samba server
### Fixed
- fix broken installation of graphics/image packages list
- associate SVG files with ristretto
-------------------------------
## [v2.2](https://gitlab.com/nodiscc/dlc/releases/tag/2.2) - 2020-03-08
Initial release, git repository reset and rebuilt from scratch. See commit messages and documentation.
<!--
### Changed
### Added
### Removed
### Fixed
### Security
### Deprecated
-->

1067
doc/md/LICENSE.md Normal file

File diff suppressed because it is too large Load Diff

11
doc/md/TODO.md Normal file
View File

@@ -0,0 +1,11 @@
<!-- This file is automatically generated by "make update_todo" -->
- #30 - No GUI for services configuration
- #27 - Evaluate laptop-mode-tools vs tlp
- #26 - Test accessing Samba/windows shares
- #25 - Feature: Android emulator
- #24 - Install to EFI does not work
- #22 - APT cache is not cleared during build
- #21 - default choice/path for grub install disk leads to error
- #20 - Enable IPv6 support
- #19 - installer: preseed "full user name" question to match the linux username
- #18 - thunderbird: add default addons/harden configuration

156
doc/md/custom.md Normal file
View File

@@ -0,0 +1,156 @@
# Building a custom Debian ISO image
[`Makefile`](https://gitlab.com/nodiscc/debian-live-config/-/blob/master/Makefile) contains basic automation/preparation for the build process (download of extra components, tests and documentation generation, running the build, generating/signing checksums...)
The actual ISO image build process is managed by the [live-build](https://www.debian.org/devel/debian-live/) suite of tools. For more details, read the `live-build` documentation:
* [Live Systems manual](https://live-team.pages.debian.net/live-manual/html/live-manual/index.en.html)
* [`man lb config`](httpshttps://manpages.debian.org/buster/live-build/lb_config.1.en.html)
* [`man lb build`](https://manpages.debian.org/buster/live-build/lb_build.1.en.html)
* [`man lb clean`](https://manpages.debian.org/buster/live-build/lb_clean.1.en.html)
* [`man live-build`](https://manpages.debian.org/stretch/live-build/live-build.7.en.html)
* `/usr/share/doc/live-manual/pdf/live-manual.portrait.en.a4.pdf.gz` ([live-manual](https://packages.debian.org/buster/live-manual) package)
## Build using the default configuration
Install [Debian](https://www.debian.org). You must build from the same distribution as the target distribution (build *stable* systems on a build machine running Debian *stable*, *testing* systems on a machine running Debian *testing*...). The run the following commands (as root):
```bash
# install requirements
apt install make git sudo live-build
# clone the repository
git clone https://gitlab.com/nodiscc/debian-live-config
# build the ISO image
cd debian-live-config && make install_buildenv && make
```
You need some disk space for the download and build caches. The build directory grows to about 13GB using the default configuration.
## Changing the default build configuration
`live-build` is configured through files under the `auto/` and `config/` directories.
```
.
├── auto #main live-build configuration
├── config
│   ├── archives #package mirrors/repositories
│   ├── hooks #extra scripts to run during build stages
│   ├── includes.binary #files to include on the ISO filesystem
│   ├── includes.chroot #files to include in the live system's filesystem
│   ├── includes.installer #files to include in the installer's filesystem
│   ├── package-lists
│ │   └── *.list.chroot #packages to install on the live system
│ │   └── *.list.binary #packages to place in the APT repository on the ISO image
│   ├── packages.chroot #standalone .deb packages to install on the live system
│   └── task-lists #tasksel tasks to install on the live system
├── doc #user documentation
├── Makefile #main automation, dependencies management, ...
└── scripts #extra automation scripts
```
### auto/
* `auto/config` sets basic configuration settings for the build (architecture, boot configuration, installer...), see [`man lb config`](httpshttps://manpages.debian.org/buster/live-build/lb_config.1.en.html)
* `auto/clean` is run automatically before each build to ensure the build directory is free of any artifacts from previous builds (download caches are kept). See [`man lb clean`](https://manpages.debian.org/buster/live-build/lb_clean.1.en.html)
* `auto/build` contains the command used for the build, and basic logging settings
### config/includes.chroot/
Files to copy to the resulting live system (eg. modified configuration or data files under `etc/, opt/, usr/, ...`)
Scripts and data that do not belong to an existing Debian package _should_ be distributed as [custom packages](http://wiki.debian.org/Packaging), and not stashed directly into this directory. Debian packages can also handle custom configuration files (see [`man dpkg-divert`](https://manpages.debian.org/buster/dpkg/dpkg-divert.1.en.html)).
For example, to add custom files/unpackaged programs inside your live system:
```bash
git clone https://gitlab.com/nodiscc/toolbox config/includes.chroot/opt/toolbox
git clone https://gitlab.com/nodiscc/dlc config/includes.chroot/opt/dlc
```
### config/package-lists/
* `*.chroot`: lists of packages to install on the resulting image/system
* `*.binary`: lists of additional packages to add to the ISO image `pool/` directory (to use as an offline repository/mirror) (not required for the live system to work)
Simply use the `.list` extension to install packages in the live system and include them in the `pool/` directory in the ISO image as well.
### config/packages.chroot/
`.deb` packages placed here will be installed to the live system. May be useful when:
- You need a package that is not available in Debian (see [requests for packaging](http://wnpp.debian.net/))
- The package can be downloaded as a standalone `.deb` on the original project website OR you want to build a package yourself
- You don't want to add a third-party repository to your APT sources list (see below).
Caveats:
- Packages placed here will _not_ receive upgrades through APT (unless they are someday added to official Debian repositories)
- Packages placed here are not GPG-signed. Ensure you download/build the package over a secure channel.
```bash
# example addition of a third-party program
mkdir -pv config/packages.chroot
wget -N -nv --show-progress -P config/packages.chroot/ https://download.opensuse.org/repositories/home:/strycore/Debian_9.0/amd64/lutris_0.5.2.2_amd64.deb
```
### config/includes.installer/
`preseed.cfg` is used to preconfigure the _installer_ using [preseeding](https://wiki.debian.org/Preseed).
### config/preseed/
`*.chroot.cfg` used to preseed debconf values inside the _resulting live system_.
### config/hooks/
Scripts used to run arbitrary commands at different stages of the build (`*.hook.chroot` or `.*chroot.binary`). See `/usr/share/doc/live-build/examples/hooks/` for examples.
### config/includes.binary/
Additional files to place at the root of the ISO image filesystem (these files will be directly accessible when mounting the ISO).
## Other
### Setting the locale/language
Currently only 2 locales (english and french) are pre-generated, other languages have to be manually added to the build configuration, and the ISO rebuilt.
### Release process
- [ ] `make bump_version`, update version indicators
- [ ] Update the changelog
- [ ] `git tag --sign $new_version`
- [ ] `make doc && git add doc/md/packages/ doc/md/index.md && git commit -m "update auto-generated documentation"`
- [ ] `make && make checksums && make sign_checksums`
- [ ] `make tests`
- BIOS mode: test live mode in all languages
- BIOS mode: test online installation
- BIOS mode: test offline installation
- UEFI mode: test online installation
- UEFI mode: test offline installation
- During installation, test the following disk partitioning schemes:
- [ ] Automatic whole disk encrypted LVM
- [ ] Automated whole disk LVM
- [ ] Automated whole disk partitioning
- [ ] Manual
## See also
- **https://wiki.debian.org/**
- https://stdout.root.sx/links/?searchtags=debian

View File

@@ -0,0 +1,108 @@
# Download and installation
## Hardware Requirements
- Computer with x86_64 CPU
- Memory: min 1024MB, recommended 2GB+
- Recommended storage: 15GB+ hard drive or SSD (operating system and programs), 10-∞GB (user data)
- 2GB+ USB drive or DVD-R for the installation media
## Download
**[![](download.png) Download](https://github.com/nodiscc/debian-live-config/releases/download/2.2.2/dlc-2.2.2-debian-buster-amd64.hybrid.iso)** the latest ISO image
(Recommended) verify file integrity and authenticity with GPG:
```bash
# download the iso, signing key, checksums and signature
wget https://github.com/nodiscc/debian-live-config/releases/download/2.2/dlc-2.2-debian-buster-amd64.hybrid.iso
wget https://github.com/nodiscc/debian-live-config/releases/download/2.2/dlc-release.key
wget https://github.com/nodiscc/debian-live-config/releases/download/2.2/SHA512SUMS
wget https://github.com/nodiscc/debian-live-config/releases/download/2.2/SHA512SUMS.sign
# import the release signing key
# the key used to sign releases has key ID 16C50725859EBE2DD1B22100BCC63E85387671B9
gpg --import dlc-release.key
# verify that checksums are authentic
gpg --verify SHA512SUMS.sign
# verify integrity of the ISO image
sha512sum -c SHA512SUMS
```
## Write the bootable media
#### To USB - From Linux
* Insert a 2GB+ USB drive
* Right-click the ISO image file, and click `Open with ... > Disk image writer` (requires [gnome-disks](https://packages.debian.org/buster/gnome-disk-utility)) **Caution, all data on the USB drive will be erased**
* Or, using the command line: Identify your USB drive device name (eg. `/dev/sdc`) using the `lsblk` command; Write the ISO image to the drive using `sudo dd /path/to/live-image.iso /dev/sdXXX`.
![](https://i.imgur.com/1fYOBty.png)
#### To USB - From Windows
* Insert a blank 2GB+ USB drive
* Download [win32diskimager](http://sourceforge.net/projects/win32diskimager/files/latest/download), extract it in a directory, then run the program.
* `Image file`: select your ISO image.
* `Device`: Select your USB drive's drive letter.
* Press `Write`. **Caution, all data on the USB drive will be erased**
![](https://a.fsdn.com/con/app/proj/win32diskimager/screenshots/Win32DiskImager-1.0.png/max/max/1)
#### To DVD
* Select "burn a disk image" in your disk burning utility (Windows: [InfraRecorder](http://infrarecorder.org/?page_id=5))
#### Virtualization
You can also run the system in a virtual machine on top of your existing system. In that case writing a bootable drive is not needed and you can simply load the `.iso` file in the virtual machine's CD drive. Free and open-source virtualization software includes [virt-manager](https://stdout.root.sx/docs/virt-manager.md) (Linux) or [VirtualBox](https://www.virtualbox.org) (Linux/MacOS/Windows).
<!-- TODO virtualbox/virt-manager screencast -->
## Boot the ISO
- Turn your computer off. Insert the bootable USB/DVD, and turn it back on.
- The boot menu will be displayed, allowing you to install the operating system or run it in Live mode.
| 💥 | If your computer does not boot to the DVD/USB, check that [BIOS/EFI boot configuration](http://www.makeuseof.com/tag/enter-bios-computer/) utility is configured to boot from CD/DVD or USB. |
|---------|---------|
| 💥 | On some computers you need to [disable secure boot](https://neosmart.net/wiki/disabling-secure-boot/) before installing a Linux distribution. |
|---------|---------|
<!-- TODO boot menu screenshot -->
## Run the live system
A live system runs entirely in memory and allows you to use the operating system without installing it to your machine.
No changes to the Live filesystem are kept after reboot, (eg. files in user directories), the system will reset to it's original state when the computer is powered off/rebooted. Changes to files/directory on other drives (external/USB drive, existing fixed disk...) attached to the computer _will_ be kept - save your work there if you need to keep your changes.
The screen will lock after 5 minutes of inactivity during the live session. The passord to unlock it is `live`.
See **[Usage](usage.md)**
<!-- TODO screencast -->
## Install the system to disk
Select `Graphical install` from the boot menu to install a permanent copy a of the system to your hard drive. Follow instructions from the installer.
| 💥 | Installation in UEFI boot mode is curently broken. [Disable secure boot](https://neosmart.net/wiki/disabling-secure-boot/) and [enable legacy BIOS boot mode](https://neosmart.net/wiki/enable-legacy-boot-mode/) before running the installer. |
|---------|---------|
| 💥 | The default drive partitioning configuration overwrites any previously installed operating system/data on the selected installation disk. To preserve your data, use manual partitioning in the installer, install to an empty disk, or backup your data to an external drive if needed. |
|---------|---------|
<!-- TODO screencast -->
<!--
**Troubleshooting:** If you get the message `Failed to determine the codename for the release` during installation, unplug the USB drive, insert it again, open a shell from the installer menu, identify the device name for the USB drive (run `parted_devices`), and remount the USB drive under `/cdrom/` (run `mount /dev/sdX1 /cdrom/` where `sdX` is your USB device).
-->

BIN
doc/md/download.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 452 B

39
doc/md/index.md Normal file
View File

@@ -0,0 +1,39 @@
# debian-live-config
[Debian GNU/Linux](https://www.debian.org/) desktop operating system, preconfigured for personal computers/workstations
**[![](download.png) Download (ISO image, amd64)](https://github.com/nodiscc/debian-live-config/releases/download/2.2.2/dlc-2.2.2-debian-buster-amd64.hybrid.iso)**
![](https://i.imgur.com/wJETcZ3.png)
- Ready-to-use operating system for personal computers/workstations
- Preinstalled/preconfigured software for most office/multimedia/internet tasks
- Installation time < 10 minutes, without Internet access
- Can also run [live](https://en.wikipedia.org/wiki/Live_USB) from USB/DVD (no installation required)
- Fits on a 2GB USB drive
- Reliable, low maintenance (Based on Debian [stable](https://wiki.debian.org/DebianStable) + [backports](https://wiki.debian.org/Backports))
- Lightweight/low resource usage, good performance on low-end or recycled hardware
- Proprietary drivers/firmware for good compatibility with recent hardware
This repository contains the `live-build` configuration and scripts used to build a custom Debian ISO image. See [Building a custom Debian ISO image](custom.md).
---------------------------------------------------------
## Documentation
- [Download and installation](download-and-installation.md)
- [Usage](usage.md)
- [Software: Utility](packages/utility.md)
- [Software: Internet & network](packages/network.md)
- [Software: Audio & video](packages/audio-video.md)
- [Software: Office](packages/office.md)
- [Software: Graphics](packages/graphics.md)
- [Software: System](packages/system.md)
- [Software: Development](packages/development.md)
- [Software: Games](packages/games.md)
- [Changelog](CHANGELOG.md)
## License
[GPL-3.0](LICENSE)

26
doc/md/usage.md Normal file
View File

@@ -0,0 +1,26 @@
# Usage
Head to the **[Debian wiki](https://wiki.debian.org)** for information on how to use your Debian/GNU Linux system, notably:
- [Package management](https://wiki.debian.org/PackageManagement) (installing/removing/upgrading software)
- [Software](https://wiki.debian.org/Software)
- [Xfce](https://wiki.debian.org/Xfce)
See the package lists in the sidebar for useful links about installed software.
## Maintenance & security
* Only install software from your [package manager](https://wiki.debian.org/PackageManagement), do not run or install software or commands for untrusted sources
* Backup your data periodically to an external storage using [Back In Time](https://backintime.readthedocs.io/en/latest/quick-start.html)
* Only enter your administrator password to perform necessary system administration tasks
* Use strong (long) passwords/phrases, do not reuse passwords for different services (use the [KeepassXC](https://keepassxc.org/) password manager), use secure network protocols (HTTPS, ...), use disk encryption
* Security updates will be applied automatically [at least until 2022 and at most until 2024](https://www.debian.org/releases/) (unattended-upgrades)
* Keep your hardware in good condition
## Issues
* [Gitlab issue tracker](https://gitlab.com/nodiscc/dlc)
* [TODO.md](TODO.md)
* [Debian bug tracker (BTS)](https://wiki.debian.org/BTS)