From: Eric L. <er...@re...> - 2003-02-10 13:30:18
|
Hi, Something very strange happened, it seems that UML is filling my /var but I can't find any files that justify filesystem occupation. My setup is the following : The host system stands on a compact flash, (so it's really short in term of place). I've got a 32Mo /var (/var:tmp is a link to /tp). Without UML the /var occupation is about 15%. With UML it grows is : /dev/hda3 31722 30005 1717 95% /var The UML does almost nothing (a few radius request) and lay in /dev/hda4. If I do a listting of all the files in /var I did not see any big file. So I can not reach 30Mo... On an other machine with about the same configuration (UML on a HD and host on a CF card). I've got the same thing, but this UML does things (web server mail server) and it crash after filling /var on the host. Is there a logical explanation to this ? (or better, something to solve this problem) BR, -- Eric Leblond courriel : er...@re... Computer are like air conditionners, they don't work when windows are open. |
From: Net L. <net...@li...> - 2003-02-10 15:25:35
|
Perhaps you specified /var as the $TMPDIR ? On Mon, 10 Feb 2003, Eric Leblond wrote: > Hi, > > Something very strange happened, it seems that UML is filling my /var > but I can't find any files that justify filesystem occupation. > > My setup is the following : > The host system stands on a compact flash, (so it's really short in term > of place). I've got a 32Mo /var (/var:tmp is a link to /tp). > Without UML the /var occupation is about 15%. > > With UML it grows is : > /dev/hda3 31722 30005 1717 95% /var > The UML does almost nothing (a few radius request) and lay in /dev/hda4. > If I do a listting of all the files in /var I did not see any big file. > So I can not reach 30Mo... > > On an other machine with about the same configuration (UML on a HD and > host on a CF card). I've got the same thing, but this UML does things > (web server mail server) and it crash after filling /var on the host. > > Is there a logical explanation to this ? (or better, something to solve > this problem) > > BR, > > > -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Lonni J Friedman net...@li... Linux Step-by-step & TyGeMo http://netllama.ipfox.com |
From: Eric L. <er...@re...> - 2003-02-10 16:54:01
|
> Perhaps you specified /var as the $TMPDIR ? That's it but as I say in the mail there's a link between /tmp and /var:tmp. I do not understand where and why there's this disk usage : I found no "big" file in /tmp and anywhere else in /var Here's the result of a ls -asl : /var/tmp: 1.0k drwxrwxrwx 3 root root 1.0k Feb 6 17:30 . 1.0k drwxr-xr-x 10 root root 1.0k Oct 14 14:30 .. 1.0k drwxr-xr-x 3 root root 1.0k Feb 4 11:27 screens 0 srwxr-xr-x 1 root root 0 Feb 6 17:29 uml.ctl /var/tmp/screens: 1.0k drwxr-xr-x 3 root root 1.0k Feb 4 11:27 . 1.0k drwxrwxrwx 3 root root 1.0k Feb 6 17:30 .. 1.0k drwx------ 2 root root 1.0k Feb 6 17:30 S-root /var/tmp/screens/S-root: 1.0k drwx------ 2 root root 1.0k Feb 6 17:30 . 1.0k drwxr-xr-x 3 root root 1.0k Feb 4 11:27 .. 0 prw------- 1 root root 0 Feb 6 17:29 537..fw 0 prw------- 1 root root 0 Feb 6 17:31 570.lisos0 -- Eric Leblond courriel : er...@re... Computer are like air conditionners, they don't work when windows are open. |
From: Steven P. <st...@si...> - 2003-02-10 17:12:14
|
On Mon, Feb 10, 2003 at 05:53:26PM +0100, Eric Leblond wrote: > I found no "big" file in /tmp and anywhere else in /var The UML kernel unlinks the file that it uses for memory. You won't find it with ls. Steve -- st...@si... | Southern Illinois Linux Users Group (618)398-7360 | See web site for meeting details. Steven Pritchard | http://www.silug.org/ |
From: Roger B. <ro...@ro...> - 2003-02-10 17:28:10
|
> On Mon, Feb 10, 2003 at 05:53:26PM +0100, Eric Leblond wrote: > > I found no "big" file in /tmp and anywhere else in /var > > The UML kernel unlinks the file that it uses for memory. You won't > find it with ls. You will however be able to find out a lot about it with lsof. 'lsof -c linux' will do the trick. Roger |
From: Daniel H. <dan...@gm...> - 2003-02-10 17:09:49
|
> My setup is the following : > The host system stands on a compact flash, (so it's really short in term > of place). I've got a 32Mo /var (/var:tmp is a link to /tp). > Without UML the /var occupation is about 15%. What do you mean 'without UML'? Without installing it, without running it, without have it ever run etc.? > With UML it grows is : > /dev/hda3 31722 30005 1717 95% /var the same (what means 'with') > The UML does almost nothing (a few radius request) and lay in /dev/hda4. > If I do a listting of all the files in /var I did not see any big file. > So I can not reach 30Mo... Which fs do you use, keep in mind that journaling fs need space for the journal (but then there should no difference between 'with or w/o' UML) > On an other machine with about the same configuration (UML on a HD and > host on a CF card). I've got the same thing, but this UML does things > (web server mail server) and it crash after filling /var on the host. > > Is there a logical explanation to this ? (or better, something to solve > this problem) You can try to find out which files have been changed since installing or starting the uml, e.g. 'find /var -cmin -5' etc.. You should also find out if it are files in the fs and not the fs itself which is using the missing space, e.g. 'du -x /var'. Regards Daniel -- "Those who would give up essential liberty, to purchase a little temporary safety, deserve neither liberty nor safety." - Benjamin Franklin |
From: Adam H. <ad...@la...> - 2003-02-10 17:23:08
|
On Mon, 10 Feb 2003, Eric Leblond wrote: > Hi, > > Something very strange happened, it seems that UML is filling my /var > but I can't find any files that justify filesystem occupation. > > My setup is the following : > The host system stands on a compact flash, (so it's really short in term > of place). I've got a 32Mo /var (/var:tmp is a link to /tp). > Without UML the /var occupation is about 15%. > > With UML it grows is : > /dev/hda3 31722 30005 1717 95% /var > The UML does almost nothing (a few radius request) and lay in /dev/hda4. > If I do a listting of all the files in /var I did not see any big file. > So I can not reach 30Mo... > > On an other machine with about the same configuration (UML on a HD and > host on a CF card). I've got the same thing, but this UML does things > (web server mail server) and it crash after filling /var on the host. > > Is there a logical explanation to this ? (or better, something to solve > this problem) ls won't show you deleted files. Install lsof. uml makes a file in $TMP, the size of mem=. It then mmaps that, and deletes the file(so it will be cleaned when uml exits). |
From: Fermin G. M. <ga...@di...> - 2003-02-12 14:42:03
|
Hello everyone. I'm currently working with COW filesystem in my UMLs and I have two doubts not covered by the HOWTO: a) Is posible to create a "empty" COW filesystem without booting UML (so, ubd0=3Dcow_private can be used from the begining,=20 without the necesity of using a diferent ubd0 option first time)? How? b) Is posible mounting a COWed filesystem (to get access to files from the host enviroment before booting UML)? The usual 'mount -o loop' command doen't work on the private COW file. Thanks in advance! -------- Ferm=EDn DIT UPM |
From: Fermin G. M. <ga...@di...> - 2003-02-12 15:14:31
|
Hello everyone. Is there a RPM that includes *only* the UML tools (uml_switch, tunctl, etc.)? (I have experienced compilation problems with them in some platforms). I know the convetional UML RPM=20 that includes UML tools, but also=20 the UML kernel (which it's not suitable for me, due to I need to compile UML source with special options). Thanks in advance! ------- Ferm=EDn DIT UPM |
From: William S. <wst...@po...> - 2003-02-12 15:44:07
|
Good day, Fermin, On Wed, 12 Feb 2003, Fermin Galan Marquez wrote: > Is there a RPM that includes > *only* the UML tools (uml_switch, > tunctl, etc.)? (I have experienced > compilation problems with them > in some platforms). > > I know the convetional UML RPM > that includes UML tools, but also > the UML kernel (which it's not suitable > for me, due to I need to compile > UML source with special options). http://www.stearns.org/uml/ Cheers, - Bill --------------------------------------------------------------------------- "So long, and thanks for all the fish." -- Douglas Adams -------------------------------------------------------------------------- William Stearns (wst...@po...). Mason, Buildkernel, freedups, p0f, rsync-backup, ssh-keyinstall, dns-check, more at: http://www.stearns.org Linux articles at: http://www.opensourcedigest.com -------------------------------------------------------------------------- |
From: Roger B. <ro...@ro...> - 2003-02-12 16:20:21
|
> I know the convetional UML RPM > that includes UML tools, but also > the UML kernel (which it's not suitable > for me, due to I need to compile > UML source with special options). You may find this useful: http://umlbuilder.sourceforge.net/umlcustom.shtml It lets you build your own UML rpm, and you can use whatever special options you want. Roger |
From: William S. <wst...@po...> - 2003-02-12 15:24:19
|
Good day, Fermin, On Wed, 12 Feb 2003, Fermin Galan Marquez wrote: > b) Is posible mounting a COWed filesystem (to get access to files from > the host enviroment before booting UML)? The usual 'mount -o loop' > command doen't work on the private COW file. Not directly. You can combine the cow file with its backing file using the uml_moo utility, and the resulting file can be mounted on the host. Cheers, - Bill --------------------------------------------------------------------------- "Microsoft's biggest and most dangerous contribution to the software industry may be the degree to which it has lowered user expectations." -- Esther Schindler, OS/2 Magazine (Courtesy of Bob Tracy - TDS <rc...@me...>) -------------------------------------------------------------------------- William Stearns (wst...@po...). Mason, Buildkernel, freedups, p0f, rsync-backup, ssh-keyinstall, dns-check, more at: http://www.stearns.org Linux articles at: http://www.opensourcedigest.com -------------------------------------------------------------------------- |
From: Fermin G. M. <ga...@di...> - 2003-02-13 15:07:46
|
On Wed, 12 Feb 2003, William Stearns wrote: > Good day, Fermin, >=20 > On Wed, 12 Feb 2003, Fermin Galan Marquez wrote: >=20 > > b) Is posible mounting a COWed filesystem (to get access to files fro= m > > the host enviroment before booting UML)? The usual 'mount -o loop' > > command doen't work on the private COW file. >=20 > Not directly. You can combine the cow file with its backing file=20 > using the uml_moo utility, and the resulting file can be mounted on the= =20 > host. Unfortunatelly, uml_moo it's not suitable for my aplication. Currently, I'm using UML to build=20 network simulations usign several virtual machines, following these steps: a) Setting a master filesystem (it will be not booted). b) Make as many copies of the master filesystem as UMLs needed. c) Mount those filesystem to configure and tune each UML (for example, /etc/sysconfig/network to established netwrok configuration, different in each UML). d) Boot all UMLs. Currently, step b) takes a lot of time and=20 store space (master filesystem is about=20 650 Mbytes and I use an average of 20 UMLs),=20 so I wonder if using COW these costs could be=20 reduced. But, for the answers to my previous=20 questions, COW filesystems can't be mounted=20 to be configured (step c). Anyone is (was) working on something similar? I would like to heard experiences... Thanks in advance! ------- Ferm=EDn DIT UPM |
From: Steven P. <st...@si...> - 2003-02-13 15:54:51
|
On Thu, Feb 13, 2003 at 03:58:31PM +0100, Fermin Galan Marquez wrote: [...] > so I wonder if using COW these costs could be > reduced. But, for the answers to my previous > questions, COW filesystems can't be mounted > to be configured (step c). I use a perl script that starts up UML and runs the appropriate commands to set everything up (using Expect.pm). Steve -- st...@si... | Southern Illinois Linux Users Group (618)398-7360 | See web site for meeting details. Steven Pritchard | http://www.silug.org/ |
From: Fermin G. M. <ga...@di...> - 2003-02-13 16:02:54
|
On Thu, 13 Feb 2003, Steven Pritchard wrote: > On Thu, Feb 13, 2003 at 03:58:31PM +0100, Fermin Galan Marquez wrote: > [...] > > so I wonder if using COW these costs could be=20 > > reduced. But, for the answers to my previous=20 > > questions, COW filesystems can't be mounted=20 > > to be configured (step c). >=20 > I use a perl script that starts up UML and runs the appropriate > commands to set everything up (using Expect.pm). Could you send me this script, please? Thanks in advance! ------- Ferm=EDn DIT UPM |
From: William S. <wst...@po...> - 2003-02-13 16:22:03
|
Good afternoon, Steven, On Thu, 13 Feb 2003, Fermin Galan Marquez wrote: > On Thu, 13 Feb 2003, Steven Pritchard wrote: > > > On Thu, Feb 13, 2003 at 03:58:31PM +0100, Fermin Galan Marquez wrote: > > [...] > > > so I wonder if using COW these costs could be > > > reduced. But, for the answers to my previous > > > questions, COW filesystems can't be mounted > > > to be configured (step c). > > > > I use a perl script that starts up UML and runs the appropriate > > commands to set everything up (using Expect.pm). > > Could you send me this script, please? If you're willing to share it with the rest of the list, I'd be interested to see how that works as well. Cheers, - Bill --------------------------------------------------------------------------- "We have to work on our reputation for security in the marketplace." - Jim Allchin, Microsoft (Courtesy of http://www.salon.com/tech/wire/2002/05/08/microsoft/index.html?x) -------------------------------------------------------------------------- William Stearns (wst...@po...). Mason, Buildkernel, freedups, p0f, rsync-backup, ssh-keyinstall, dns-check, more at: http://www.stearns.org Linux articles at: http://www.opensourcedigest.com -------------------------------------------------------------------------- |
From: Steven P. <st...@si...> - 2003-02-13 17:19:57
|
On Thu, Feb 13, 2003 at 04:57:20PM +0100, Fermin Galan Marquez wrote: > On Thu, 13 Feb 2003, Steven Pritchard wrote: > > I use a perl script that starts up UML and runs the appropriate > > commands to set everything up (using Expect.pm). > > Could you send me this script, please? The whole script is too ugly for words, but here's a bit of it: # - snip - my @command=(qw(/usr/local/bin/run1 -w 0 -l), $user, "/usr/local/bin/runas", $user, "/usr/bin/linux", @args, "single"); my $exp=new Expect; $exp->spawn(@command) or die "Can't spawn '@command': $!\n"; my $password=String::Random->new->randregex('[a-z0-9]{8}'); my $domain=$hostname; $domain=~s/^[^\.]+\.// unless ($domain=~/^[^\.]+\.[^\.]+$/); my @commands=split '\n', <<END; echo -e "HOSTNAME=$hostname\\nGATEWAY=$gateway\\nGATEWAYDEV=eth0" >> /etc/sysconfig/network echo -e "DEVICE=eth0\\nBOOTPROTO=static\\nIPADDR=$address\\nNETWORK=$network\\nBROADCAST=$broadcast\\nNETMASK=$netmask\\nONBOOT=yes" > /etc/sysconfig/network-scripts/ifcfg-eth0 echo -e "search $domain\\nnameserver $nameserver" > /etc/resolv.conf perl -pi -e 's/^(kernel\\.sysrq\\s*=)\\s*0\$/\$1 1/;' /etc/sysctl.conf echo -e "127.0.0.1 localhost.localdomain localhost\\n$address $hostname \$(echo $hostname | cut -d. -f1)" >> /etc/hosts END shell($exp, @commands); $exp->expect(undef, -re => 'sh(-[\w\-\.]*)?#'); $exp->send("passwd\n"); $exp->expect(undef, -re => ':'); $exp->send("$password\n"); $exp->expect(undef, -re => ':'); $exp->send("$password\n"); shell($exp, "shutdown -h now"); $exp->expect(undef, eof); wait; undef $exp; # - snip - One of these years I hope to clean up my management stuff enough that I"m not embarrassed to share it. :-) If any of you are Red Hat users, I have rpms of the perl Expect module, its dependencies, and various other things on my ftp server (ftp.kspei.com/ftp.silug.org). I'll dig up a URL if anyone is interested. Oh, and "run1" is here: http://www.silug.org/~steve/software/scripts/perl/run1 (Add .html for docs.) It's vaguely similar to lockfile, but better (IMHO). The "runas" script is just a su replacement that clears the environment and sets a few things (HOME and such). I don't think I've put it anywhere public, but I'd be happy to if someone wants it. Steve -- st...@si... | Southern Illinois Linux Users Group (618)398-7360 | See web site for meeting details. Steven Pritchard | http://www.silug.org/ |
From: Adam H. <ad...@do...> - 2003-02-13 20:01:31
|
On Thu, 13 Feb 2003, Fermin Galan Marquez wrote: > On Thu, 13 Feb 2003, Steven Pritchard wrote: > > > On Thu, Feb 13, 2003 at 03:58:31PM +0100, Fermin Galan Marquez wrote: > > [...] > > > so I wonder if using COW these costs could be > > > reduced. But, for the answers to my previous > > > questions, COW filesystems can't be mounted > > > to be configured (step c). > > > > I use a perl script that starts up UML and runs the appropriate > > commands to set everything up (using Expect.pm). > > Could you send me this script, please? What follows is my script to do some updating of a uml image. Note how the script runs in dual mode: mode1 runs on the host, while mode2 runs under uml as init. This script runs on a debian system, and can update the modules installed into the image. There's no need for any fancy expect or other crap. #!/bin/sh # ./update-modules $image-file-name set -ex if [ -z "$MODULE_INSTALL_UNDER_UML" ]; then image=$1 me=$( (cd $(dirname $0);echo $PWD) )/$(basename $0) linux devfs=mount con0=fd:0,fd:1 con=pty ubd0=/ ubd1=$image mem=16m init=$me MODULE_INSTALL_UNDER_UML=1 else mount -t proc none /proc mount -t tmpfs none /tmp mkdir /tmp/target mount /dev/ubd/1 /tmp/target ver=$(uname -r) rm -rf /tmp/target/lib/modules/$ver cp -a /usr/lib/uml/modules/$ver /tmp/target/lib/modules/$ver sync umount /tmp/target umount /tmp halt -d -f fi |
From: Steven P. <st...@si...> - 2003-02-13 21:27:07
|
On Thu, Feb 13, 2003 at 01:50:51PM -0600, Adam Heath wrote: > There's no need for any fancy expect or other crap. I should note that the "fancy expect" stuff is somewhat necessary in my case. The UML kernel on my systems has no hostfs support. I think this problem officially falls into the TMTOWTDI category. Steve -- st...@si... | Southern Illinois Linux Users Group (618)398-7360 | See web site for meeting details. Steven Pritchard | http://www.silug.org/ |
From: Ferdinand O. T. <pol...@mo...> - 2003-02-13 19:29:07
|
Hey, What you describe here is exactly whet I'm working on at the moment. My approach is as follows: I have: 1) A startup script which boots the UMLs 2) Base root filesystem (100MB) with all the networking utilities I need 3) A small filesystem (a few MB) with a whole slew of patches and a setup script. The following is happening when 1) gets called the right way: - The kernel boots as usual, and finds two attached filesystems (ubd0 and ubd1), namely the filesystems mentioned in 2) and 3). - The kernel calls init, and init reads in /etc/inittab on what to do. /etc/inittab is at that point symlinked to /etc/inittab.setup, which calls the setup script (setup.sh) which is on in 3), at that point mounted on /opt. /opt/setup.sh does a couple of things. First it patches the root filesystem with a supplied <hostname>.patch file. You can make any configuration setting you want that way, as long as you can so that with regular ascii config files. e.g. I patch /etc/hostname, /etc/networking/interfaces (yes, root_fs is a debian filesystem), /etc/ipsec.conf (I use these UMLs for freeswan testing) and a few more files which make that particular UML instance unique. After the patching, /opt/setup.sh deletes both /etc/fstab and /etc/inittab, and links them back to the runtime versions (/etc/inittab.runtime and /etc/fstab.runtime). Finally it reboots the UML. Of course all this works because I'm using the UML against a COW, so all changes are made to the COW, and not the real root_fs, which is then ready for reuse with the next UML. It works for me. If anyone is interrested in this whole thing, I can put this stuff up for download (it's ~50MB so offers for hosting it would be welcome...my ISP doesn't like me serving lots of stuff to $WORLD). It's because Fermin asks now, else I'd have sent a message to this list next week or so when things are really set up as I want them to (i.e. in working order). Regards, Ferdinand O. Tempel On Thu, 2003-02-13 at 15:58, Fermin Galan Marquez wrote: > On Wed, 12 Feb 2003, William Stearns wrote: > > > Good day, Fermin, > > > > On Wed, 12 Feb 2003, Fermin Galan Marquez wrote: > > > > > b) Is posible mounting a COWed filesystem (to get access to files from > > > the host enviroment before booting UML)? The usual 'mount -o loop' > > > command doen't work on the private COW file. > > > > Not directly. You can combine the cow file with its backing file > > using the uml_moo utility, and the resulting file can be mounted on the > > host. > > Unfortunatelly, uml_moo it's not suitable for > my aplication. Currently, I'm using UML to build > network simulations usign several virtual machines, > following these steps: > > a) Setting a master filesystem (it will be not booted). > b) Make as many copies of the master filesystem as > UMLs needed. > c) Mount those filesystem to configure and tune each > UML (for example, /etc/sysconfig/network to > established netwrok configuration, different in > each UML). > d) Boot all UMLs. > > Currently, step b) takes a lot of time and > store space (master filesystem is about > 650 Mbytes and I use an average of 20 UMLs), > so I wonder if using COW these costs could be > reduced. But, for the answers to my previous > questions, COW filesystems can't be mounted > to be configured (step c). > > Anyone is (was) working on something similar? > I would like to heard experiences... > > Thanks in advance! |
From: Net L. <net...@li...> - 2003-02-13 20:12:41
|
Fedinand, This sounds like something that i'd like to use. I am confused about one thing though. How do you seed /opt/setup.sh with the data that is unique to your UML instance so that it sets up the instance properly? thanks, Lonni On Thu, 13 Feb 2003, Ferdinand O. Tempel wrote: > /opt/setup.sh does a couple of things. First it patches the root > filesystem with a supplied <hostname>.patch file. You can make any > configuration setting you want that way, as long as you can so that with > regular ascii config files. e.g. I patch /etc/hostname, > /etc/networking/interfaces (yes, root_fs is a debian filesystem), > /etc/ipsec.conf (I use these UMLs for freeswan testing) and a few more > files which make that particular UML instance unique. After the > patching, /opt/setup.sh deletes both /etc/fstab and /etc/inittab, and > links them back to the runtime versions (/etc/inittab.runtime and > /etc/fstab.runtime). Finally it reboots the UML. > Of course all this works because I'm using the UML against a COW, so all > changes are made to the COW, and not the real root_fs, which is then > ready for reuse with the next UML. > > It works for me. > > If anyone is interrested in this whole thing, I can put this stuff up > for download (it's ~50MB so offers for hosting it would be welcome...my > ISP doesn't like me serving lots of stuff to $WORLD). It's because > Fermin asks now, else I'd have sent a message to this list next week or > so when things are really set up as I want them to (i.e. in working > order). -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Lonni J Friedman net...@li... Linux Step-by-step & TyGeMo http://netllama.ipfox.com |
From: Ferdinand O. T. <pol...@mo...> - 2003-02-13 20:29:03
|
On Thu, 2003-02-13 at 21:12, Net Llama! wrote: > Fedinand, > This sounds like something that i'd like to use. I am confused about one > thing though. How do you seed /opt/setup.sh with the data that is unique > to your UML instance so that it sets up the instance properly? > > thanks, > Lonni Hey Lonni, I've included the setup.sh script below. As you see I pass on the hostname of the target UML on the kernel's commandline (I have a special startup script that starts all my UMLs). This setup.sh script grabs it back from /proc when the kernel is booted, and utilizes `patch` to set up the system. #!/bin/sh # setup script for an UML # grab the desired config from the commandline hostname=`/bin/cat /proc/cmdline | /usr/bin/awk -F " " '{print $((NF-1))}' | /usr/bin/awk -F "=" '{print $NF}'` /bin/echo "UML running as $hostname" # check wether we're in admin mode or not if /usr/bin/test "$hostname" != "admin" then cd / # patch /etc to carry the system settings /usr/bin/patch -p0 < /opt/$hostname.patch # make sure the system boots into login, and not into this script /bin/rm /etc/inittab /bin/ln -s /etc/inittab.run /etc/inittab # don't mount this filesystem by default rm /etc/fstab # and reboot... /sbin/shutdown -r now exit 0 else /bin/echo "Whoops, admin mode...lets start a login process." /bin/echo "(And don't forget to be vewy, vewy cawefull)" /sbin/sulogin exit 0 fi Ferdinand O. Tempel |
From: Fermin G. M. <ga...@di...> - 2003-02-14 14:15:43
|
Thanks everybody for the ideas and sugestions. All they have been very inspiring (specially Ferdinand's). Finally, I have solve the problem using two filesystems: - ubd0 for the master filesystem, booted in COW mode. - ubd1 for an small (1 Mb) auxiliar filesystem=20 used to configure each particular UML. Previous the booting of any UML, the master filesystem is configured as follows: - an empty directory /opt - a symlink /etc/rc.d/rc3.d/S11umlboot that point to /opt/umlboot (note that this file isn't is this filesystem) - the following line in /etc/fstab /dev/ubd/1 /opt ext2 default 0 0 The script that boots the UMLs (yes, I also use a script :) builds the ubd1 auxiliary filesystem on the fly, mounts it and creates umlboot file, where are the particular commands that configure this UML. After that the usual boot (usign ubd0 and ubd1 parameters) is done. ------- Ferm=EDn DIT UPM |
From: Net L. <net...@li...> - 2003-02-14 17:16:17
|
Thanks again Ferdinand. WHat i'm wondering (and perhaps i'm just missing something obvious), but is there a way for me to set a unique static IP address for each UML instance i start up using a variant of your script below? On Thu, 13 Feb 2003, Ferdinand O. Tempel wrote: > Hey Lonni, > > I've included the setup.sh script below. > As you see I pass on the hostname of the target UML on the kernel's commandline (I have a special startup script that starts all my UMLs). > This setup.sh script grabs it back from /proc when the kernel is booted, and utilizes `patch` to set up the system. > > #!/bin/sh > > # setup script for an UML > > # grab the desired config from the commandline > hostname=`/bin/cat /proc/cmdline | /usr/bin/awk -F " " '{print $((NF-1))}' | /usr/bin/awk -F "=" '{print $NF}'` > /bin/echo "UML running as $hostname" > > # check wether we're in admin mode or not > if /usr/bin/test "$hostname" != "admin" > then > cd / > > # patch /etc to carry the system settings > /usr/bin/patch -p0 < /opt/$hostname.patch > > # make sure the system boots into login, and not into this script > /bin/rm /etc/inittab > /bin/ln -s /etc/inittab.run /etc/inittab > > # don't mount this filesystem by default > rm /etc/fstab > # and reboot... > /sbin/shutdown -r now > exit 0 > else > /bin/echo "Whoops, admin mode...lets start a login process." > /bin/echo "(And don't forget to be vewy, vewy cawefull)" > /sbin/sulogin > exit 0 > fi -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Lonni J Friedman net...@li... Linux Step-by-step & TyGeMo http://netllama.ipfox.com |
From: Ferdinand O. T. <pol...@mo...> - 2003-02-14 18:54:48
|
Hias Lonni, I don't know if you're aware of how Debian configures its interfaces, but it uses /etc/network/interfaces for that. In that file it basically states per interface which parameters belong to it, such as ip address, netmask, network, gateway, etc. And since that is again just a plain ascii file, I can patch it with the setup script to hold the information I need. Then, after the setup script reboots the UML, the system simply sets all interfaces according to the information it finds in /etc/network/interfaces. Easy as that. If you want I can send you a download URL from which you can grab a (~50MB) archive of my development version. It ties 4 UMLs together using a GRE tunnel running over an ipsec tunnel. It probably doesn't use the easiest way of setting up networking (it uses 4 tun interfaces on the host as I haven't mastered uml_switch yet :-). It works for me though, all you need is to have look over the startup script to make sure you use a valid UID to run it all as (though you start the script as root, the UMLs themselves run as an unprivileged user. It's probably a lot clearer when you have a look at the system as a whole, just ask. (I'll try to include a README which explains how and what :-). Ferdinand On Fri, 2003-02-14 at 18:16, Net Llama! wrote: > Thanks again Ferdinand. WHat i'm wondering (and perhaps i'm just missing > something obvious), but is there a way for me to set a unique static IP > address for each UML instance i start up using a variant of your script > below? |