All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nelson Castillo <nelsoneci@gmail.com>
To: Blaisorblade <blaisorblade@yahoo.it>
Cc: user-mode-linux-user@lists.sourceforge.net,
	user-mode-linux-devel@lists.sourceforge.net
Subject: [uml-devel] Re: [uml-user] 2.6.13 / cannot set up LDT for thread-local storage
Date: Fri, 16 Sep 2005 06:23:00 -0500	[thread overview]
Message-ID: <2accc2ff0509160423743a1ed6@mail.gmail.com> (raw)
In-Reply-To: <200509131952.22631.blaisorblade@yahoo.it>

[-- Attachment #1: Type: text/plain, Size: 2136 bytes --]

On 9/13/05, Blaisorblade <blaisorblade@yahoo.it> 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" <nospam@codegnome.org> wrote: 
> On Fri, Jan 28, 2005 at 10:43:44PM -0500, kynn@panix.com 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.

[-- Attachment #2: faq.html.patch --]
[-- Type: text/x-patch, Size: 1840 bytes --]

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	other threads:[~2005-09-16 11:23 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <2accc2ff0509111117747e8639@mail.gmail.com>
     [not found] ` <200509131952.22631.blaisorblade@yahoo.it>
2005-09-16 11:23   ` Nelson Castillo [this message]
2005-09-16 13:01     ` [uml-devel] Re: [uml-user] 2.6.13 / cannot set up LDT for thread-local storage Nelson Castillo
2005-09-16 20:01       ` Rob Landley
2005-09-16 19:04     ` Blaisorblade
2005-09-16 20:53     ` Henrik Nordstrom

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2accc2ff0509160423743a1ed6@mail.gmail.com \
    --to=nelsoneci@gmail.com \
    --cc=blaisorblade@yahoo.it \
    --cc=user-mode-linux-devel@lists.sourceforge.net \
    --cc=user-mode-linux-user@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.