Linux-Development-Sys Digest #248, Volume #8 Tue, 31 Oct 00 19:13:12 EST
Contents:
Re: Where can find the source code for the bash or ash? (Kasper Dupont)
microsecond-resolution timers (=?iso-8859-1?Q?C=E9sar?= Espinosa)
Re: About Embedded Linux and RAM disk (Steve Goodwin)
gtk help ("plato")
Re: Compress RAM filesystem question ([EMAIL PROTECTED])
Re: after compiling kernel 2.4.0-test8 booting won't work (sridhar)
Re: Linux and PXE ([EMAIL PROTECTED])
Re: Tools for version management (Kaelin Colclasure)
RFI: Linux implementation of tnf tracing system (Kaelin Colclasure)
Re: gtk help ("Norman Black")
Re: Help! Async I/O problem
Re: DDD Debugger (Menni)
Re: RFI: Linux implementation of tnf tracing system (Pete Zaitcev)
Name service development. ("Christoper McClan")
Re: RFI: Linux implementation of tnf tracing system (Kaelin Colclasure)
----------------------------------------------------------------------------
From: Kasper Dupont <[EMAIL PROTECTED]>
Crossposted-To:
comp.os.linux.development.apps,comp.os.linux.misc,comp.os.linux.questions
Subject: Re: Where can find the source code for the bash or ash?
Date: Tue, 31 Oct 2000 17:04:50 +0100
Alan Po wrote:
>
> Dear all
>
> Where can I find the source code for the bash? When the bash start? Can I
> select another shell at the boot time?
>
> Thanks a lot.
>
> Alan Po
Each user has a default shell, if you want
to change the default shell for a user see
man usermod.
--
Kasper Dupont
------------------------------
From: =?iso-8859-1?Q?C=E9sar?= Espinosa <[EMAIL PROTECTED]>
Subject: microsecond-resolution timers
Date: Tue, 31 Oct 2000 17:13:16 +0100
Hi all,
How can I achieve microsecond-resolution timers in Linux?. I am
using kernel 2.2.14.
C�sar.
------------------------------
From: Steve Goodwin <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.development.apps
Subject: Re: About Embedded Linux and RAM disk
Date: Tue, 31 Oct 2000 16:10:12 +0000
>root wrote:
>>
>> Dear sir
>>
>> I have tried to develop an Embedded Linux by using Red Hat EDK. However,
>> this tool have a lot of problem. The most important thing is how to
>> build a floppy which put a tiny linux into it. As studying the other
>> small linux, they usually a RAM disk. Where can I get some information
>> about creating a floppy with a small linux (not a distribution, by
>> manual)? How to create a RAM disk on my machine?
>>
>> Please give me some advices and thanks a lot.
>>
>> Alan Po
>> [EMAIL PROTECTED]
>
I don't know whether it will help but you could try byld.sourceforge.net
--
Steve Goodwin... e-mail [EMAIL PROTECTED]
------------------------------
From: "plato" <[EMAIL PROTECTED]>
Crossposted-To:
comp.os.linux.development,comp.os.linux.development.apps,comp.sys.os.linux.development,linux.apps,linux.dev.apps,linux.redhat.devel,linux.redhat.development
Subject: gtk help
Date: Tue, 31 Oct 2000 19:20:48 +0200
we need to know what signal(s) is/are emmitted when the user clicks the
right mouse button inside a widget. we are really pressed in time and would
appreciate a quick reply..
------------------------------
From: [EMAIL PROTECTED]
Subject: Re: Compress RAM filesystem question
Date: Tue, 31 Oct 2000 17:49:48 -0000
On 31 Oct 2000 10:01:20 GMT [EMAIL PROTECTED] wrote:
| I have a question about the very new filesystem , compress RAM filesystem.
| Could it be possible to make a cramdisk as a root filesystem ?
| Does anyone have the experence about this ?
If you can find a way to get it loaded at startup time, then you should
be able to do it. If you can get it to work with initrd, great. If not,
try making a small initrd that has a library-less /linuxrc program which
populates cramdisk and changes the root major/minor to the cramdisk (if
it even has a device numbers, if not, oh well) and lets the kernel do
the root switch as per initrd.
--
| Phil Howard - KA9WGN | My current websites: linuxhomepage.com, ham.org
| phil (at) ipal.net +----------------------------------------------------
| Dallas - Texas - USA | [EMAIL PROTECTED]
------------------------------
From: sridhar <[EMAIL PROTECTED]>
Subject: Re: after compiling kernel 2.4.0-test8 booting won't work
Date: Tue, 31 Oct 2000 10:36:52 -0800
Reply-To: [EMAIL PROTECTED]
I also had a similar problem with the 2.4.0-test9 kernel.
But it turned out to be a configuration issue. While configuring the
kernel,
I missed out specifying the correct processor family. The default is set
to
pentium III. I had to change it to pentium classic to get it work on my
m/c.
Thanks
-Sridhar
Bart De Schuymer wrote:
> Hello,
>
> My default kernel is the one delivered by Redhat 7.0...
> I have recompiled my kernel with the latest linux sourcecode
> (downloaded it).
>
> When I boot and choose this new kernel I get the usual
> loading linux .............
> uncompressing linux... done.
> But then it hangs...
>
> Thanks,
> Bart
------------------------------
From: [EMAIL PROTECTED]
Subject: Re: Linux and PXE
Date: Tue, 31 Oct 2000 18:52:18 GMT
Thanks for the help. I had tried a solution of writing magic cookie at
addresses 0x70, 0x71 just before rebooting. Then when PXE gets control,
it checks to see if the magic cookie is present, if yes, then it
returns control back to bios, after a final cleanup of memory area etc.
Bios then continues to boot another device in the list.
Do you know if the addresses 0x70, 0x71 are safe to use. Could there
be any issues?
Thanks,
nitu
In article <[EMAIL PROTECTED]>,
Kasper Dupont <[EMAIL PROTECTED]> wrote:
> [EMAIL PROTECTED] wrote:
> >
> > In my scenario, PXE is allowed to boot before the hard disk. So,
if I
> > allow reset to happen, the PXE code will always run first, and then
> > download the stuff off the network, and the hard disk code will
never
> > get executed. My main problem, is how to tell PXE not to run the
next
> > time.
> >
> [...]
>
> I don't know exactly how this PXE thing works, but here
> are some ideas:
>
> If the PXE modifies the CPU state or some other hardware
> state that must be restored. I.e. the CPU must be in
> real mode the timer must be 18.2 Hz the IRQ controllers
> must use 0x08-0x0f and 0x70-0x77 etc.
>
> If the PXE modifies the interrupt vectors theese must be
> restored, if the PXE uses some kind of OS it might be
> necesarry to get some code executed before that to save
> the interrupt vector table.
>
> After that you must somehow continue the standard boot
> process. I don't know exactly where in the boot process
> the PXE starts, but if it happens in the periode where
> int 18h and 19h is usable the following piece of code
> should do it:
>
> CLI
> XOR AX,AX
> MOV DS,AX
> MOV SS,AX
> MOV ES,AX
> MOV SP,7C00
> STI
> MOV AX,0201
> MOV BX,7C00
> MOV CX,0001
> MOV DX,0080
> INT 13
> JMP 0:7C00
>
> This code does the same as int 19h would do if drive C
> was the only drive. This piece of code is similar to
> what I previously posted. There are one thing that
> must be remembered, if the code is located within the
> range 7B00-7E00 it could be overwritten by the stack
> or the MBR loaded from the harddisk, in that case it
> must move itself to another location. Taking a look on
> the standard MBR code could help with some inspiration,
> it is so small that it is feasible to disasemble and
> understand.
>
> It could be that int 18h or int 19h would do the trick,
> but it might do something other than expected.
>
> --
> Kasper Dupont
>
Sent via Deja.com http://www.deja.com/
Before you buy.
------------------------------
From: Kaelin Colclasure <[EMAIL PROTECTED]>
Subject: Re: Tools for version management
Date: Tue, 31 Oct 2000 11:10:34 -0800
"Joachim H�rnle" wrote:
>
> Has someone hands-on experiences with professional version management tools
> like ClearCase or similar products on Linux? Is there are page/list
> available, which gives a good overview about the software development tools
> for Linux?
>
> Thanks!
>
> [EMAIL PROTECTED]
Check out Perforce at www.perforce.com. I switched from CVS a couple of
years
ago, and I've never looked back.
-- Kaelin
------------------------------
From: Kaelin Colclasure <[EMAIL PROTECTED]>
Subject: RFI: Linux implementation of tnf tracing system
Date: Tue, 31 Oct 2000 12:08:55 -0800
I am contemplating an attempt to build a clone of the Solaris 2.x tnf
facilities for Linux.
---8<---
Miscellaneous Library Functions tracing(3X)
NAME
tracing - overview of tnf tracing system
DESCRIPTION
tnf tracing is a set of programs and API's that can be used
to present a high-level view of the performance of an exe-
cutable, a library, or part of the kernel. tracing is used
to analyze a program's performance and identify the condi-
tions that produced a bug.
...
--->8---
See the tracing(3X) Solaris man page for an overview of tnf.
The general architecture I have in mind is as follows:
1) A kernel module(?) will be developed to implement the trace
buffer. This module will allocate a fixed-size buffer in
kernel-space when a trace is active. It will provide an API for
both kernel-space clients and user processes to add information
to this trace buffer. It will provide a user process the ability
to read/dump the trace buffer contents in their raw (binary)
form.
2) A C interface to the kernel module will be developed. It will be
compatible with the Solaris TNF_PROBE(3X) macros, so that
programs may portably use TNF between Linux and Solaris. See the
TNF_PROBE(3X) Solaris man page for details.
3) A prex(1) work-alike will be developed to provide the interface
for controlling the trace facility from the command line. See the
prex(1) Solaris man page for details.
4) A tnfdump(1) replacement will be developed. It will process raw
(binary) trace data into an ASCII form suitable for examination
or further analysis. As an extension to the Solaris version, it
will have an option to produce an XML version of the trace
information for easier post-processing.
That's the concept... But as we all know only too well the devil lives
in the details. And since this is my first attempt at kernel hacking,
don't anybody hold their breath waiting for a 0.1 release. And of
course, I have a number of questions:
1) Does something like this already exist for Linux?
My primary motivation for contemplating this is that I need the
capability under Linux. The excuse/opportunity to delve into the
arcane mysteries of kernel hacking is attractive -- but I do have
a lot of other demands on my time right now...
2) What is the "right" way to interface clients to the facility?
Can we use the same mechanism for user processes and kernel-space
clients?
As I understand it, there are three alternatives for exposing an
API to userland from a kernel module: 1) make the tracing
facility a device driver, 2) hook into the /proc filesystem, or
3) add a new system call to the kernel. I understand that these
are not mutually exclusive. What I don't know are the trade-offs
between these alternatives. There is a requirement that the (a?)
mechanism must be accessible from both kernel- and user-space.
I'm reasonably sure a new system call would fit the bill, but
from what research I've done so far it seems that system calls
can't be implemented in loadable modules. On the other hand, I'd
be very surprised if kernel-space entities have ready access to
the /proc filesystem or entries in the /dev tree.
Should I just forget the idea the kernel and user TNF_PROBES are
going to be able to share the same implementation? Is there a
better alternative that I don't know about?
3) Is it reasonable to kalloc a 4MB or larger trace buffer, or do I
need to consider a more sophisticated buffering strategy?
Solaris uses a 4MB buffer by default, and I've found it adequate
for most purposes. But is this a safe amount of RAM to be
grabbing in kernel mode? Naturally this would only be allocated
when a trace was active, but I don't want the tnf facility to
have a negative impact on Linux's performance. Note that I'm not
really concerned about machines with inadequate RAM.
4) What kind of high-resolution timers or performance counters are
available from the Linux kernel?
Performance tuning is tnf's forte -- but to do it effectively it
needs to be able to measure the time elapsed during e.g. an
individual system call handled by the kernel. And of course the
call to read the time can't be expensive. Some sort of access to
the Pentium's performace counters would probably be ideal -- but
would make the code i86-specific. In principal I'd like to be
portable, but in practice I personally only run Linux on i86
boxen right now...
-- Kaelin
------------------------------
From: "Norman Black" <[EMAIL PROTECTED]>
Crossposted-To:
comp.os.linux.development.apps,linux.redhat.devel,linux.redhat.development
Subject: Re: gtk help
Date: Tue, 31 Oct 2000 13:07:10 -0800
Reply-To: "Norman Black" <[EMAIL PROTECTED]>
What's up with the massive cross posting, some of them seemed dead (non
existent, at least with my news server), which made replying to your
question a pain.
You will have to get button press and/or release events for the widget in
question.
--
Norman Black
Stony Brook Software
the reply, fubar => ix.netcom
"plato" <[EMAIL PROTECTED]> wrote in message news:39ff01a6.0@news...
> we need to know what signal(s) is/are emmitted when the user clicks the
> right mouse button inside a widget. we are really pressed in time and
would
> appreciate a quick reply..
>
>
>
>
------------------------------
From: [EMAIL PROTECTED] ()
Subject: Re: Help! Async I/O problem
Date: Tue, 31 Oct 2000 21:27:25 -0000
In article <UArK5.99764$[EMAIL PROTECTED]>,
Timothy Stark <[EMAIL PROTECTED]> wrote:
>instruction killed its performance alot. When I removed the poll, it
>went 2.5 times faster. Now, I tried to implement SIGIO interrupts for
>keyboard but it did not work. (I tried to press some keys but it happened
>nothing.)
Are you trying to use stream I/O functions to read the keyboard?
--
http://www.spinics.net/linux
------------------------------
From: Menni <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.development.apps
Subject: Re: DDD Debugger
Date: Tue, 31 Oct 2000 23:33:36 +0100
Philip Armstrong wrote:
>
> In article <[EMAIL PROTECTED]>, Menni <[EMAIL PROTECTED]> wrote:
> >When invoking the Data Display Debugger, I always get the error message
> >"DDD: No Debugger" (GDB could not be started). Trying to follow the
> >instructions of the help message does not lead to any change.
> >On the bottom of the DDD-window a further message appears: "Running GDB
> >(pid <anynumber>, tty /dev/pts/4)..Exit 1."
> >What's going wrong there? How to start a debug session properly?
>
> It's telling you that it can't find gdb, which is the text mode
> debugger that ddd sits on top of. (Actually I think ddd can use one of
> several debuggers)
>
> Have you installed gdb?
Yes! I can use gdb in stand-alone text mode!
The same message as above comes with jdb for instance.
>
> Phil
>
> --
> http://www.kantaka.co.uk/ .oOo. public key: http://www.kantaka.co.uk/gpg.txt
------------------------------
From: [EMAIL PROTECTED] (Pete Zaitcev)
Crossposted-To: comp.unix.solaris
Subject: Re: RFI: Linux implementation of tnf tracing system
Date: Tue, 31 Oct 2000 22:57:48 GMT
On Tue, 31 Oct 2000 12:08:55 -0800, Kaelin Colclasure <[EMAIL PROTECTED]> wrote:
> I am contemplating an attempt to build a clone of the Solaris 2.x tnf
> facilities for Linux.
I used Chris Quelle's TNF on Solaris years ago. It was a great tool.
Some aspects of it may not be apparent to outside observers.
For instance, userland TNF collector exists.
Inside Sun, TNF is used with "tnfview2", which is a GUI for interactive
viewing of TNF traces. AFAIK, it never was productized, which is
a pity. In fact a large part of TNF vision was to create a
"Trace in Normal Form", which would be gathered from kernel (with
prex), from libraries, and from anywhere else. Later tools would
be able to merge/sort and do any other processing all the way down
to fancy GUIs.
When TNF matured, Chris went on to do a "TNF for Java". I am curious,
with what success.
--Pete
------------------------------
From: "Christoper McClan" <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.development,alt.os.linux,comp.os.linux.networking
Subject: Name service development.
Date: Tue, 31 Oct 2000 23:29:52 +0000
I'm pretty new to system development, I'm trying to add a new naming
service as a library to Linux.
I have written the following skeleton code and called it libnss_fns.c
:
===============================
#include <nss.h>
#include <netdb.h>
#include <sys/types.h>
#include <stdio.h>
enum nss_status _nss_fns_sethostent (void)
{
return NSS_STATUS_SUCCESS;
}
enum nss_status nss_fns_endhostent(void)
{
return NSS_STATUS_SUCCESS;
}
enum nss_status nss_fns_gethostent_r (struct hostent *result_buf, char *buf,
\size_t buflen)
{
return NSS_STATUS_NOTFOUND;
}
enum nss_status _nss_fns_gethostbyname_r (const char *name, struct hostent
\*result_buf, char *buf, size_t buflen)
{
return NSS_STATUS_NOTFOUND;
}
============================
I've compiled it using the following options :
gcc -c libnss_fns.c -fpic
gcc -shared -o libnss_fns.so.1 -Wl,-soname,libnss_fns.so.1 libnss_fns.o
Placed it in /lib, and my hosts line in nsswitch.conf looks like :
hosts: fns
I was hoping that a search using gethostbyname() would at least return
a host not found error, but instead it returns (using a simple command
line tool that takes a host as an argument and passes it to gethostbyname)
Resolver Error 0 (no error) : host 'voyager'
The lookup tool works if I change nsswitch.conf to use DNS.
What am I doing wrong? I've got the glibc manual. I'm finding it
hard to follow the source code for glibc-2.0.6 (i.e. looking at the
files in /nss/nss_files/*) to work out exactly how
what I need to write (or even to find out what I need to know /
learn).
Is my understanding correct when I say that what I need to do is;
write implementation for (or at least some of) the interfaces in netdb.h ?
Any help / pointers in the right direction / Good books etc would be
much appreciated!
Thanks,
Christopher
(A would-be-systems-programmer!)
Mail : [EMAIL PROTECTED]
------------------------------
From: Kaelin Colclasure <[EMAIL PROTECTED]>
Crossposted-To: comp.unix.solaris
Subject: Re: RFI: Linux implementation of tnf tracing system
Date: Tue, 31 Oct 2000 15:41:21 -0800
Pete Zaitcev wrote:
>
> On Tue, 31 Oct 2000 12:08:55 -0800, Kaelin Colclasure <[EMAIL PROTECTED]> wrote:
> > I am contemplating an attempt to build a clone of the Solaris 2.x tnf
> > facilities for Linux.
>
> I used Chris Quelle's TNF on Solaris years ago. It was a great tool.
> Some aspects of it may not be apparent to outside observers.
> For instance, userland TNF collector exists.
Hmmm, are you referring to the fact that TNF_PROBEs can be inserted into
userland processes, or are you saying that a userland-only tnf
implementation exists? My Solaris 2.6 box has two entries in the /dev
tree which I've been assuming are for a device driver that implements
the tnf collector:
---8<---
[kaelin@hydra src]$ ll /dev/tnf*
lrwxrwxrwx 1 root root 30 Oct 13 1999 /dev/tnfctl ->
../devices/pseudo/tnf@0:tnfctl
lrwxrwxrwx 1 root root 30 Oct 13 1999 /dev/tnfmap ->
../devices/pseudo/tnf@0:tnfmap
--->8---
> Inside Sun, TNF is used with "tnfview2", which is a GUI for interactive
> viewing of TNF traces. AFAIK, it never was productized, which is
> a pity. In fact a large part of TNF vision was to create a
> "Trace in Normal Form", which would be gathered from kernel (with
> prex), from libraries, and from anywhere else. Later tools would
> be able to merge/sort and do any other processing all the way down
> to fancy GUIs.
There was a public release of tnfview around the 2.5 era -- ISTR from a
Sun lab in Canada. I too was quite taken with its capabilities.
Obviously, the next step after a free (GPL) tnf facility for Linux would
be to recreate some of those awesome tools! But let me not get too far
ahead of things here...
> When TNF matured, Chris went on to do a "TNF for Java". I am curious,
> with what success.
>
> --Pete
I'd be curious as well. Perhaps someone in c.u.s will enlighten us?
-- Kaelin
------------------------------
** FOR YOUR REFERENCE **
The service address, to which questions about the list itself and requests
to be added to or deleted from it should be directed, is:
Internet: [EMAIL PROTECTED]
You can send mail to the entire list (and comp.os.linux.development.system) via:
Internet: [EMAIL PROTECTED]
Linux may be obtained via one of these FTP sites:
ftp.funet.fi pub/Linux
tsx-11.mit.edu pub/linux
sunsite.unc.edu pub/Linux
End of Linux-Development-System Digest
******************************