On 9/13/05, Blaisorblade <[EMAIL PROTECTED]> wrote:
(cut)
 
> >
> > What should I try? Do I need a patch?
> mv /lib/tls /lib/tls.away, after loop-mounting the filesystem on the host 
> , or booting with init=/bin/bash (not sure the second will work).

I did some tests. I just found out that
In Debian the best solution is to run:

  # echo "LD_ASSUME_KERNEL=2.4.1" >> etc/environment

in the chroot.
(See http://people.redhat.com/drepper/assumekernel.html)
 
I found something in this thread:

http://lists.debian.org/debian-user/2005/01/msg04226.html
---------------------------------------
--- "Todd A. Jacobs" <[EMAIL PROTECTED]> wrote: 
> On Fri, Jan 28, 2005 at 10:43:44PM -0500, [EMAIL PROTECTED] wrote:
> > Is the file /etc/environment _documented_ *anywhere*???
> 
> It's a highly non-standard, non-portable file that is source by PAM (and
> possibly other applications) on a Debian system.

That is as maybe, but /etc/environment is the
only shell-agnostic file there is, and where it can be
used, it certainly serves a good purpose.
---------------------------------------

I did 2 equivalent tests
  1) patching init/main.c to add the variable to the environment
  2) using a wrapper to /sbin/init

but it seems the environment is just discarded before
running what is in inittab (I'm not sure, I should read the
sources later).

sysvinit should have a way to add a variable to the
environment. Can it be done in intitab?

With : cd /etc && grep  "/etc/environment" * -RH 2>/dev/null

Among others, I found pam.d/login
# This module parses /etc/environment (the standard for  setting
# environ vars) and also allows you to use an extended config

- Do they mean standard in Debian?

BTW,

- when is NPTL (not) supported in UML?

I'm sending for your consideration a small patch for the FAQ
 (that may need some update. I'll do it as I learn more about
this issue).

 Thanks,
 Nelson.-

 -- 
Homepage : http://geocities.com/arhuaco

The first principle is that you must not fool yourself
and you are the easiest person to fool.
     -- Richard Feynman.
538a539,589
> <a name="kernel Panic, cannot set up thread-local storage"/><table width="100%" bgcolor="#e0e0e0">
>             <tr>
>               <td>
>                 <b>
>                   <font color="black">kernel Panic, cannot set up thread-local storage</font>
>                 </b>
>               </td>
>             </tr>
>           </table>
> <blockquote>
> Your UML kernel doesn't support Native Posix Thread Library and the binaries
> you're running are being dynamically linked to the NTPL libraries.
> <br><br>
> You can boot moving the NTPL libraries away.
> <ul>
> <li> <font color="black"># mount root_fs mnt-uml/ -o loop</font>
> <li> <font color="black"># mv mnt-uml/lib/tls mnt-uml/lib/tls.away</font>
> <li> <font color="black"># umount mnt-uml</font>
> </ul>
> If you're running Debian, you can get away with:
> <pre><font color="black">
>  # mount root_fs mnt-uml/ -o loop
>  # echo "LD_ASSUME_KERNEL=2.4.1" >> /mnt-uml/etc/environment
>  # umount mnt-uml/
> </font></pre>
> 
> It seems that using /etc/environment is Debian specific,
> as <a href="http://lists.debian.org/debian-user/2005/01/msg04226.html";>discussed here</a>.
> 
> The LD_ASSUME_KERNEL=2.4.1 environment variable precludes
> the dynamic linker from using the NTPL libraries, as explained
> <a href="http://people.redhat.com/drepper/assumekernel.html";>here</a>.
> 
> If you decide to move away /lib/tls/ and you're running Debian, you might
> prefer to use dpkg-divert.
> <pre><font color="black">
>   # export LD_ASSUME_KERNEL=2.4.1
>   # mount root_fs mnt-uml/ -o loop
>   # chroot mnt-uml
>   # mkdir /lib/tls.off
>   # cd /lib/tls
>   # pwd
>   #  for f in *;
>      do
>        dpkg-divert --divert --local --rename --divert /lib/tls.off/$f --add /lib/tls/$f;
>      done
>   # exit
>   # umount mnt-uml
> </font></pre>
> </blockquote>
> 

Reply via email to