LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 06-14-2005, 01:28 AM   #1
ta0kira
Senior Member
 
Registered: Sep 2004
Distribution: FreeBSD 9.1, Kubuntu 12.10
Posts: 3,078

Rep: Reputation: Disabled
Interested in a (physically) portable version of Slackware?


I've been thinking a lot lately that 1) I'm tired of having one of my Slack boxes configured to how I want it and the other just a generic system, 2) how I would like for them both to be configured the same without duplicating every config change, and 3) how I would like to have the same profiles on both systems. I've been going over this in my head for a day or 2, and I've been kicking around some scripts, and I've decided to make an adaptation to my Slack 10.0 distro so that I can port the maximum amount of the distro possible (i.e. /usr, /usr/local, /home, /opt, parts of /etc) around on a non-bootable mini external hd while leaving the bare minimum amount of data (i.e. /boot, /var, parts of /etc, etc.) on each workstation. This would 1) allow for all workstations to be configured the same (with the exception of hardware), 2) allow room on each workstation for an entire other distribution. I'm also trying to work out having some sort of "ports tree" (inspired by FreeBSD) on a separate device so that I can build a full set of binaries/libs for any new Linux kernel and add it to my portable drive with a few simple commands. Initially all of this will require a stripped Slack 10.0 install on each workstation and will convert the workstation so that it can use the portable installation. Also initially, it would really only work for stand-alone workstations (until I get good at networking). Right now it is at the conceptualization point, but I think it will come along fairly fast. Would anyone be interested in the end result? I plan to post it to SourceForge.net when it's done, but right now I am just looking to see if anyone would be interested. And of course, in the future I'll try to adapt it to other distros, but for now all I have is Slack 10.0. Thanks!
ta0kira
 
Old 06-14-2005, 08:46 PM   #2
Tinkster
Moderator
 
Registered: Apr 2002
Location: earth
Distribution: slackware by choice, others too :} ... android.
Posts: 23,067
Blog Entries: 11

Rep: Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928
Well ... one big conceptual flaw is that with that
method you can only have one of the boxes going
with Slack at a time, and you'll eventually end up doing
the same thing for all your other distros, too ...

Another issue would be if you optimize packages
for one machine - will they still work on the others?

A similar result could be achieved (a grunty server
and good network hardware provided) using NIS2
and bootp/dhcp ... or have a minimal slack install
on all boxen, and put stuff that didn't come with
Slack in /usr/local and have that and /home on the
net.


Cheers,
Tink
 
Old 06-15-2005, 01:12 AM   #3
ta0kira
Senior Member
 
Registered: Sep 2004
Distribution: FreeBSD 9.1, Kubuntu 12.10
Posts: 3,078

Original Poster
Rep: Reputation: Disabled
Yes, I've thought about the not being able to run more than one system issue. I would have room for another distro on each system though so they just wouldn't be able to run the portable distro at the same time. It seems like it will be a huge PITA to port /usr, but only porting /usr/local sounds like a good idea. This is mostly because the portable drive I have is USB and therefore needs hotplug to start, which comes after syslog daemons, both of which use /usr. Making all mentioned in my previous post (minus /usr) portable would be pretty easy. I don't have the means to set up a network right now, and that would require me to run 2 computers just to use one (not to mention that I can't travel with my profiles). Regardless of how I end up going about it, isolating /home and /usr/local would allow me to only use at max 3GB per workstation, leaving plenty of room for another install on each. The main reason I want to "take it with me" is because all of my files are on my laptop, which is set up and tracked how I want it, because when I travel I want access to my entire system. In contrast, my home PC has minimal configuration, and only has "me" files temporarily when I'm testing an application I wrote. I can't stand trying to duplicate config changes and upgrades, and it makes me uncomfortable to have a parallel system of users and passwords. Back to your networking idea; if I configured my home PC to share the portable mounts at a later time then I could have both systems running the same profiles at the same time. I guess what it comes down to is that I can't separate /usr from the install in a reliable way, but there is plenty of other (easier and larger) things to tote around with me. Thanks.
ta0kira

PS Regarding the CPU optimization: I had planned to create a source tree and some scripts to automatically duplicate binaries/libs based on each kernel/gcc version, so I guess I could just extend that so that it creates new binaries based on the workstation, while keeping shared config files (except hardware-specific stuff). That was another reason I wanted to make /usr portable; my plan was to store a separate tree for each kernel, to be mounted based on the kernel loaded so that I could alternate kernels without having to rebuild anything.
 
Old 06-15-2005, 02:44 PM   #4
Tinkster
Moderator
 
Registered: Apr 2002
Location: earth
Distribution: slackware by choice, others too :} ... android.
Posts: 23,067
Blog Entries: 11

Rep: Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928
Quote:
Originally posted by ta0kira
Yes, I've thought about the not being able to run more than one system issue. I would have room for another distro on each system though so they just wouldn't be able to run the portable distro at the same time. It seems like it will be a huge PITA to port /usr, but only porting /usr/local sounds like a good idea. This is mostly because the portable drive I have is USB and therefore needs hotplug to start, which comes after syslog daemons, both of which use /usr.
You could easily work around that with a initrd that has USB support built in ;)



Cheers,
Tink
 
Old 06-15-2005, 03:41 PM   #5
rayburn
Member
 
Registered: Jul 2004
Posts: 33

Rep: Reputation: 16
I, for one, would be very interested in this, if you are successful. I do not have the skills to undertake anything like that project yet (maybe oneday, I'm only a relative newbie!), so would be extremely grateful for any developments on this front. Thanks for offering to share your talents.
 
Old 06-15-2005, 04:00 PM   #6
Tinkster
Moderator
 
Registered: Apr 2002
Location: earth
Distribution: slackware by choice, others too :} ... android.
Posts: 23,067
Blog Entries: 11

Rep: Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928
we all do - that's the beauty of OSS and the community


Cheers,
Tink
 
Old 06-16-2005, 12:38 AM   #7
ta0kira
Senior Member
 
Registered: Sep 2004
Distribution: FreeBSD 9.1, Kubuntu 12.10
Posts: 3,078

Original Poster
Rep: Reputation: Disabled
I've successfully got myself setup with /home and /usr/local on a portable drive. It's automatically set up in rc.local by calling a script that parses a config file for the devices and mount points. It really didn't take long at all. I'm having trouble adding comments to the config file though (asking question in Programming).

I'm also working on a portable mirror to /etc to export the user and group information. That shouldn't take long really. I've got a script already that will symlink the mirror and backup the files it replaces. It would be a drag-and-drop tree; just drag the file you want to be portable and run the update script on each workstation so that it uses the portable file.

Quote:
You could easily work around that with a initrd that has USB support built in
How would I do that? Thanks.

Also mostly done is the source tree; just needs standardization and scripts. Then of course I need to write scripts to create a new workstation and to create the portable system (should be pretty easy also). Thanks for your interest!
ta0kira
 
Old 06-25-2005, 11:36 AM   #8
ta0kira
Senior Member
 
Registered: Sep 2004
Distribution: FreeBSD 9.1, Kubuntu 12.10
Posts: 3,078

Original Poster
Rep: Reputation: Disabled
I finally got it done https://sourceforge.net/projects/extport-ta0kira/! The actual system has been done for a week or so, but I've been working on instructions and making it more flexible.

The basic idea is that you keep your /home and /usr/local separate from the rest of your system and off of your fstab so that you can use it on more than one system. If you don't happen to have your device with /home and /usr/local attached then the system will automatically perform operations of your choice (such as mounting other partitions in their place).

Within the portable system is a /usr/local tree for each kernel you load the system under. This can be changed so that it is a different tree based on CPU, compiler, etc. When you start your computer, the system will automatically mount the correct /usr/local tree based on your configuration.

I've hastily written some build scripts to go with a source tree on the portable system so that you can build a new binary tree right there if you start using another kernel. You can always use the same binary tree for more than one kernel through a simple symlink, though.

The last thing is the ability to mirror directories on your workstation with files on your portable system. This allows you to take parts of your configuration along with you to each workstation.

I did my best to make this a fairly safe system. As long as you don't use it for anything you wouldn't do normally it should work just fine. This is 100% bash scripts and text files using only standard GNU tools; no binaries or special packages (I plan to keep it that way, too).

Right now it's set up to initialize fairly late in the startup process, but I'll work on getting it to start earlier so that more of the configuration can be made portable. I've got Slackware 10.0 on both of my systems, but this should work with other distros by changing the paths of the scripts used for starting the system (right now it's /etc/rc.d/rc.local). Thanks for your interest in my work!
ta0kira
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Interested in switching full-time to Slackware Matt.Ramos Linux - Newbie 21 07-16-2005 10:18 AM
Interested in Slackware Forum. muskrat LinuxQuestions.org Member Intro 4 02-19-2005 10:30 PM
slackware startx starts the wrong version, i didn't even know i had another version edman007 Linux - Software 3 05-16-2004 07:38 PM
Interested in Slackware...your thoughts? tarballed Slackware 17 05-20-2003 12:31 AM
[tool] Are you interested in a Slackware keyboard configurator for Latin-1 speakers? vfs Slackware 0 04-25-2002 01:20 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 09:09 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration