Introducing StripSlack, a minimal configuration of Slackware
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
It seems the StripSlack scripts/tagfiles have been removed from the site (getting 404s when using the direct link). Anybody know where I can get a copy of this now/have a copy they can send me?
I'm planning to redo them. Everything was in a half-finished state, and since I have more urgent things to do before, I decided to take it down and finish everything as soon as I have the time.
This tutorial contains a list of all the core packages to get a bootable Slackware.
You can strip it even more:
* ed can replace elvis, way too heavy
* ship only kernel-huge-smp and kernel-modules-smp
* you don't need sysvinit-functions
Bon ce que j'en dis, c'est histoire de causer[1]
[1]untranslatable, sorry.
Expect more constructive comments in the coming days.
I'm planning to redo them. Everything was in a half-finished state, and since I have more urgent things to do before, I decided to take it down and finish everything as soon as I have the time.
This tutorial contains a list of all the core packages to get a bootable Slackware.
I've uploaded a first set of tagfiles for "core". And I'm actually busy figuring out the needed packages for "minimal". Once I have a workable "minimal" installation, I'll upload the corresponding tagfiles, and I suggest we all start from here to test and discuss this further: what to include, what to leave out, ...
Not sure if this helps, but I have a set of tagfiles[1] I use for building stuff like LinuxFromScratch from. It's a bit heavier than what you are working on, but I've had good luck building from it. I am also able to use basic networking on it. Mostly, these tagfiles have been used in qemu virtual machines.
Generally, I make an installation to a master image, then clone that image for actual work/testing.
I was wondering, when you say "Connect to a network" in the HOWTO (for features to be added to the Minimal branch), I'm assuming you're referring to Wired and not Wireless? Either way, I'd be more than happy to do any testing on my laptop with a spare hard drive.
I was wondering, when you say "Connect to a network" in the HOWTO (for features to be added to the Minimal branch), I'm assuming you're referring to Wired and not Wireless? Either way, I'd be more than happy to do any testing on my laptop with a spare hard drive.
Yes, this only concerns a wired connection, since this minimal installation is only interesting for servers.
Not sure if this helps, but I have a set of tagfiles[1] I use for building stuff like LinuxFromScratch from. It's a bit heavier than what you are working on, but I've had good luck building from it. I am also able to use basic networking on it. Mostly, these tagfiles have been used in qemu virtual machines.
Generally, I make an installation to a master image, then clone that image for actual work/testing.
One word of advice: try to edit your tagfiles like I do by regrouping the ADD and SKP sections. Thus you can see in a single glance what's added and what's left out.
One word of advice: try to edit your tagfiles like I do by regrouping the ADD and SKP sections. Thus you can see in a single glance what's added and what's left out.
Thanks. I must admit, when perusing your tagfiles, that method makes for easier reading. I will try to get to it tonight.
EDIT:
Just pushed the changes. Thanks again for the suggestion.
I also found another, slightly fuller, set in my local repo (had forgotten about it). Added same changes and added to my repo.
Original is bare_dev and other is mini_dev.
I wrote this little script for separating the ADD and SKP entries into sections:
Code:
#!/bin/sh
for f in */tagfile ; do
sed -n '/ADD/p' $f > ${f}.add
sed -n '/SKP/p' $f > ${f}.skp
if [ -s ${f}.add ]; then
printf '# Add\n' > ${f}.new
cat ${f}.add >> ${f}.new
fi
if [ -s ${f}.skp ]; then
if [ -s ${f}.new ]; then
printf '\n' >> ${f}.new
fi
printf '# Skip\n' >> ${f}.new
cat ${f}.skp >> ${f}.new
fi
if [ -s ${f}.new ]; then
mv ${f}.new $f
else
rm ${f}.new
fi
rm ${f}.add ${f}.skp
done
Interesting! How about adding a list with packages needed to for development?
StripSlack, LFSlack and BLFSlack don't provide the ability to build packages yourself, while this is one of the most usefull feature on a LFS-system.
Adding all devel packages might be a bit silly.
In the past I did some experimenting by starting from a stripped slackware-current and rebuilding/upgrading all base-packages. The biggest problem I faced was finding the build-dependencies for certain packages.
Now I just use LFS with pkgutils using either manualix' Pkgfiles, Nutyx' or CRUX'.
Interesting! How about adding a list with packages needed to for development?
I thought about it, then decided against it. The final scope of this reduced system is to provide a minimal and sane base for servers (public or LAN). On the other hand, it shouldn't be too hard to add gcc, make, autoconf etc. to the minimal system if you want to build stuff.
Now to something different.
I just wrote a first - and already usable - draft of the "minimal" tagfiles. Use them like the core.tar.gz tagfiles, only replace "core" by "minimal":
Code:
# cd /tag
# wget http://www.microlinux.fr/slackware/stripslack-14.1/minimal.tar.gz
# tar xvzf minimal.tar.gz
# setup
I also added a very basic dependency checker. I did quite a lot of testing, and the current "minimal" system checks OK: no libraries missing, working network, basic command-line tools. It looks like this is a sane basic system. I'll probably add a handful of carefully selected packages in the days to come.
Thing are now much more simple. The first attempts also had an educational purpose, but I decided to get rid of this and concentrate on something immediately usable.
Why don't you get rid of the kernel-huge packages, as you have the generic ones with mkinitrd. I would also go with elvis or vim, not both of them.
Good idea. I followed both your suggestions and modified the tagfiles accordingly. I also added a caveat section in the README, since building an initrd and switching to the GENERIC kernel before the initial reboot becomes mandatory.
On a side note: the goal of this little project is not to be completely desperate about reducing the size of the installation, but to offer a coherent system that can be used as a base for a server installation.
The question was raised as to whether or not to include some development tools (gcc, make, kernel-source, ...). While the user who raised this may have a point, I think the better solution to keep things sane is to build stuff on a dedicated (virtual) build machine, and then only use the server to actually run the stuff.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.