Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Sat 15 Jun 2019, 22:54
All times are UTC - 4
 Forum index » Advanced Topics » Puppy Projects
FirstRib Void Linux: Core of modular system build script
Moderators: Flash, JohnMurga
Post new topic   Reply to topic View previous topic :: View next topic
Page 1 of 7 [91 Posts]   Goto page: 1, 2, 3, 4, 5, 6, 7 Next
Author Message
wiak

Joined: 11 Dec 2007
Posts: 1398
Location: not Bulgaria

PostPosted: Fri 24 May 2019, 02:07    Post subject:  FirstRib Void Linux: Core of modular system build script
Subject description: This 'flavour' uses Void Linux package manager/repos
 

FirstRib provides a small Linux buildsystem shell script containing only around 40 lines of simple code
(the rest of the script being comments/documentation, which you are advised to read).


The build script, which can be run on most any modern Linux host system, builds a new small Linux system, taking only a few minutes to download and complete the basic build, which can then also be used from the host system or booted independently via a suitable initramfs. Aside from any bug-fixing, I intend keeping the build script very simple so it is easy to be read and understood by users. i.e. without error checking or convoluted code complexities (despite temptations). If anyone wants to use firstrib build script as an exemplar for a more complicated version, they are welcome to fork it of course. I may, however, later produce a small, separate, simple frontend gui to build_firstrib_rootfs*.sh as a convenience. A small simple build script for a suitable initramfs is also being worked on.


FirstRib starts as a busybox-based commandline system but absolutely easy for user to add X GUI too

This first version uses Void Linux repositories and package management system xbps.

