again dpkg --root=xxx
Dear Ian,
In an attempt to create a root file system for booting a diskless
clients, I tried the following:
In /tftpboot/diskless, I unpacked the Bruce's latest base system using
tar xzvpf base1_1.tgz
Now, from a previous discussion we had, I thought I should be able to use
dpkg --root=/tftpboot/diskless -i ...
However, trying this, I get errors running any installation
scripts. I can use dpkg --root=/tftpboot/diskless -l to get a listing
of the packages which are part of the base system.
>From a quick look at the code for dpkg the problem seems to be the
following: You chroot to the root directory, but you call execv with
the original path name. Then, in the chroot'ed environment, the execv
call fails since the path has the extraneous prefix to the new root.
I guess that chopping the leading root path between the calls
preexecscript(scriptpath,arglist);
execv(scriptpath,arglist);
in main/help.c should fix the problem. If you want me to, I can look a
bit more carefully at your code to come up with a patch.
Cheers,
Lukas
-------------------------------------------------------------------------------
Dr. Lukas Nellen | Email: lukas@teorica0.ifisicacu.unam.mx
Depto. de Fisica Teorica, IFUNAM |
Apdo. Postal 20-364 | Tel.: +52 5 622 5014 ext. 218
01000 Mexico D.F., MEXICO | Fax: +52 5 622 5015
Reply to: