On 10/30/07, Scott James Remnant <[EMAIL PROTECTED]> wrote: > On Tue, 2007-10-30 at 13:37 +0100, Wolf Paul wrote:
> > In the past, on SysV-Init based Linux distros I managed to set up my > > notebook to boot into different networking and other environments by > > setting up multiple entries in Grub for the various locations, with > > LOCATION=xxxx appended to the kernel parameter line. > > It seems to me that the Upstart "init" does not pass such environment > > variables to the scripts it calls, and thus this method of setting up > > a location-dependent boot environment no longer works. > > > > Is this observation correct? > > > It is correct; though it should be possible to specify in a job's > definition which environment variables you *do* what passed through. > This is to allow jobs to ensure consistent environments to run in. Or more simply work round the problem with a teeny hack, so you can modify the scripts in a small way to run on Ubuntu. Write a script to chain load init(8) on boot, with same params and environment : $ cat > /sbin/hackinit #!/bin/dash echo "LOCATION=$LOCATION" > /etc/LOCATION exec /sbin/init "$@" $ chmod +x !$ Then when you boot use : init=/sbin/hackinit LOCATION=HOME Now in your rc.d scripts, ". /etc/LOCATION" like the /etc/init.d scripts source files in /etc/default to set the value of LOCATION. [ -r "/etc/default/LOCATION" ] && . "/etc/LOCATION" I'm writing this on a system I just rebooted with this method, it seems OK; but try at own risk! -- upstart-devel mailing list [email protected] Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/upstart-devel
