nanodesk/README.md

202 lines
6.2 KiB
Markdown
Raw Permalink Normal View History

2023-10-22 08:01:38 +02:00
# nanodesk - lightweight linux (live) desktop
2023-05-01 12:23:01 +02:00
Origin: https://git.la10cy.net/DeltaLima/nanodesk
2023-05-01 02:50:26 +02:00
2023-10-22 07:54:05 +02:00
nanodesk is a lightweight debian linux flavor/distribution, using the
jwm window manager.
2023-05-01 11:12:37 +02:00
2023-10-22 07:54:05 +02:00
This is just a fun and learning project. My goal is to have a (live) system
which is very lightweight and still usable too as daily driver.
2023-05-01 11:12:37 +02:00
This is for a VM where you need a basic graphical environment or for an old computer
with less resources.
2023-05-01 03:24:01 +02:00
2023-10-22 10:57:10 +02:00
## The Operating System
Actual nanodesk uses **Debian 12 bookworm** as base. It comes with following
programs preinstalled by default
- JWM Window Manager
- Falkon Web browser
- PCManFM Filemanager
- Connman Network Manager
- X File Explorer Suite
- qpdfview PDF and Image Viewer
- GParted Partition Manager
- Synaptic Package Manager
- LXTerminal Terminal Emulator
See [Customize nanodesk](#customize-nanodesk) to learn more about how to add
your own packages and so on.
2023-05-03 01:19:07 +02:00
2023-05-01 03:24:01 +02:00
## Screenshots
2023-10-22 10:50:17 +02:00
The most important thing about a linux distro are the screenshots. :p
2023-05-01 03:25:39 +02:00
2023-05-01 03:24:01 +02:00
Here you go!
2023-05-01 03:25:39 +02:00
2023-05-01 03:24:01 +02:00
![nanodesk_1](screenshots/nanodesk_1.png)
2023-05-01 03:25:39 +02:00
2023-05-01 03:24:01 +02:00
![nanodesk_2](screenshots/nanodesk_2.png)
2023-05-01 03:25:39 +02:00
2023-05-01 03:24:01 +02:00
![nanodesk_3](screenshots/nanodesk_3.png)
2023-05-01 03:25:39 +02:00
2023-05-01 03:24:01 +02:00
![nanodesk_4](screenshots/nanodesk_4.png)
2023-05-01 03:25:39 +02:00
2023-05-01 03:24:01 +02:00
![nanodesk_5](screenshots/nanodesk_5.png)
2023-05-01 08:56:24 +02:00
![nanodesk_6](screenshots/nanodesk_6.png)
![nanodesk_7](screenshots/nanodesk_7.png)
2023-10-22 10:46:52 +02:00
![nanodesk_7](screenshots/nanodesk_8.png)
2023-05-01 08:56:24 +02:00
## Build it your own!
If you want to build nanodesk by your own, maybe with your own customisations - `makeanything.sh` will cover you.
This script will perform all tasks which are necessary to build nanodesk from scratch, including installing packages on your host machine where you build nanodesk.
2023-10-22 07:54:05 +02:00
The script is tested running with Ubuntu 22.04, Debian 11 and Debian 12.
2023-05-01 08:56:24 +02:00
2023-05-01 11:12:37 +02:00
Simply run `./makeanything.sh` and the show will start!
2023-05-01 08:56:24 +02:00
2023-10-22 07:54:05 +02:00
Your .iso file will be generated in `build`, named like `nanodesk-vX.Y.Z.iso`.
Git tags and commit count are used for versioning.
2023-05-01 23:58:08 +02:00
2023-10-22 07:54:05 +02:00
You can give the script a custom debian-mirror, if your prefer e.g.
`./makeanything.sh http://ftp.debian.org/debian/`
2023-05-01 08:56:24 +02:00
## customize nanodesk
2023-05-01 23:52:37 +02:00
Of course you can customize nanodesk to fit your needs!
2023-10-22 07:54:05 +02:00
The simplest way is to add your favorite packages to the nanodesk live-image.
2023-10-22 10:50:17 +02:00
Just add them to the file `templates/install_base.customsteps.sh`
2023-05-01 23:52:37 +02:00
For example, let's add Abiword and Pidgin to nanodesk, the file would look like
```bash
apt install -y \
audacious \
2023-10-22 10:50:17 +02:00
vlc \
2023-05-01 23:52:37 +02:00
abiword \
pidgin
```
Now run `makeanything.sh` and you will have both programs on your live-linux.
2023-10-22 07:54:05 +02:00
You can also jump into the chroot with `chroot build/chroot/ /bin/bash` and do
customizations by hand. Just run `makeanything.sh` afterwards to recreate the
.iso
2023-05-01 08:56:24 +02:00
2023-10-22 07:54:05 +02:00
Keep in mind that the chroot does not get recreated everytime you run
`makeanything.sh`.
While experimenting around it could be helpful to delete your complete `build/`
directory
2023-05-01 23:52:37 +02:00
```bash
sudo rm -Rf build
```
2023-10-22 07:54:05 +02:00
keeping a fresh copy of `build/chroot/` after the first debootstrap is also a
good idea to save bandwidth :)
2023-05-01 23:52:37 +02:00
```bash
sudo cp -a build/chroot build/chroot.bak
```
2023-05-01 08:56:24 +02:00
## install nanodesk on harddrive
2023-10-22 07:54:05 +02:00
When you booted nanodesk from the iso, then you can install nanodesk to your
harddrive. The installer is called `nanodesk-installer`.
2023-05-01 08:56:24 +02:00
2023-10-22 07:54:05 +02:00
Before doing so, you have to create, if not already existing, a partition with
a formatted linux compatible filesystem (e.g. ext4).
2023-05-01 08:56:24 +02:00
2023-10-22 07:54:05 +02:00
nanodesk comes with fdisk, so you can create it very quick and format the
partition afterwards. When you decide to create a swap-partiotion, do not
forget to run mkswap.
2023-05-01 08:56:24 +02:00
Then the installer will detect it automatically (I hope so!) and use it.
2023-05-01 08:59:18 +02:00
This is an example, how to do the partitioning and formatting.
2023-05-01 08:56:24 +02:00
```bash
debian@nanodesk:~$ sudo su -
root@nanodesk:~# fdisk /dev/sda
Welcome to fdisk (util-linux 2.36.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): o
Created a new DOS disklabel with disk identifier 0xe29b8e3b.
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-16777215, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-16777215, default 16777215): +7700M
Created a new partition 1 of type 'Linux' and of size 7.5 GiB.
Command (m for help): n
Partition type
p primary (1 primary, 0 extended, 3 free)
e extended (container for logical partitions)
Select (default p):
Using default response p.
Partition number (2-4, default 2):
First sector (15771648-16777215, default 15771648):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (15771648-16777215, default 16777215):
Created a new partition 2 of type 'Linux' and of size 491 MiB.
Command (m for help): t
Partition number (1,2, default 2): 2
Hex code or alias (type L to list all): 82
Changed type of partition 'Linux' to 'Linux swap / Solaris'.
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
root@nanodesk:~# mkfs.ext4 /dev/sda1
mke2fs 1.46.2 (28-Feb-2021)
Creating filesystem with 1971200 4k blocks and 492880 inodes
Filesystem UUID: 59b069ae-d9be-4fc0-a277-4204d20dc293
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done
root@nanodesk:~# mkswap /dev/sda2
Setting up swapspace version 1, size = 491 MiB (514846720 bytes)
no label, UUID=700c237a-d6ff-45d5-9cd9-8d623e851e06
2023-05-01 08:59:18 +02:00
root@nanodesk:~# ./install_nanodesk.sh /dev/sda1
2023-05-01 08:56:24 +02:00
```
2023-05-01 03:30:26 +02:00
## Download
Yeah, you can download the .iso file.
2023-09-10 23:31:43 +02:00
Download: [http://pub.la10cy.net/nanodesk/](http://pub.la10cy.net/nanodesk/)
2023-05-01 03:30:26 +02:00
2023-05-01 03:24:01 +02:00
## Resources
2023-05-01 03:25:39 +02:00
- Linux Logo Button: https://freesvg.org/linux-key-vector-button
2023-05-01 03:24:01 +02:00
- xdgmenumaker deb package: https://bgstack15.wordpress.com/2020/03/03/package-for-devuan-xdgmenumaker/
- How To debootstrap a small desktop system: https://git.la10cy.net/DeltaLima/devnull/src/branch/main/debootstrap_minimal_dekstop_from_scratch.md
- How To create a linux live cd: https://www.willhaley.com/blog/custom-debian-live-environment/