shell-usage on stage

Reinhard bookreader at gmx.com
Sun Apr 4 10:54:01 PDT 2004


On Sunday 04 April 2004 19:25, Kevin P. Fleming wrote:
> Reinhard wrote:
> > Ok, I was a bit confused, cause using chroot, the path to the shell is
> > from outside the chroot-jail and if I understood you right, the stage
> > uses a path inside the root ?!?
>
> Any shell path specified as part of a stage element is used by
> sub-elements of that stage, so it won't be interpreted until after any
> chroot/user/etc. changes have been made. The shell parameter on the
> stage element is _not_ used for the actual chroot operation; it's used
> repeatedly by commands inside that stage that need to invoke shell
> commands.
>
> Your confusion probably stems from the fact that you're thinking in
> "shell-script" mode, where you would just chroot once and use the new
> shell path as the shell for that chroot session; nALFS does not run in a
> shell, so when it does a chroot into a new root, there is not a shell
> running unless another element needs one to execute a command.

Hhm - no I don't think in shell-scripts.

For me, nALFS is a user-process, which just creates childs. So nALFS will 
never enter a chroot-jail, but the childs could do.

At the moment I translated the chroot to a (sub-)stage, that contains the 
commands from the chroot-chapter.
Isn't that right?
I did the same (opening a substage) for 'su - user' and 'export var=value' 
just having the stage a different size.

I think, I don't understand the stage yet.
I thought, that the settings from stageinfo are the base for all commands of 
that stage.

On binutils I have this (&build_dir; is /tools/build):
(&binutils-directory; is "binutils-&binutils-version;")

<stage name="Installing Binutils-&binutils-version; - Pass 1">
	<stageinfo>
		<base>&build_dir;/&binutils-directory;</base>
	</stageinfo>

	<mkdir>
		<option>parents</option>
		<name>../binutils-build</name>
	</mkdir>

resulting in this error:

  18689 I: Entering new stage: Installing Binutils-2.14 - Pass 1
  18690 I: Creating directory ../binutils-build (parents)
  18691 E: Changing current directory to /tools/build/../binutils-build 
failed:
  18692 E:     No such file or directory
  18693 I: Exiting stage: Installing Binutils-2.14 - Pass 1
  18694 W: Unable to remove /var/log/ALFS/stamps/Binutils.

I don't understand the error from line 18691. Where comes that path from?
Is it a bug or my misunderstanding?


Kind regards

Reinhard




More information about the alfs-discuss mailing list