Compare commits
No commits in common. "5777e35c09e260b3ffe185047c04f1e221ce83a0" and "fe11c67cea46838e0ece8ceda35fe9bd689fcca6" have entirely different histories.
5777e35c09
...
fe11c67cea
5 changed files with 60 additions and 60 deletions
46
README.md
46
README.md
|
@ -2,11 +2,14 @@
|
||||||
|
|
||||||
Origin: https://git.la10cy.net/DeltaLima/nanodesk
|
Origin: https://git.la10cy.net/DeltaLima/nanodesk
|
||||||
|
|
||||||
nanodesk is a lightweight debian linux flavor/distribution, using the
|
nanodesk is a less resources consuming debian linux "distribution" using the
|
||||||
jwm window manager.
|
jwm window manager, which I made for fun and learning.
|
||||||
|
|
||||||
This is just a fun and learning project. My goal is to have a (live) system
|
"distribution" because, it is just a debootstrap with some extra packages and
|
||||||
which is very lightweight and still usable too as daily driver.
|
custom jwm config, baked together with live-boot and a little installer script
|
||||||
|
for installing nanodesk on a harddrive.
|
||||||
|
|
||||||
|
My goal is to have a (live) system which is very lightweight and still usable too.
|
||||||
This is for a VM where you need a basic graphical environment or for an old computer
|
This is for a VM where you need a basic graphical environment or for an old computer
|
||||||
with less resources.
|
with less resources.
|
||||||
|
|
||||||
|
@ -38,22 +41,20 @@ If you want to build nanodesk by your own, maybe with your own customisations -
|
||||||
|
|
||||||
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.
|
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.
|
||||||
|
|
||||||
The script is tested running with Ubuntu 22.04, Debian 11 and Debian 12.
|
The script is tested running with Ubuntu 22.04.
|
||||||
|
|
||||||
Simply run `./makeanything.sh` and the show will start!
|
Simply run `./makeanything.sh` and the show will start!
|
||||||
|
|
||||||
Your .iso file will be generated in `build`, named like `nanodesk-vX.Y.Z.iso`.
|
Your .iso file will be in `build/nanodesk-vX.Y.Z`. Git tags are used for versioning.
|
||||||
Git tags and commit count are used for versioning.
|
|
||||||
|
|
||||||
You can give the script a custom debian-mirror, if your prefer e.g.
|
You can give the script a custom debian-mirror, if your prefer e.g. `./makeanything.sh http://ftp.debian.org/debian/`
|
||||||
`./makeanything.sh http://ftp.debian.org/debian/`
|
|
||||||
|
|
||||||
## customize nanodesk
|
## customize nanodesk
|
||||||
|
|
||||||
Of course you can customize nanodesk to fit your needs!
|
Of course you can customize nanodesk to fit your needs!
|
||||||
|
|
||||||
The simplest way is to add your favorite packages to the nanodesk live-image.
|
The simplest way is to add your favorite packages to the nanodesk live-image. Just add them to
|
||||||
Just add them to the file `templates/install_base.custompkg.sh`
|
the file `templates/install_base.custompkg.tpl.sh`
|
||||||
|
|
||||||
For example, let's add Abiword and Pidgin to nanodesk, the file would look like
|
For example, let's add Abiword and Pidgin to nanodesk, the file would look like
|
||||||
|
|
||||||
|
@ -66,21 +67,16 @@ pidgin
|
||||||
|
|
||||||
Now run `makeanything.sh` and you will have both programs on your live-linux.
|
Now run `makeanything.sh` and you will have both programs on your live-linux.
|
||||||
|
|
||||||
You can also jump into the chroot with `chroot build/chroot/ /bin/bash` and do
|
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
|
||||||
customizations by hand. Just run `makeanything.sh` afterwards to recreate the
|
|
||||||
.iso
|
|
||||||
|
|
||||||
Keep in mind that the chroot does not get recreated everytime you run
|
Keep in mind that the chroot does not get recreated everytime you run `makeanything.sh`.
|
||||||
`makeanything.sh`.
|
While experimenting around it could be helpful to delete your complete `build/` directory
|
||||||
While experimenting around it could be helpful to delete your complete `build/`
|
|
||||||
directory
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo rm -Rf build
|
sudo rm -Rf build
|
||||||
```
|
```
|
||||||
|
|
||||||
keeping a fresh copy of `build/chroot/` after the first debootstrap is also a
|
keeping a fresh copy of `build/chroot/` after the first debootstrap is also a good idea to save bandwidth :)
|
||||||
good idea to save bandwidth :)
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo cp -a build/chroot build/chroot.bak
|
sudo cp -a build/chroot build/chroot.bak
|
||||||
|
@ -88,15 +84,11 @@ sudo cp -a build/chroot build/chroot.bak
|
||||||
|
|
||||||
## install nanodesk on harddrive
|
## install nanodesk on harddrive
|
||||||
|
|
||||||
When you booted nanodesk from the iso, then you can install nanodesk to your
|
When you booted nanodesk from the iso, then you can install nanodesk to your harddrive. In the homefolder of `root` ist the installerscript `install_nanodesk.sh`
|
||||||
harddrive. The installer is called `nanodesk-installer`.
|
|
||||||
|
|
||||||
Before doing so, you have to create, if not already existing, a partition with
|
Before doing so, you have to create, if not already existing, a partition with a formatted linux compatible filesystem (e.g. ext4).
|
||||||
a formatted linux compatible filesystem (e.g. ext4).
|
|
||||||
|
|
||||||
nanodesk comes with fdisk, so you can create it very quick and format the
|
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.
|
||||||
partition afterwards. When you decide to create a swap-partiotion, do not
|
|
||||||
forget to run mkswap.
|
|
||||||
Then the installer will detect it automatically (I hope so!) and use it.
|
Then the installer will detect it automatically (I hope so!) and use it.
|
||||||
|
|
||||||
This is an example, how to do the partitioning and formatting.
|
This is an example, how to do the partitioning and formatting.
|
||||||
|
|
|
@ -124,7 +124,7 @@ $CHROOTCMD sed -i '/<\!-- GENERATED ICONLIST -->/r /tmp/jwm.iconlist' /etc/jwm/s
|
||||||
|
|
||||||
message "correct file permissions"
|
message "correct file permissions"
|
||||||
#$CHROOTCMD /usr/bin/chmod 440 /etc/sudoers || error
|
#$CHROOTCMD /usr/bin/chmod 440 /etc/sudoers || error
|
||||||
$CHROOTCMD /usr/bin/chmod 755 /usr/sbin/nanodesk-installer || error
|
$CHROOTCMD /usr/bin/chmod 755 /root/nanodesk-installer.sh || error
|
||||||
$CHROOTCMD /usr/bin/chmod 755 /usr/bin/nanodesk || error
|
$CHROOTCMD /usr/bin/chmod 755 /usr/bin/nanodesk || error
|
||||||
$CHROOTCMD /usr/bin/chmod 755 /usr/bin/nanodesk-first-start || error
|
$CHROOTCMD /usr/bin/chmod 755 /usr/bin/nanodesk-first-start || error
|
||||||
|
|
||||||
|
|
|
@ -45,26 +45,28 @@
|
||||||
<!-- Tray at the bottom. -->
|
<!-- Tray at the bottom. -->
|
||||||
<Tray x="0" y="0" height="25" autohide="off">
|
<Tray x="0" y="0" height="25" autohide="off">
|
||||||
|
|
||||||
<TrayButton icon="/usr/share/nanodesk/images/linux_button.svg">root:1</TrayButton>
|
<TrayButton icon="/usr/share/nanodesk/images/linux_button.svg">root:1</TrayButton>
|
||||||
<Spacer width="2"/>
|
<Spacer width="2"/>
|
||||||
<TrayButton label="_" popup="Show desktop">showdesktop</TrayButton>
|
<TrayButton label="_" popup="Show desktop">showdesktop</TrayButton>
|
||||||
<Spacer width="2"/>
|
<Spacer width="2"/>
|
||||||
<!-- custom TrayButton -->
|
|
||||||
<TrayButton popup="LXTerminal" icon="lxterminal">exec:lxterminal </TrayButton>
|
|
||||||
<Spacer width="2"/>
|
|
||||||
<TrayButton popup="Falkon Webbrowser" icon="falkon">exec:falkon</TrayButton>
|
|
||||||
<Spacer width="2"/>
|
|
||||||
<TrayButton popup="PCManFM" icon="system-file-manager">exec:pcmanfm</TrayButton>
|
|
||||||
<Spacer width="2"/>
|
|
||||||
|
|
||||||
<Pager labeled="true"/>
|
<!-- custom TrayButton -->
|
||||||
|
<TrayButton popup="LXTerminal" icon="lxterminal">exec:lxterminal </TrayButton>
|
||||||
|
<Spacer width="2"/>
|
||||||
|
<TrayButton popup="Falkon Webbrowser" icon="falkon">exec:falkon</TrayButton>
|
||||||
|
<Spacer width="2"/>
|
||||||
|
<TrayButton popup="PCManFM" icon="system-file-manager">exec:pcmanfm</TrayButton>
|
||||||
|
<Spacer width="2"/>
|
||||||
|
|
||||||
<TaskList maxwidth="256"/>
|
|
||||||
|
|
||||||
<Dock/>
|
<Pager labeled="true"/>
|
||||||
<Clock format="%H:%M"><Button mask="123">exec:gsimplecal</Button></Clock>
|
|
||||||
|
|
||||||
</Tray>
|
<TaskList maxwidth="256"/>
|
||||||
|
|
||||||
|
<Dock/>
|
||||||
|
<Clock format="%H:%M"><Button mask="123">exec:gsimplecal</Button></Clock>
|
||||||
|
|
||||||
|
</Tray>
|
||||||
|
|
||||||
<!-- Visual Styles -->
|
<!-- Visual Styles -->
|
||||||
<WindowStyle>
|
<WindowStyle>
|
||||||
|
|
|
@ -49,9 +49,11 @@ error () {
|
||||||
}
|
}
|
||||||
|
|
||||||
finish () {
|
finish () {
|
||||||
|
message "removing firststart dialoge from jwm config"
|
||||||
|
$CHROOTCMD /usr/bin/sed -i '/doc\/nanodesk\/welcome\/welcome\.html/d' /etc/jwm/system.jwmrc || error
|
||||||
|
|
||||||
message "removing installer files from target"
|
message "removing installer files from target"
|
||||||
$CHROOTCMD /usr/bin/rm -Rf /usr/sbin/nanodesk-installer || error
|
$CHROOTCMD /usr/bin/rm -Rf /root/nanodesk-installer.sh || error
|
||||||
|
|
||||||
message "removing live-packages from target"
|
message "removing live-packages from target"
|
||||||
$CHROOTCMD /usr/bin/apt -y purge 'live-boot*' 'live-tools*'
|
$CHROOTCMD /usr/bin/apt -y purge 'live-boot*' 'live-tools*'
|
|
@ -1,35 +1,39 @@
|
||||||
# Welcome to nanodesk
|
# Welcome to nanodesk
|
||||||
|
|
||||||
`nanodesk` is yet another leightweight Debian flavor/distribution,
|
|
||||||
that comes with the `jwm` window manager.
|
|
||||||
|
|
||||||
This is just a fun project for learning purposes.
|
nanodesk is a debian base linux "distribution". I put distribution in ""
|
||||||
|
becuase it is just a minimal debian debootstrap installation, which you
|
||||||
|
can boot from a DVD or usb-stick and install it to disk, with well picked
|
||||||
|
packages I like and a customized jwm config. Taddaa - a new distribution.
|
||||||
|
|
||||||
|
|
||||||
|
Everything done with having the goal to consume as less ram as possible.
|
||||||
|
|
||||||
|
|
||||||
## install to disk
|
## install to disk
|
||||||
|
|
||||||
You can install nanodesk to your harddrive. Before doing so,
|
You can install nanodesk to your harddrive. Before doing so,
|
||||||
you have to get your drive partitioned and formated.
|
you have to get your drive partitioned and formated.
|
||||||
|
|
||||||
Partitioning on an empty drive is simple, you need two partitions
|
Partiotioning on an empty drive is simple, you need two partitions
|
||||||
|
|
||||||
- partition1: ext4 , mainfilesystem.
|
- partition1: ext4 , mainfilesystem.
|
||||||
- partition2 (optional, but recommended): swap
|
- partition2 (optional, but recommended): swap
|
||||||
|
|
||||||
You can use `Menu -> System -> Gparted` or `fdisk` on the shell for this.
|
You can use `gparted` or `fdisk` for this. Please read their manuals.
|
||||||
Please read their manuals.
|
|
||||||
|
|
||||||
This done, just run `sudo nanodesk-installer /dev/sdXY` from the terminal
|
This done, just run `sudo /root/nanodesk-installer.sh /dev/sdXY` from the terminal
|
||||||
and the installation will start. (change /dev/sdXY to your drive)
|
and the installation will start. (change /dev/sdXY to your drive)
|
||||||
|
|
||||||
## installing software
|
## installing software
|
||||||
|
|
||||||
There is `Menu -> System -> Synaptic` for installing software as GUI.
|
There is no GUI tool for installing software. You have to use `apt` from the
|
||||||
Alternatively you can use `apt` from the terminal.
|
terminal.
|
||||||
|
|
||||||
## getting root
|
## getting root
|
||||||
|
|
||||||
When booting as livesystem, the default user is `debian` and the
|
In the LiveCD mode you can just do `sudo su -` without being asked for a password.
|
||||||
password is `debian` as well.
|
|
||||||
|
|
||||||
Depending on your choice by the installation, you will have to enter a password,
|
Depending on your choice by the installation, you will have to enter a password,
|
||||||
when you created your own using by the installer.
|
when you created your own using by the installer.
|
||||||
|
|
||||||
|
So or so good old `su - ` works fine as well, just type in the root password.
|
||||||
|
|
Loading…
Reference in a new issue