The time now is Sun 15 Dec 2019, 03:36
All times are UTC - 4 |
Author |
Message |
mistfire
Joined: 04 Nov 2008 Posts: 1284 Location: PH
|
Posted: Fri 08 Nov 2019, 03:55 Post subject:
|
|
@dejan555 yes it is I think because it was very easily to contribute on Puppy Linux development. Biggest changes are already made in woof-ce
|
Back to top
|
|
 |
musher0
Joined: 04 Jan 2009 Posts: 14554 Location: Gatineau (Qc), Canada
|
Posted: Fri 08 Nov 2019, 14:32 Post subject:
|
|
sc0ttman wrote: | musher0 wrote: | mistfire wrote: | More gui improvements on puppy core apps are coming to woof-ce | Shucks. It's stuff with CLI that needs to be developed.  |
Agreed. Lots of important system setup/config tasks are still impossible or very complicated without X running...
I made a (overly long) post called "Make Puppy CLI more powerful" about that here: https://github.com/puppylinux-woof-CE/woof-CE/issues/1627
One thing we could do is have a puppy-config CLI program, with nice, consistently named commands, that makes it easy to do all the important stuff..
Something like:
puppy-config adblocker <-- runs a cli ad blocker script
puppy-config audio <-- asks some questions, setup as asked, play test sound
puppy-config audio alsa <-- setup alsa so its working, play test sound
puppy-config wifi <-- choose network from list, enter password
puppy-config samba [sharename]
puppy-config bluetooth
puppy-config locale <-- font, language, keybord setup
puppy-config install [drive] <-- asks questions, installs puppy to drive
..etc..
Then the GUIs we already have could be updated/simplified to just call these CLI programs in the background.
As Puppy aims to be easier to use than other Linuxes, a simple tool in the terminal, that replaces more complicated manual setup stuff, would be in keeping with the Puppy philosophy..
And it would pave the way for building barebones Puppies without X that were still easy to setup, customise, etc.
...The arguments given for avoiding the terminal is that is "too hard", "too complicated", "scary", etc..
Well, it would be a lot less scary with puppy-config helping you get setup .. |
Thanks for your support to this idea, sc0ttman.
One thing that is often overlooked concerning the CLI interface is that it has visual
arrangement, refresh, and color possibilities, e.g. through ANSI escape codes, which
could make it more appealing to users, even, than bland YAD layouts.
Yes, in a CLI interface you have to figure out where the required keyboard keys are.
But for the user, that is not any more difficult than figuring out where to drag your
mouse to and within a YAD box.
BFN.
_________________ musher0
~~~~~~~~~~
Je suis né pour aimer et non pas pour haïr. (Sophocle) /
I was born to love and not to hate. (Sophocles)
|
Back to top
|
|
 |
rufwoof

Joined: 24 Feb 2014 Posts: 3681
|
Posted: Fri 08 Nov 2019, 21:44 Post subject:
|
|
I boot a 11.6MB vmlinuz, a cut down version of Fatdog's Bulldog (initrd cli). That's with the initrd (initramfs/init) built into the kernel, along with all machine specific modules/firmware, so its the only file required in order to boot. Boots in around a second ... a few seconds in total before its also wifi net connected, and includes OpenSSH (so ssh/scp/sftp/sshfs), ccrypt (that I use to encrypt my .ssh folder (ssh keys)), screen (terminal multiplexing), simple-mtpfs (so I can mount my android phone), kexec (to directly boot any other kernel/system), and mc (file manager and text editor). With that I can download any Puppy/distro, and boot (kexec) it. Or kexec any locally stored Puppy (I just tend to boot full Fatdog). Or I can boot it and ssh into hashbang and reattach to a tmux session with multiple windows/sessions for irc, email, w3m ...etc.
mc's F2 "menu" can be user-defined, or you can set up multiple menu's, one menu for each folder. When you're familiar with mc as a file manager/text editor its relatively quick/easy to use. In keeping with that I created a ncurses menu system that works along similar lines/style as mc (see attached image).
Puppy looks to be widely usable, functional when moved from machine to machine. There's little in the way of Puppy to be refined to be single machine specific. Trying to downsize Puppy to be single machine specific, removing firmware/modules etc. is awkward. And much of Puppy size is modules/firmware, much of which might never be used, but is loaded every time.
A combination of being able to use one Puppy (devx) to compile a machine specific kernel (localyesconfig) that also included a mc style ncurses menu system could be made relatively easy for novices to build/run. And once you have a basic network connected system running, adding additional functionality via the likes of loading sfs's can be used to expand that small 'setup' system into a full blown desktop gui system. Or just used to boot a local copy of a full system. With the added advantage of being able to sense (scan) for what hardware is actually available after the initial small kernel has been booted, but prior to downloading/booting the main (full) system.
In short, I'd suggest a TUI (text user interface) .. along the lines of mc or the old Turbo Pascal style IDE as the front end to cli actions/scripts. That tui/scripts could even be downloaded from a central server rather than being contained within the vmlinuz.
 |