FirstRib has been designed (simple small script) for learning/experiment purposes, to encourage both non-guru-devs and guru-devs involvement (though experienced hands much appreciated of course, thanks), but since it contains a full dependency resolving package manager, you can build it up to anything you like... (with the additonal help of googling/experimenting etc... that's the point - simple beginning). Of course, for a Void Linux system, a person could simply begin with a full Void Linux rootfs download straight away, but that would defeat the purpose of FirstRib's tiny, simple buildscript start.

Some details about FirstRib (Void Linux flavour) package manager xbps:

Xbps is simple to xbps-install, xbps-remove, and xbps-query (search) packages. For some details see:

https://wiki.voidlinux.org/XBPS#Basic_Usage

You can find plenty of other Void documentation here: https://wiki.voidlinux.org/Main_Page
and reddit forum here: https://www.reddit.com/r/voidlinux/

Using the same design concept, I may later produce alternative FirstRib flavours for different
repo/package_manager usage.

This new version 0.0.4 of FirstRib build system provides optional modular plugin facility and
ability to specify void repo base address to use per below description:


You can specify the url base address of the void repo you want to use by creating an entry in optional text file "firstrib.repo". For example:
Code:
repo=http://alpha.us.repo.voidlinux.org/

You can also now use a text file "firstrib.plug" to specify additional commands you want undertaken in the chroot part of the build. For example:
Code:
xbps-install -y coreutils file mc

firstrib.plug can contain as many commandlines as you wish done. If no firstrib.repo or firstrib.plug files are provided, the firstrib build script will work by default as it did for previous version.

NOTE that you can use alternative module plugin files having any filenames you like.
To get build_firstrib_rootfs*.sh to use one of these alternatives, instead of optional firstrib.plug, you should specify its file name as an argument when running the build script. For example:
Code:
./build_firstrib_rootfs-i686.sh mybuild1.plug


Hopefully, you will upload your firstrib.plug creations so others can copy your special firstrib builds.
There should be no need to modify build_firstrib_rootfs*.sh itself with this plugin facility.

See next post for attached simple exemplars for firstrib.repo and firstrib.plug:

http://www.murga-linux.com/puppy/viewtopic.php?p=1028957#1028957


BUILDING FirstRib

Two versions of FirstRib buildscript (build_firstrib_rootfs) are provided: one for x86_64 systems, and one for i686 32-bit systems.
The scripts are purposively simple by design (no error checking).

To build FirstRib rootfs you just run the system-appropriate script (x86_64 or i686), as root user, from an otherwise empty directory (build_firstrib-rootfs, mount_chroot.sh and umount_chroot.sh scripts have to be put in there before using them).
Make sure all of these scripts are made executable before trying to run them (e.g. chmod +x ./build_firstrib-rootfs-*.sh).
Then, to make build simply open a terminal and cd into the directory where the build script is and enter command:

Code:
./build_firstrib rootfs-i686.sh
if building on a 32bit system, or

Code:
./build_firstrib_routfs-x86_64.sh
if building on a 64bit system.

It only takes a few minutes to build...

USAGE:

To chroot into the resultant firstrib_rootfs/ simply execute the provided shell script:

Code:
./mount_chroot.sh


Once you are finished using FirstRib simply enter the command:

Code:
exit


from the console you are working from, and then, to clean up the chroot bind mounts, enter command:

Code:
./umount_chroot.sh


It is recommended that, in addition to examining/reading the build_firstrib_rootfs shell script to see how it works (around 40 lines of code plus the rest being comment/explanations), you similarly also examine the scripts mount_chroot.sh and umount_chroot.sh. These are only a few lines of code each.
-----------------------------------

The x86_64 build has been tested on XenialDog64 and BionicPup64 but most recent 64 bit systems would do.
The i686 build has been tested on XenialDog32 but most recent 32-bit systems would do as a host. You could even build FirstRib on Void Linux itself (or inside an already working FIrstRib come to that!...)

Note, that this release produces a root filesystem only. As such it contains and needs no firmware of
its own as yet, since it is designed to be run in a host system container or chroot. The host system
thus provides the required internet connectivity (via ethernet or wifi or whatever host provides).

Installing additional apps in FirstRib: building up the system

To buiild the system to what you require you need to sync it with upstream repos and then install whatever apps you want using the provided xbps package manager.

For example, to Sync/update the repos and then
install midnight commander file-manager, you could enter the command:
Code:
xbps-install -Su mc


If you want to install bash, you will also need to install tiny package ncurses-base if you want backspace key to work correctly (or you can install full ncurses instead, which has ncurses-base as a dependency). ncurses-base includes the required /usr/share/terminfo directory:

Code:
xbps-install -S bash ncurses-base


Or if you want to immediately build a Void Linux base system:

See this post here:

http://www.murga-linux.com/puppy/viewtopic.php?p=1029049#1029049

Looking inside an xbps package:

By default, xbps keeps copies of the installation packages it downloads in directory /var/cache/xbps. You can safely delete these to save space, or if you want to see what is inside an xbps package, they are simply tarred up and compressed (by xz I think). You can therefore unpack and look inside by copying the package.xbps to an empty directory and then using:

Code:
tar xvf packagename.xpbs


Once you have finished working with FirstRib, you enter the command exit to leave the chroot shell, and then clean up the bind mounts. The attached convenience script, "umount_chroot.sh", can be used after the exit if you wish.
-------------------------------------

So this is the first of a modular build system. Later (maybe much later) I intend to create an initramfs using this firstrib_rootfs and a suitable init such that it can be booted on its own with modular suitable firmware/modules with compatible kernel and providing save persistence. Of course, when running under a chroot, as now, it behaves like a full install so everything done gets saved anyway...

Note that, I have not pruned the system for size.
By default Void provides many libs un-stripped, includes docs and man pages for each package, and keeps a copy of downloaded .xbps install files under /var/cache/xbps. Leaving these in helps with future development but bloats the size somewhat. You can of course strip these parts out in your own experiments/designs based on FirstRib (which is also a precursor of my distro called "WeeDog" that I am working on).

wiak

https://github.com/firstrib/firstrib

In practice all firstrib-related scripts provided are to be used, per normal disclaimer: at your own risk.
mount_chroot.sh.tar
Description  ver 0.0.4; remove the dummy tar and chmod +x
tar

 Download 
Filename  mount_chroot.sh.tar 
Filesize  1.41 KB 
Downloaded  6 Time(s) 
umount_chroot.sh.tar
Description  ver 0.0.4; remove the dummy tar and chmod +x
tar

 Download 
Filename  umount_chroot.sh.tar 
Filesize  762 Bytes 
Downloaded  6 Time(s) 
build_firstrib_rootfs-x86_64.sh.tar
Description  ver 0.0.4; remove the dummy tar and chmod +x
tar

 Download 
Filename  build_firstrib_rootfs-x86_64.sh.tar 
Filesize  6.31 KB 
Downloaded  12 Time(s) 
build_firstrib_rootfs-i686.sh.tar
Description  ver 0.0.4; remove the dummy tar and chmod +x
tar

 Download 
Filename  build_firstrib_rootfs-i686.sh.tar 
Filesize  6.24 KB 
Downloaded  15 Time(s) 

_________________
Tiny Linux Blog: http://www.tinylinux.info/
makepup: http://www.murga-linux.com/puppy/viewtopic.php?p=965541
tinycore/slitaz: http://www.murga-linux.com/puppy/viewtopic.php?p=990130#990130

Last edited by wiak on Mon 10 Jun 2019, 08:10; edited 78 times in total
Back to top
View user's profile Send private message 
wiak

Joined: 11 Dec 2007
Posts: 1398
Location: not Bulgaria

PostPosted: Fri 24 May 2019, 02:10    Post subject:  

Simple exemplars for firstrib.repo and firstrib.plug attached.

Both these text config files are optional.

You can put as many commandlines you want executed during the chroot part of the firstrib build into firstrib.plug

Note that neither firstrib.repo or firstrib.plug are shell scripts per se. They are just text files containing commandlines (which will be sourced by the main build_firstrib_rootfs script). They must not therefore contain any shell script hash bang header line.

When using xbps-install inside firstrib.plug you should remember to use option -y (for yes) to tell xbps that you want the installation completed without asking further (otherwise build_firstrib_rootfs*.sh will simply abort on that file and not install it).

wiak
firstrib.plug.tar
Description  remove the dummy tar and place in build_firstrib*.sh directory
tar

 Download 
Filename  firstrib.plug.tar 
Filesize  95 Bytes 
Downloaded  11 Time(s) 
firstrib.repo.tar
Description  remove the dummy tar and place in build_firstrib*.sh directory
tar

 Download 
Filename  firstrib.repo.tar 
Filesize  42 Bytes 
Downloaded  10 Time(s) 

_________________
Tiny Linux Blog: http://www.tinylinux.info/
makepup: http://www.murga-linux.com/puppy/viewtopic.php?p=965541
tinycore/slitaz: http://www.murga-linux.com/puppy/viewtopic.php?p=990130#990130

Last edited by wiak on Mon 03 Jun 2019, 19:04; edited 3 times in total
Back to top
View user's profile Send private message 
wiak

Joined: 11 Dec 2007
Posts: 1398
Location: not Bulgaria

PostPosted: Fri 24 May 2019, 02:10    Post subject:  

reserved
_________________
Tiny Linux Blog: http://www.tinylinux.info/
makepup: http://www.murga-linux.com/puppy/viewtopic.php?p=965541
tinycore/slitaz: http://www.murga-linux.com/puppy/viewtopic.php?p=990130#990130
Back to top
View user's profile Send private message 
wiak

Joined: 11 Dec 2007
Posts: 1398
Location: not Bulgaria

PostPosted: Fri 24 May 2019, 02:11    Post subject:  

reserved

Please find FirstRib build script in first post of this thread.

_________________
Tiny Linux Blog: http://www.tinylinux.info/
makepup: http://www.murga-linux.com/puppy/viewtopic.php?p=965541
tinycore/slitaz: http://www.murga-linux.com/puppy/viewtopic.php?p=990130#990130
Back to top
View user's profile Send private message 
wiak

Joined: 11 Dec 2007
Posts: 1398
Location: not Bulgaria

PostPosted: Fri 24 May 2019, 21:01    Post subject:  

So where from here?

Well, there are lots of options.

First it is probably good to create a root user account for /etc/passwd and /etc/group (I'll likely do this for next version of FirstRib build script):

EDIT: Don't do the following... It is correctly done using the base-files package, which build_firstrib_rootfs now installs by default (base-files package automatically creates initial /etc/passwd and group members):
Code:
echo "root:x:0:" >/etc/group
echo "root::0:0:FirstRib Admin:/root:/bin/sh" >/etc/passwd


(though you don't need to).

I'm planning to keep/make the system multi-user since I've always found that to be an unnecessary weakness of old Puppy.

Easiest is to simply use adduser, addgroup commands of busybox, but you could install package 'shadow' and set up shadow passwords (which comes with PAM authentication as a dependency) if you wish. For now, lets go simple/less-secure:

Code:
adduser puppy


You probably thinking you want X windows already. I'm resisting that until I've made an initramfs of my liking and have FirstRib booting on its own. But if you want, I think you'd need to install something like:
Code:
xbps-install -S xorg-minimal xorg-fonts xf86-input-synaptics xf86-video-intel


depending on your hardware, and then add a window manager of your choice, but I'll come back to all this later, since I'll have to try it myself too...

and, assuming you have installed at least fonts, you could similarly, as an X app example:

Code:
xbps-install -S leafpad


So it is all pretty trivial to expand...

Also, there are other ways of constructing the original FirstRib (such as installing xpbs from sources) so I may or may not be experimenting with that first. What I'm provided thus far is just the result of my initial experiments... You can always of course use the several rootfs possibilities Void Linux upstream provides itself - but that would defeat the purpose of building your own specially configured/tuned one. More easy to learn a lot from such small beginnings.

More to come.

wiak

EDIT: Like any distro build work, you want to have plenty free space on your system of course; the distro will grow... A few GB free is good I expect. For booting on its own, your going to need firmware, which is a bit of a size issue since the Void package linux-firmware being general purpose is pretty huge (around 80MB compressed, 500MB uncompressed!) so will be good later to identify own firmware and arrange only to include that. Remember Void packages include docs and everything and some things remain unstripped so that is another issue to work on (a distro stripper utility). Also, xorg-minimal isn't at all small! so if you are musher0 and want an anorexic distro you'd need to investigate a smaller Xvesa or tinyX kind of package addon (you can easily use your own xbps package repo with Void Linux using the xbps-rindex command to set it up). There is a lot of fun to be had from these simple beginnings/learning though - worry about distro size/stripping later...

_________________
Tiny Linux Blog: http://www.tinylinux.info/
makepup: http://www.murga-linux.com/puppy/viewtopic.php?p=965541
tinycore/slitaz: http://www.murga-linux.com/puppy/viewtopic.php?p=990130#990130

Last edited by wiak on Tue 04 Jun 2019, 22:21; edited 6 times in total
Back to top
View user's profile Send private message 
wanderer

Joined: 20 Oct 2007
Posts: 1085

PostPosted: Fri 24 May 2019, 22:15    Post subject:  

hi wiak

very cool

so core plus package manager ?

from the void repositories

i have to look up void


edit i used your links to read about void

still reading


wanderer

Last edited by wanderer on Fri 24 May 2019, 22:36; edited 2 times in total
Back to top
View user's profile Send private message 
wiak

Joined: 11 Dec 2007
Posts: 1398
Location: not Bulgaria

PostPosted: Fri 24 May 2019, 22:15    Post subject:  

In previous post I suggesting using useradd, but it isn't in FirstRib by default (only busybox adduser), but I've found the Void package it is in:

Code:
xbps-install -S shadow

_________________
Tiny Linux Blog: http://www.tinylinux.info/
makepup: http://www.murga-linux.com/puppy/viewtopic.php?p=965541
tinycore/slitaz: http://www.murga-linux.com/puppy/viewtopic.php?p=990130#990130
Back to top
View user's profile Send private message 
wiak

Joined: 11 Dec 2007
Posts: 1398
Location: not Bulgaria

PostPosted: Fri 24 May 2019, 22:23    Post subject:  

Just play with FirstRib system wanderer. Just need to run the build... script from a terminal starting from an empty directory on your system. (choose either 64bit or 32bit build script depending on your system. Then from same terminal, you can run FirstRib in a chroot simply by running the provided startup script ./mount_chroot

You can then add/remove whatever packages you like (see my post a few posts above for suggestions). For example:

Code:
xbps-install -Su
xbps-install -S bash
xbps-install -S file
xbps-install -S shadow


or more simply, if you want them all:

Code:
xbps-install -Su bash file shadow


Basics of using the package manager here:

https://wiki.voidlinux.org/XBPS#Basic_Usage

Once finished, enter exit command, and then, from same terminal cleanup by running provided script ./umount_chroot. The scripts are all just a few lines long, so you should examine them to see how it all works.

Like I said in first post, FirsRib builds in a few short minutes (your host Linux machine needs Internet connection of course.

Please let me know if you don't understand anything or run into problems at this stage.

wiak

_________________
Tiny Linux Blog: http://www.tinylinux.info/
makepup: http://www.murga-linux.com/puppy/viewtopic.php?p=965541
tinycore/slitaz: http://www.murga-linux.com/puppy/viewtopic.php?p=990130#990130

Last edited by wiak on Thu 30 May 2019, 03:59; edited 1 time in total
Back to top
View user's profile Send private message 
wanderer

Joined: 20 Oct 2007
Posts: 1085

PostPosted: Fri 24 May 2019, 22:34    Post subject:  

hi wiak

just ran it
built fine
very fast

edit: unbelievably tiny script
unbelievable

very cool

will continue to play and learn
and report

wanderer
Back to top
View user's profile Send private message 
wiak

Joined: 11 Dec 2007
Posts: 1398
Location: not Bulgaria

PostPosted: Fri 24 May 2019, 23:50    Post subject:  

FirstRib working okay, but I'm currently stumped on adding new users. I don't know anything about that in terms of a built from scratch system - I presume it can be done in a chroot, but I don't know (nah, surely you can - doesn't make sense not to be able to). Maybe something I have to install first... or configure...??? That part I'll have to come back to later... Gives me something to keep me busy anyway. If anyone knows/finds howto about that, please let me know.

Busy cooking now. I'll get back to this in a few hours! Smile

wiak

_________________
Tiny Linux Blog: http://www.tinylinux.info/
makepup: http://www.murga-linux.com/puppy/viewtopic.php?p=965541
tinycore/slitaz: http://www.murga-linux.com/puppy/viewtopic.php?p=990130#990130
Back to top
View user's profile Send private message 
watchdog

Joined: 28 Sep 2012
Posts: 1824
Location: Italy

PostPosted: Sat 25 May 2019, 00:45    Post subject:  

I have been keeping experimenting with a precise chroot jail taking suggestions from this thread and rufwoof posts.

http://www.murga-linux.com/puppy/viewtopic.php?p=1018462#1018462

Here is a collection of scripts to run some software from every puppy in the jail:

audacitychroot:

Code:
#!/bin/sh
export LC_ALL=C
mount --bind /dev /mnt/sdb1/cnt/dev
mount --bind /proc /mnt/sdb1/cnt/proc
mount --bind /sys /mnt/sdb1/cnt/sys
mount -t devpts devpts /mnt/sdb1/cnt/dev/pts
xhost +
mkdir -p /mnt/sdb1/cnt/tmp/.X11-unix
mount --bind /tmp/.X11-unix /mnt/sdb1/cnt/tmp/.X11-unix
chroot /mnt/sdb1/cnt audacity "$@"


firefoxchroot:

Code:
#!/bin/sh
export LC_ALL=C
mount --bind /dev /mnt/sdb1/cnt/dev
mount --bind /proc /mnt/sdb1/cnt/proc
mount --bind /sys /mnt/sdb1/cnt/sys
mount -t devpts devpts /mnt/sdb1/cnt/dev/pts
cp /etc/resolv.conf /mnt/sdb1/cnt/etc/resolv.conf
mount --rbind /etc/machine-id /mnt/sdb1/cnt/etc/machine-id
xhost +
mkdir -p /mnt/sdb1/cnt/tmp/.X11-unix
mount --bind /tmp/.X11-unix /mnt/sdb1/cnt/tmp/.X11-unix
chroot /mnt/sdb1/cnt firefox "$@"


palemoonchroot:

Code:
#!/bin/sh
export LC_ALL=C
mount --bind /dev /mnt/sdb1/cnt/dev
mount --bind /proc /mnt/sdb1/cnt/proc
mount --bind /sys /mnt/sdb1/cnt/sys
mount -t devpts devpts /mnt/sdb1/cnt/dev/pts
cp /etc/resolv.conf /mnt/sdb1/cnt/etc/resolv.conf
xhost +
mkdir -p /mnt/sdb1/cnt/tmp/.X11-unix
mount --bind /tmp/.X11-unix /mnt/sdb1/cnt/tmp/.X11-unix
chroot /mnt/sdb1/cnt palemoon "$@"


xsanechroot:

Code:
#!/bin/sh
export LC_ALL=C
mount --bind /dev /mnt/sdb1/cnt/dev
mount --bind /proc /mnt/sdb1/cnt/proc
mount --bind /sys /mnt/sdb1/cnt/sys
mount -t devpts devpts /mnt/sdb1/cnt/dev/pts
cp /etc/resolv.conf /mnt/sdb1/cnt/etc/resolv.conf
mount --rbind /etc/machine-id /mnt/sdb1/cnt/etc/machine-id
mount --rbind /etc/gtk-2.0/gdk-pixbuf.loaders /mnt/sdb1/cnt/etc/gtk-2.0/gdk-pixbuf.loaders
xhost +
mkdir -p /mnt/sdb1/cnt/tmp/.X11-unix
mount --bind /tmp/.X11-unix /mnt/sdb1/cnt/tmp/.X11-unix
chroot /mnt/sdb1/cnt xsaneshell "$@"


cupschroot:

Code:
#!/bin/sh
export LC_ALL=C
/etc/init.d/cups stop
mount --bind /dev /mnt/sdb1/cnt/dev
mount --bind /proc /mnt/sdb1/cnt/proc
mount --bind /sys /mnt/sdb1/cnt/sys
mount -t devpts devpts /mnt/sdb1/cnt/dev/pts
mount --bind /mnt/sdb1/cnt/var/run/cups /var/run/cups
mount --bind /mnt/sdb1/cnt/var/spool/cups /var/spool/cups
cp /etc/resolv.conf /mnt/sdb1/cnt/etc/resolv.conf
xhost +
mkdir -p /mnt/sdb1/cnt/tmp/.X11-unix
mount --bind /tmp/.X11-unix /mnt/sdb1/cnt/tmp/.X11-unix
mount -t tmpfs -o size=10M tmpfs /var/spool/cups
chroot /mnt/sdb1/cnt /etc/init.d/cups start


closechroot:

Code:
#!/bin/sh
umount /mnt/sdb1/cnt/tmp/.X11-unix
umount /mnt/sdb1/cnt/sys
umount /mnt/sdb1/cnt/proc
umount /mnt/sdb1/cnt/dev/pts
umount /mnt/sdb1/cnt/dev
#umount /mnt/sdb1/cnt/etc/gtk-2.0/gdk-pixbuf.loaders
#umount /mnt/sdb1/cnt/etc/machine-id
#umount /var/run/cups
#rm /var/spool/cups/tmpfs
#umount /var/spool/cups
xhost -
Back to top
View user's profile Send private message 
wiak

Joined: 11 Dec 2007
Posts: 1398
Location: not Bulgaria

PostPosted: Sat 25 May 2019, 05:08    Post subject:  

Okay, I have the shadow passwd thing worked out now. I'll just double-check a few details and then fix the post above. I will probably add a small part of it to FirstRib build script (but not all since I want to keep a basic core FirstRib and extras to be added as additional module).
wiak

_________________
Tiny Linux Blog: http://www.tinylinux.info/
makepup: http://www.murga-linux.com/puppy/viewtopic.php?p=965541
tinycore/slitaz: http://www.murga-linux.com/puppy/viewtopic.php?p=990130#990130
Back to top
View user's profile Send private message 
wiak

Joined: 11 Dec 2007
Posts: 1398
Location: not Bulgaria

PostPosted: Sat 25 May 2019, 06:09    Post subject:  

To keep things simple, I decided not to bother with shadow passwords and PAM authentication in earlier post on setting up a puppy user:

http://www.murga-linux.com/puppy/viewtopic.php?p=1029018#1029018

but for those who want it, follow same step of creating /etc/passwd and /etc/group as in above link.

Then install shadow package (with includes PAM authenication):

Code:
xbps-install -S shadow


Then you can turn on passwd shadowing with the command:

Code:
pwconv


and, if you wish, group shadowing, with the command:

Code:
grpconv


That shifts the user passwd to /etc/shadow, which is only readable by root user. If you run into any problems setting that up, just let me know and I'll try and sort out your issue.

You can find some good info on this here:

https://www.techrepublic.com/article/how-to-create-users-and-groups-in-linux-from-the-command-line/

https://www.dell.com/support/article/nz/en/nzdhs1/sln86183/how-do-i-enable-shadow-passwords-after-installing-redhat-linux-technical-tip-148359?lang=en

https://www.dell.com/support/article/nz/en/nzdhs1/sln86183/how-do-i-enable-shadow-passwords-after-installing-redhat-linux-technical-tip-148359?lang=en

wiak

_________________
Tiny Linux Blog: http://www.tinylinux.info/
makepup: http://www.murga-linux.com/puppy/viewtopic.php?p=965541
tinycore/slitaz: http://www.murga-linux.com/puppy/viewtopic.php?p=990130#990130
Back to top
View user's profile Send private message 
wiak

Joined: 11 Dec 2007
Posts: 1398
Location: not Bulgaria

PostPosted: Sat 25 May 2019, 07:17    Post subject:  

A little tip if you are in a hurry.

It is pretty easy to make FirstRib into a full Linux Void root filesystem. Or a smaller one that contains a pre-selected range of packages to get you going. That ability is also useful for finding the names of packages used in Void Linux too in case you just want to use your own subset.

Some of the packages available from the Void Linux repos are templates /metapackages that simply bring down dependencies to help build different sizes of Void Linux systems. So you can use FirstRib same way you might use debootstrap from Debian and then script around the result such as fredx181 did with his mklive-Stretch debian scripts.

For example, here is a template for a 'minimum' system (just check out the 'dependencies' shown: these are the packages it will install):

https://github.com/void-linux/void-packages/blob/master/srcpkgs/base-minimal/template

You'll get all of these simply be issuing command:

Code:
xbps-install -R base-minimal


Also available is:

base-system (this is much bigger)
base-chroot
base-devel
base-files
base-voidstrap

You have to check them out to see what the difference is. For example:

https://github.com/void-linux/void-packages/blob/master/srcpkgs/base-devel/template

or use the wonderful xbps-query command to view dependencies/template-contents from FirstRib prompt. For example:

Code:
xbps-query -Rx base-system | less


I don't know much about Void Linux myself yet. I'm just picking this info up as I go along playing with FirstRib, which is so fast and easy to install on my existing XenialDog or Puppy system...

wiak

EDIT: If you are interested in light-weight container implementation, void repos can provide that too:

https://voidlinux.org/news/2017/12/advent-containers.html

and here is some further nice docs on void:

http://www.troubleshooters.com/linux/void/

I'll start thinking about some alternative initramfs modules now so FirstRib can be booted standalone with save persistence using overlayfs. I'll likely be a (long) while contemplating possibilities for that though so invent your own meantime!

_________________
Tiny Linux Blog: http://www.tinylinux.info/
makepup: http://www.murga-linux.com/puppy/viewtopic.php?p=965541
tinycore/slitaz: http://www.murga-linux.com/puppy/viewtopic.php?p=990130#990130
Back to top
View user's profile Send private message 
wanderer

Joined: 20 Oct 2007
Posts: 1085

PostPosted: Sat 25 May 2019, 13:12    Post subject:  

hi wiak

i am trying to build your system and reading about void

looks great

really powerful but understandable


thanks for doing this


wanderer
Back to top
View user's profile Send private message 
Display posts from previous:   Sort by:   
Page 1 of 7 [91 Posts]   Goto page: 1, 2, 3, 4, 5, 6, 7 Next
Post new topic   Reply to topic View previous topic :: View next topic
 Forum index » Advanced Topics » Puppy Projects
Jump to:  

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
[ Time: 0.0724s ][ Queries: 12 (0.0084s) ][ GZIP on ]