Monolinux

Puppy related raves and general interest that doesn't fit anywhere else
Post Reply
Message
Author
User avatar
sc0ttman
Posts: 2812
Joined: Wed 16 Sep 2009, 05:44
Location: UK

Monolinux

#1 Post by sc0ttman »

https://github.com/eerimoq/monolinux

An embedded Linux distro with a single statically linked executable.
[b][url=https://bit.ly/2KjtxoD]Pkg[/url], [url=https://bit.ly/2U6dzxV]mdsh[/url], [url=https://bit.ly/2G49OE8]Woofy[/url], [url=http://goo.gl/bzBU1]Akita[/url], [url=http://goo.gl/SO5ug]VLC-GTK[/url], [url=https://tiny.cc/c2hnfz]Search[/url][/b]

ndujoe1
Posts: 851
Joined: Mon 05 Dec 2005, 01:06

MonoLInux

#2 Post by ndujoe1 »

I believe that Barry Kauler was working towards a goal like with with development of his quirky series.

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#3 Post by s243a »

Dumb Question: Can you add shared libraries to this linux distro or do all changes need to be statically compiled?
Find me on [url=https://www.minds.com/ns_tidder]minds[/url] and on [url=https://www.pearltrees.com/s243a/puppy-linux/id12399810]pearltrees[/url].

User avatar
sc0ttman
Posts: 2812
Joined: Wed 16 Sep 2009, 05:44
Location: UK

#4 Post by sc0ttman »

s243a wrote:Dumb Question: Can you add shared libraries to this linux distro or do all changes need to be statically compiled?
Note sure :oops: :roll:
[b][url=https://bit.ly/2KjtxoD]Pkg[/url], [url=https://bit.ly/2U6dzxV]mdsh[/url], [url=https://bit.ly/2G49OE8]Woofy[/url], [url=http://goo.gl/bzBU1]Akita[/url], [url=http://goo.gl/SO5ug]VLC-GTK[/url], [url=https://tiny.cc/c2hnfz]Search[/url][/b]

eerimoq
Posts: 2
Joined: Wed 27 Nov 2019, 09:50

#5 Post by eerimoq »

I'm the author of Monolinux. The goal is to have a single statically linked binary, running as the init-process, and that's what is currently supported. I think you should use Buildroot or Yocto or something else if you want to use shared libraries.

User avatar
ally
Posts: 1957
Joined: Sat 19 May 2012, 19:29
Location: lincoln, uk
Contact:

#6 Post by ally »


User avatar
sc0ttman
Posts: 2812
Joined: Wed 16 Sep 2009, 05:44
Location: UK

#7 Post by sc0ttman »

eerimoq wrote:I'm the author of Monolinux. The goal is to have a single statically linked binary, running as the init-process, and that's what is currently supported. I think you should use Buildroot or Yocto or something else if you want to use shared libraries.
Do you have a library or repo or bookmark list or good portable C stuff that are good candidates for adding to Monolinux?

Are any good places to start?

I don't know any C, or barely how it works, but can hack code (somewhat)..

I'm thing about lightweight, portable, single file implementations of things like:

- system tools
- image viewing
- document viewing
- etc


Just so I can get my head around it a little better.. In an ideal world, what would you like to add to Monolinux if you had all the time in the world?
[b][url=https://bit.ly/2KjtxoD]Pkg[/url], [url=https://bit.ly/2U6dzxV]mdsh[/url], [url=https://bit.ly/2G49OE8]Woofy[/url], [url=http://goo.gl/bzBU1]Akita[/url], [url=http://goo.gl/SO5ug]VLC-GTK[/url], [url=https://tiny.cc/c2hnfz]Search[/url][/b]

User avatar
rufwoof
Posts: 3690
Joined: Mon 24 Feb 2014, 17:47

#8 Post by rufwoof »

My vmlinux is 12.4MB, which incorporates the initramfs (and all firmware/modules). Standard Linux kernel as downloaded from kernel.org (I track the 4.14 series for its longer Jan 2024 EOL date). Downloading the kernel source and building with initramfs incorporated takes less than a hour for the first run, a few minutes for repeat rebuilds (changes) - which is relatively slow as my laptop is just a 4GB 2 core (make -j3). Built with localyesconfig ... so device specific (which in itself is a security feature). For kernel point releases I just download, extract, copy in my refined kernel .config and initramfs_data.cpio, make menuconfig, save that and make -j3. I also build/run with the latest stable busybox (presently 1.31.1).

I use Fatdog's devX as the toolchain (means to build it). I also used a cut-down version of Fatdog's "Bulldog" initrd for the original initramfs.

I did have overlayfs and squashfs support being built into the kernel (along with having mksquashfs and unsquashfs installed), but more recently have dropped those. I just rebuild for any changes, and could always install/use rsync for persistence/changes if needed/desired.

21Mb initial ram used after bootup.

Includes :

Auto wifi net connects on bootup, after prompting for the usb to be unplugged
calcurse for diary/calendar
mc for file manager, text editor, program launcher (F2 user menu)
OpenSSH (so full version that can sshfs mount ..etc.)
Full Telnet version (busybox version is too limited for my needs)
encfs ... so DATA folder on hdd is encrypted (if laptop lost/stolen)
screen (terminal multiplexor)
simple-mtpfs (for mounting my android phone via usb)
sshfs for mounting the android phone via wifi/LAN (using SSHelper installed on the phone).
lynx - primarily just used for pasting copied text such as url's into my phone via SSHelpers copy/paste web page interface.

With that I typically boot, load up screen, load mc in a window, and then connect to hashbang via a ssh tunnel from where I can irc, email, surf, visit BBS's ..etc. I also tend to wifi mount (sshfs) my android phone, so if there's a url posted in irc or wherever I can use screen's copybuffer to copy that url and paste it into my phone's clipboard ... and then long press the chrome's url bar to paste that link. I also use the phone for playing videos/sounds etc. (and google speak for doing searches etc.). I attach the usb to the phone primarily so its charging from the laptop whilst being used.

I encode (encrypt) the .ssh folder (keys), along with having passwords for private key access, so if the usb is lost/stolen both the ssh servers and keys are obscured.

Works well for me, but is old-school (mc/screen/tui/cli). Somewhat gentoo style build methodology. I've recompiled some things using static, but just copied other things over from Fatdog along with the associated libs. It's my primary (default) boot, and boots in a second or so (few seconds before wifi net connected). My other boot is Fatdog i.e. the more common gui type desktop - for when I want a full gui type desktop for word processing/google, video editing, whatever. I did have kexec installed so I could directly load fatdog without having to loop back through BIOS, but found that it wasn't any quicker using kexec than simply ctrl-alt-del'ing and booting Fatdog via BIOS.
[size=75]( ͡° ͜ʖ ͡°) :wq[/size]
[url=http://murga-linux.com/puppy/viewtopic.php?p=1028256#1028256][size=75]Fatdog multi-session usb[/url][/size]
[size=75][url=https://hashbang.sh]echo url|sed -e 's/^/(c/' -e 's/$/ hashbang.sh)/'|sh[/url][/size]

User avatar
tallboy
Posts: 1760
Joined: Tue 21 Sep 2010, 21:56
Location: Drøbak, Norway

#9 Post by tallboy »

Take a look at some of the interesting ideas behind Gobolinux also. One of it's creators is Hisham Muhammad, the guy who made hTop.
True freedom is a live Puppy on a multisession CD/DVD.

eerimoq
Posts: 2
Joined: Wed 27 Nov 2019, 09:50

#10 Post by eerimoq »

@sc0ttman Monolinux is not meant as a PC distro with a graphical user interface, but instead targeted for small embedded IoT devices. So image viewing and similar is very unlikely to be added.

Not sure what I would like added, but probably something that is commonly used in IoT applications, for example an MQTT client.

Not sure that answers your questions, let me know if not =)

Post Reply