Description |
|
Filesize |
28.79 KB |
Viewed |
360 Time(s) |

|
_________________ ( ͡° ͜ʖ ͡°) :wq
Fatdog multi-session usb
echo url|sed -e 's/^/(c/' -e 's/$/ hashbang.sh)/'|sh
|
Back to top
|
|
 |
musher0
Joined: 04 Jan 2009 Posts: 14554 Location: Gatineau (Qc), Canada
|
Posted: Fri 08 Nov 2019, 22:38 Post subject:
|
|
Nah, I don't like back-ports!
_________________ musher0
~~~~~~~~~~
Je suis né pour aimer et non pas pour haïr. (Sophocle) /
I was born to love and not to hate. (Sophocles)
|
Back to top
|
|
 |
sc0ttman

Joined: 16 Sep 2009 Posts: 2772 Location: UK
|
Posted: Sat 09 Nov 2019, 10:25 Post subject:
|
|
Quote: | I boot a 11.6MB vmlinuz, a cut down version of Fatdog's Bulldog (initrd cli). That's with the initrd (initramfs/init) built into the kernel, along with all machine specific modules/firmware, so its the only file required in order to boot. Boots in around a second ... |
Sounds quite good
I do think Puppies should offer a kernel that supports as much hardware as possible "out of
the box" though, with loads of firmware..
Doing that is very user friendly - Puppy users can just "download and boot" on a wide range
of PCs, laptops, etc, without needing any kernel or firmware knowledge/installation/setup.
Quote: | In short, I'd suggest a TUI (text user interface) ...as the front end to cli actions/scripts. |
A simple "main menu" or "welcome menu" ncurses script, which offers easy ways to run various
system tools (puppy-config stuff I mentioned above), or recovery scripts (fsck, etc) would make
the CLI/terminal experience in Puppy about as easy as any other distro.
.. Kind of separately..
It would be great to have ncurses working as early in the boot process as possible, although
I've no idea if it can work in the initrd.
I am biased but if nrcurses does work in the initrd, I'd like to see Pkg (and ncurses) work
even from inside the initrd, so that Pkg (and Pkgdialog) can be used even before mounting the
main filesystem (rootfs)...
...if ncurses doesn't work in initrd (i.e it can't be compiled statically), there is still the option of
using lots of "list and picker" type things like fzy (https://github.com/jhawthorn/fzy),
selecta, etc..
Quote: | One thing that is often overlooked concerning the CLI interface is that it has visual
arrangement, refresh, and color possibilities, e.g. through ANSI escape codes, which
could make it more appealing to users, even, than bland YAD layouts. |
Agreed. Making nice looking CLI programs that are well presented, easy to understand, simple
inputs, clear options (etc) is entirely possible, including color coding, nice spacing, formatting, etc...
Even without ncurses (which many users don't like)..
Continuing with nice CLI presentation ideas:
IMVHO, I also think Puppy should be one of the only distros to ship a modified "Nerd Font" version
of Deva Vu Sans (or Bitstream Vera), as these "Nerd Fonts" also include icons built right
into the fonts themselves.. These icons can be used in the terminal (if found to be available).
See this screenshot:
_________________ Pkg, mdsh, Woofy, Akita, VLC-GTK, Search
|
Back to top
|
|
 |
rufwoof

Joined: 24 Feb 2014 Posts: 3681
|
Posted: Sat 09 Nov 2019, 13:48 Post subject:
|
|
sc0ttman wrote: | A simple "main menu" or "welcome menu" ncurses script, which offers easy ways to run various system tools (puppy-config stuff I mentioned above), or recovery scripts (fsck, etc) would make the CLI/terminal experience in Puppy about as easy as any other distro.
.. Kind of separately..
It would be great to have ncurses working as early in the boot process as possible, although I've no idea if it can work in the initrd.
I am biased but if nrcurses does work in the initrd, I'd like to see Pkg (and ncurses) work even from inside the initrd, so that Pkg (and Pkgdialog) can be used even before mounting the main filesystem (rootfs)... |
Just recompiled the kernel config I'm using with that ncurses menu included as a dynamically linked (i.e. copied over the bin as-is and also copied over the libs) and that booted/ran ok. That was within initrd, i.e. was run within a setsid cttyhack child process within init, that when exited out of resumes pid 1 (normal init/console). The reason I use the setsid cttyhack for tty/pseudo terminal is to enable job control (screen/background tasks etc.) that otherwise (console) isn't available. I originally coded that ncurses menu to just show the menu, and exit with a exit string of whatever option was selected, and I have a wrapper script that loops around showing the menu, trapping the selected return text (requested action string) in a case statement, and launching the associated action for that, before re-showing the menu again. As-is that menu is fixed (as compiled into the C program), but relatively easy to change and recompile. With the ncurses program and libs added it expanded the vmlinuz to 12MB (around 360KB larger compared to without the ncurses program/libs).
That is without mouse point/click functionality. You have to (the way it is coded i.e. mirrors mc type controls) press F9 to activate the menu and then the first letter of whatever highlighted choice you want to run, or use the arrow keys to navigate/enter to select.
Fatdog has slapt-get cli based package manager alongside gslapt (gui based package manager), so along with wifi net connected I guess that could also be run within init. However I haven't actually tried that.
My vmlinuz is compiled to be very machine specific, but no reason why that couldn't be bloated out by including modules/firmware for a wide range of hardware. Doing so however would expand the size considerably and in that case it would perhaps be best to have initramfs_data.cpio (initrd) outside of vmlinuz. I suspect however that you'd be looking at something like a 80MB system. At that sort of size you might as well just use a bare-bone type puppy as a early stage init boot (something like a xvesa type puppy), do whatever configuration/action you desired within that before exiting to resume init/pid 1 and boot the main/full puppy.
_________________ ( ͡° ͜ʖ ͡°) :wq
Fatdog multi-session usb
echo url|sed -e 's/^/(c/' -e 's/$/ hashbang.sh)/'|sh
|
Back to top
|
|
 |
mistfire
Joined: 04 Nov 2008 Posts: 1284 Location: PH
|
Posted: Sat 16 Nov 2019, 09:15 Post subject:
|
|
Some woof-ce accomplishements this 2019
* Improved package management and sfs loading
* Improved PTP and MTP support
* Improved puppy core apps gui
* Improved disk image file mounting
* XDG Desktop compliance
* Improved touchpad support
* Added non-acpi support
|
Back to top
|
|
 |
rockedge

Joined: 11 Apr 2012 Posts: 1365 Location: Connecticut, United States
|
Posted: Mon 25 Nov 2019, 11:38 Post subject:
|
|
At the moment using the kernel-kit to produce a 5.2.21 SMP PREEMPT RT kernel and I am running into this error immediately
Code: | ./funcs.sh: line 7: vercmp: command not found |
I am running Bionic64-v8 with a kernel 4.19.25-rt16 #1 SMP PREEMPT RT
and I do not have the command vercmp on board. Nor do I see a way to get it...so please let me know how to include this command or can I bypass the function?
|
Back to top
|
|
 |
mikeslr

Joined: 16 Jun 2008 Posts: 3548 Location: 500 seconds from Sol
|
Posted: Mon 25 Nov 2019, 14:26 Post subject:
|
|
vercmp is not in the Ubuntu repos. Per Arch, it is a version comparison utility. https://www.archlinux.org/pacman/vercmp.8.html, Distros employing it seem to be few and far between. https://pkgs.org/download/vercmp; https://pkgs.org/download/filevercmp. See also, https://github.com/diorahman/vercmp. They do not appear to be either arch or kernel specific.
And perhaps the idea for a work-around, https://unix.stackexchange.com/questions/163702/bash-script-to-verify-that-an-rpm-is-at-least-at-a-given-version
As always, the information I transmit may be entirely misleading.
|
Back to top
|
|
 |
rockedge

Joined: 11 Apr 2012 Posts: 1365 Location: Connecticut, United States
|
Posted: Mon 25 Nov 2019, 14:53 Post subject:
|
|
hello mikeslr,
I think I know what is happening and why vercmp did not work on one Bionic64 and does on another. Some thing in the save folder is eliminating or while listing it. I was able to compile a kernel 5.2.21 just now successfully and am now looking into the patches needed to build this as a true real time kernel.
The goal is to create a Puppy Linux that can run LinuxCNC in it's full capacity and direct CNC machines. Although so far there are errors still during compiling LinuxCNC, it is getting closer. I am using for that kernel 4.19.27-rt16 SMP PREEMPT RT right now but if successful in building a newer version 5 real time kernel I will use it.
|
Back to top
|
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|