Linux-Development-Sys Digest #806, Volume #6 Thu, 10 Jun 99 00:14:39 EDT
Contents:
Writing Linux FileSystems for Dummies :-) ("ELSID Software Systems LTD.")
Re: Images ("Clint Byrum")
Re: Run time measurement with micro (or at least milli)-second (Virasit Imtawil)
Re: NT driver writer new to Linux kernel/drivers (Peter Samuelson)
Network Wide Systems Adminstration Software (Jordan Mendelson)
Re: /etc/inittab suggestion for all distributions (Abdullah Ramazanoglu)
Re: Any Mail Application for commercial use (Stefaan A Eeckels)
Re: /etc/inittab suggestion for all distributions (Miquel van Smoorenburg)
Re: Questions on Linux Memory Managment ("Selious")
egcs' configure dependance? ("abn")
/etc/inittab suggestion for all distributions (Abdullah Ramazanoglu)
Re: kernel vs gcc-2.95 (Paul Kimoto)
Re: Any Journaling FS development? (Christopher Browne)
Casio QV-11 on Lava DSerial PCI Port, follow-up (Marco Fonseca)
Re: Book on HW/SW interface? (geoff)
Re: NT driver writer new to Linux kernel/drivers (Holden McGroin)
----------------------------------------------------------------------------
From: "ELSID Software Systems LTD." <[EMAIL PROTECTED]>
Subject: Writing Linux FileSystems for Dummies :-)
Date: Wed, 09 Jun 1999 09:28:44 -0400
Greetings:
I am working on a project that requires a very good understanding of the
interaction between the Linux kernel and its file system modules in
order to create
some debugging tools for filesystem interaction that will be inserted
between the
kernel and the loaded filesystem modules
Are there any books, papers etc.. that describe this process as well as
the roll of
the sys_xxxx and other internal functions.
I am looking for a 'hard core' manual not the usuall computer bookstore
stuff.
Regards
Robert
[EMAIL PROTECTED]
------------------------------
From: "Clint Byrum" <[EMAIL PROTECTED]>
Subject: Re: Images
Date: Wed, 9 Jun 1999 17:13:13 -0700
There is a great Bootdisk-HOWTO that will tell you how to create bootdisks.
It helped me to understand a lot of the stuff that goes on a system bootup.
Lenny grosso wrote in message <7jkah0$pme$[EMAIL PROTECTED]>...
>Can anybody tell me about creating boot images for a floppy disk?
>
>Thanks
>Lenny Grosso
>
>
>
------------------------------
From: Virasit Imtawil <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.misc
Subject: Re: Run time measurement with micro (or at least milli)-second
Date: Wed, 09 Jun 1999 15:33:59 +0100
Reply-To: [EMAIL PROTECTED]
First of all, thank you very much for your help. I would like to describe what
exactly I am now trying to do in breif.� I implement a sequential decoder (for
convolutional codes) in C. It reads the input sequence to be decoded from
stdin. The input sequence is truncated into blocks. The decoder usually spends
different amout of time to decode each received input frame. I would like to
measure how much of time used to decode one frame. Usually one frame needs less
than 1 ms decoding time. One solution that I am now doing is to measure� the
time to decode every 20 frames of 10,000 frames (total) which is not exactly I
want but it's the only way I can think of now. That's why I would like the
resolution in micro-second to measure the time to decode each frame (not each
10 frames) and then print it out. In fact, I would like to increase the frame
length to be 10 times or 20 times longer but it's not possible because there is
not enough memory. Could you please give me some more idea please? Many thanks
in advance,
Regards,
Virasit
Wolfgang Denk wrote:
> You are wrong; clock() has microsecond resolution. Just RTFM:
>
> ������� ... to get the number of seconds used, divide by
> ������� CLOCKS_PER_SEC
>
> CLOCKS_PER_SEC is defined by ISO/IEC 9899:1990 7.12.1:
>
> ������� The macro `CLOCKS_PER_SEC' is the number per second of the
> ������� value returned by the `clock' function.
>
> and CAE XSH, Issue 4, Version 2:
>
> ������� The value of CLOCKS_PER_SEC is required to be 1 million on
> ������� all XSI-conformant systems.
------------------------------
From: [EMAIL PROTECTED] (Peter Samuelson)
Subject: Re: NT driver writer new to Linux kernel/drivers
Date: 9 Jun 1999 00:17:42 -0500
Reply-To: Peter Samuelson <[EMAIL PROTECTED]>
[Peter Samuelson <sampo.creighton.edu!psamuels>]
> > Yes. Reportedly, the model (pthreads, though there are a couple
> > quirks in the implementation) is in some ways not as sophisticated
> > as the NT threads model. IANATP so I can't really discuss the
> > issues competently.
[H. Peter Anvin <[EMAIL PROTECTED]>]
> OK... that's the first time I've heard it being claimed that phreads
> isn't as "sophisticated" as NT threads.
I don't know where I heard it. I don't know if it's true. But I
*have* heard it, and IIRC it was from someone who claimed to have used
both, for whatever that's worth. Could still be FUD.
> However, it is known that the process-creation overhead of NT is
> positively huge, whereas fork() is a pretty cheap operation in Linux.
Yeah. Does NT even *have* fork()/vfork(), or just spawn()? I would
not believe it possible to have a "POSIX subsystem", however crippled,
without fork(), but ... VMS managed somehow, with a rather strange
vfork() emulator that depended heavily on a matching exec*() emulator.
It wasn't useful for real forking, of course.
--
Peter Samuelson
<sampo.creighton.edu!psamuels>
------------------------------
Date: Wed, 09 Jun 1999 11:30:54 -0400
From: Jordan Mendelson <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.admin
Subject: Network Wide Systems Adminstration Software
Hello all,
I have a situation which I believe faces a large amount of the people who have
large networks setup out there.
I run an ISP which does dialup internet access, web hosting, colocation, mail
hosting, database hosting, shell services, etc. All the basic stuff you'd expect
from an ISP. The problem I've run into is accounting and management across
multiple machines.
1) I need a system which I can synchronize password and shadow files across a
network, but only provide login access to specific machines for specific users
without duplicating any data.
2) I need to be able to have more than one person add access to system services
without worrying about two people accidently editing the same configuration file
at once and overwriting eachother's changes. These include changes for web
hosting configuration, virtual IP setup, aliases, password, shadow, groups,
nameservice, virtual pop3, virtual ftp, etc.
3) I need a to be able to add a user or services from several different machines
that are automated. For example, a user which signs up for an account using a
distributed CD. We would need to add home directories, be able to change
passwords using web page for instance, add / remove email accounts.
4) I need to be able to associate multiple user accounts with a single customer
account. This is mostly a billing thing and not necessarily related to the
system, however exporting the user table to the billing software easily is a
requirement. This includes accounting information such as time online, disk
space usage, web hosting bytes, colocation bandwidth, etc.
Now I know I could use something like NIS to handle distributed passwords, but
let's be honest. It isn't a complete system.
I've come up with a solution which would maintain backwards compatibility while
individual daemons are updated to handle access to configuration directly.
Basically what happens is that I'd push all my configuration data, /etc/passwd,
/etc/shadow, /etc/group, /etc/named.conf, /var/named/db.*, httpd.conf, virtuals
config, pop.virt, aliases, virtusertable, etc to a SQL database such as Mysql,
Oracle, Informix, etc.
A client daemon would sit on every machine and update configuration from the
database back into the configuration files themselves restarting other daemons
such as apache automatically. For example, every half minute new changes for the
passwd database would be aquired and merged into /etc/passwd and /etc/shadow,
any new users would have home directories created and skel copied over, quotas
would be established on all machines for that user where they have access, etc.
Another example is I add a domain to the database, apache configuration is
automatically updated, the user is given frontpage/webdav access i required,
virtual ip is setup, nameservice is reconfigured to handle the domain,
relay-domains and/or sendmail.cw is updated on all mail servers is updated to be
able to accept mail as that host, etc.
This particular configuration has the advantage that if the database ever goes
down, configuration data still exists on all the machines and they continue to
run.
Data can be easily accessed from an outside source since it's all stored on a
standard SQL database, you can export it any way you want or easily build a
billing database around it.
However, this solution is not truly optimal as it is really just a big hack :)
Does anyone know of any similar system that exists out there? I've been
searching all over. So far I've found SFI Director
(http://www.sfi.ch/english/main_e.html) which has similar functionality,
Ganymede (http://www.arlut.utexas.edu/gash2/) that looks like the beginnings of
a system which could be extended to do it, COAS (http://www.coas.org/) which is
poorly documented but looks promising, NIS/NIS+ of course, DCE defines a CDS
system which handles similar tasks.
Jordan
--
Jordan Mendelson : http://jordy.wserv.com
Web Services, Inc. : http://www.wserv.com
------------------------------
From: Abdullah Ramazanoglu <[EMAIL PROTECTED]>
Subject: Re: /etc/inittab suggestion for all distributions
Date: Wed, 09 Jun 1999 21:33:06 +0300
Frank v Waveren wrote:
>
> Why? Why not just switch to a virtual terminal with ctrl-alt-f1?
>
Because in a X-respawn loop, I could find no way to do it.
The following scenario occurs:
init starts X : Here the console is automatically switched to V.T. where
X attached.
X crashes : Falls back to V.T. #1
init respawns X: Again switch to V.T.X
X again crashes : Again fall back to V.T.1
Pressing Alt-F1 has no effect, because whenever X is started, it will
automatically switch to its own V.T. without consulting you.
In a default configuration, I can only do a Ctrl-Alt-Del, which reboots
the machine just to enter the same respawn loop.
And while it is going on, I have no chance to get control of console. If
X is not respawned by init, it would be OK; I would be at the V.T.#1 in
a stable way.
This is the case when you change init default run level from 5 to 3 (no
auto-X), and start x manually via startx. When startx fails, it just
falls back to the V.T. where you run it, and sits there.
In init default run level 5, X has got to be healthy or you can not
access to the machine.
The only way out (so far I can find) is booting from diskette, mounting
root partition, editing inittab, and changing initdefault from 5 to 3.
Regards,
--
Abdullah Ramazanoglu ( aramazanoglu AT demirbank DOT com DOT tr )
------------------------------
From: [EMAIL PROTECTED] (Stefaan A Eeckels)
Crossposted-To:
comp.os.linux.development.apps,comp.os.linux.networking,comp.os.linux.misc
Subject: Re: Any Mail Application for commercial use
Date: 9 Jun 1999 10:55:47 GMT
In article <[EMAIL PROTECTED]>,
Eddy <[EMAIL PROTECTED]> writes:
> Besides Zmail and Sendmail, is there any mail application suitable for
> commercial use ? As Sendmail seems too complicated for commercial and
> the user interface is not so user-friendly.
I'm very pleased with qmail. Easy to set up, fast, and reliable.
--
Stefaan
--
PGP key available from PGP key servers (http://www.pgp.net/pgpnet/)
___________________________________________________________________
Perfection is reached, not when there is no longer anything to add,
but when there is no longer anything to take away. -- Saint-Exup�ry
------------------------------
From: [EMAIL PROTECTED] (Miquel van Smoorenburg)
Subject: Re: /etc/inittab suggestion for all distributions
Date: 9 Jun 1999 18:23:06 +0200
In article <[EMAIL PROTECTED]>,
Abdullah Ramazanoglu <[EMAIL PROTECTED]> wrote:
>In init default run level 5, X has got to be healthy or you can not
>access to the machine.
>The only way out (so far I can find) is booting from diskette, mounting
>root partition, editing inittab, and changing initdefault from 5 to 3.
You can ofcourse also boot the machine, interrupt LILO (keep shift pressed),
and boot the machine with the 'single' option. That will boot into single
user mode for repairs.
You can even boot the machine with '2' as option, it will boot into
runlevel 2 directly.
Mike.
--
Indifference will certainly be the downfall of mankind, but who cares?
------------------------------
From: "Selious" <[EMAIL PROTECTED]>
Subject: Re: Questions on Linux Memory Managment
Date: Wed, 9 Jun 1999 14:27:09 +0200
>1) How does the three-level page table work? Is it hierarchic in some way?
Yes, but I believe on the intel, only two are used for real or something?
Anyway, instead of looking at the kernel source, buy the book:
Linux Kernel Programming.
It's not a very thick book, written by some German linux-freaks (the
technical kind) and very GOOD.
I have read the part only once, and didn't play with it jet, but I'm sure it
tells you what you want to know !!
Anyway, whatever another idiot replied, even IF these are questions for a
test or so, you may ask them here. I mean, if you can pass the exam with
usenet, it also prooves you're ready for a real linux development job !!
Succes....
BTW if you result in some nice document about this all (in English, German,
French or Dutch), please send me a copy if possible. I'd love to read you're
views on it !!
------------------------------
From: "abn" <[EMAIL PROTECTED]>
Subject: egcs' configure dependance?
Date: Wed, 9 Jun 1999 20:10:05 +0400
Hi, all!
Anybody can say what packages do i need for build egcs?
I did thin install and can't do .../egcs../configure :-(
I did full install i i do it!
thanks
------------------------------
From: Abdullah Ramazanoglu <[EMAIL PROTECTED]>
Subject: /etc/inittab suggestion for all distributions
Date: Wed, 09 Jun 1999 18:46:27 +0300
To be able to break the respawn loop which occurs when X fails to start
in an "id:5:initdefault:" system, I have added a "kbrequest" entry to
/etc/inittab as below:
# Switch to single-user upon receiving <LeftAlt-Uparrow> key combination
:kr::kbrequest:/sbin/shutdown -t3 now
This is with default keyboard map. Users can adjust "kbrequest" signal
to any key combination they want.
With this entry in inittab, when a X-respawn loop occurs, I simply press
Alt-Uparrow to switch to run level 1. Then it is possible to do repairs.
It is both a big relief and encouragement for those who modify X setup.
The alternative is booting from diskette.
I suggest that distributions put such an entry to their inittab by
default.
Regards,
--
Abdullah Ramazanoglu ( aramazanoglu AT demirbank DOT com DOT tr )
------------------------------
From: [EMAIL PROTECTED] (Paul Kimoto)
Subject: Re: kernel vs gcc-2.95
Date: 9 Jun 1999 22:28:49 -0500
Reply-To: [EMAIL PROTECTED]
[c.o.l.d.apps trimmed]
In article <[EMAIL PROTECTED]>, G. Sumner Hayes wrote:
> Lots of people build 2.2.x with egcs without problems. However,
> it should not be considered as stable as gcc 2.7.2.3 and won't be
> at least until Linus switches over to gcc 2.95 (or whatever later
> version). AFAIK there are no known bugs in the kernel asms
> left. There may be unrelated egcs bugs, if you can find any then
> report them to the egcs crew and they'll try to fix them. Getting
> egcs to work with the linux kernel is a major goal of egcs.
There's been a bit of heat on the egcs mailing list between LT and
the egcs folks. Building the kernel with gcc-2.95 may require the
"-fno-strict-aliasing" flag (if "-fstrict-aliasing" is still turned
on by "-O2"). LT continues to stand by gcc-2.7.2.3.
--
Paul Kimoto <[EMAIL PROTECTED]>
------------------------------
From: [EMAIL PROTECTED] (Christopher Browne)
Subject: Re: Any Journaling FS development?
Reply-To: [EMAIL PROTECTED]
Date: Thu, 10 Jun 1999 03:36:54 GMT
On 9 Jun 1999 18:58:45 GMT, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
>Is there any JFS development this time? I'd like to join, if there are some,
>or I'll start my own development.... Any ideas?
There be several. See URL below...
--
I still maintain the point that designing a monolithic kernel in 1991
is a fundamental error. Be thankful you are not my student. You would
not get a high grade for such a design :-) (Andrew Tanenbaum to Linus
Torvalds)
[EMAIL PROTECTED] <http://www.ntlug.org/~cbbrowne/linuxkernel.html>
------------------------------
From: Marco Fonseca <[EMAIL PROTECTED]>
Subject: Casio QV-11 on Lava DSerial PCI Port, follow-up
Date: Wed, 09 Jun 1999 23:55:27 -0400
Marco Fonseca wrote:
>
> Does anyone out there know how I can go about getting Linux to recognize
> the Lava card (which in Win98 device manager appears in two separate
> entries: as a parent card and as COM ports 5 and 6) and then Casio
> digital camera attached to it?
> Thanks,
> Marco Fonseca
According to the PCI devices tab in KDE Control Center/Information/,
this is how the Lava DSerial PCI card is recognized by the system:
Bus 0, device 12, function 0:
Serial Controller: Unknown vendor Unknown device (rev0).
Vendor id=1407. Device id=100
Slow devsel. Fast-to-back capable. IRQ 11.
I/O at 0xb800 [0xb801]
I/O at 0xb400 [0xb401]
I don't know if this info would help to configure the serial ports in
Linux RH 6.0. But according to the Lava people, this is how the Lava
DSerial PCI card should be installed in OS such as Linux (readme file
follows):
==================
Question
I am trying to install the Lava PCI card in an OS other than DOS,
Win3.11, Win95/98, or NT4.0. I have commands or an utility that can
configure my port. However, I have no way of knowing how the PCI bus on
my system has configured the card. What can I do?
Answer
We have a utility that reports the IO address and IRQ assigned by the
PCI bus on your system. This utility MUST be run from DOS level.
This utility can be run from a DOS boot disk to report the IO address
range and IRQ that the PCI bus on your system has confiigured our card
to.
Use this utility if you wish to configure a Parallel port in an OS other
than DOS, Win3.11, Win95/98, or NT4.0. For example SCO UNIX, Linux...
i.e. using the makedev parallel command. Consult the Man Pages or
Documentation for the OS for the appropriate commands.
Create a DOS boot disk in DOS compatible system (not NT4.0) with the
following command:
format a: /s
Copy Lavaconf.exe to that diskette. (Can be downloaded from the
Utilities portion of our web site for your PCI card www.lavalink.com or
in the Win3.11 directory on the floppy).
Restart the machine that you wish to install the Lava Parallel PCI in
and boot from that boot disk you created.
Run the Lavaconf.exe
If this reports an address that ends with 0 then the ending address will
end in 7.
If this reports an address that ends with 8 then the ending address will
end in F.
i.e.
Lavaconf reports:
10F0
then in the OS put 10F0-10F7 for the Input Output Range.
i.e.
Lavaconf reports:
10F8
then in the OS put 10F8-10FF for the Input Output Range.
Lava Computer MFG Inc.
12/2/98
=================
Now, because the KDE Control Centre already gives me an IRQ and I/O
ports for the card, I should just proceed to try and see if this info
works. Any ideas on how to proceed?
Thanks,
Marco Fonseca
------------------------------
From: [EMAIL PROTECTED] (geoff)
Subject: Re: Book on HW/SW interface?
Crossposted-To: comp.os.linux.hardware
Date: 09 Jun 1999 16:18:35 GMT
The question is simple, the answer isn't. The answer will
vary depending on every specific piece of hardware. To
my knowledge, there is no standard or standard family
of interfaces across hardware devices.
A few hardware vendors (Parallax comes to mind) who
design hardware, then embed an OS into the hardware
which communicates via some communications protocol.
In this case, you write your app then make an external
call to control the hardware. If this is implemented
across an entire product family (as Parallax has done)
then you get a nice consistent manner of doing things.
Problem here is that this approach is not particularly
flexible, and potentially incurs signficant (and I
mean significant) overhead on the hardware device.
Here's an idea... if you live near a used bookstore,
look for one of the *really* old PC hardware books.
They tend to have short chapters on using x86 assembly.
That may be useful to you, just in terms of concept.
-geoff
Andy ([EMAIL PROTECTED]) wrote:
: Slav Inger wrote:
: >
: > Hello,
: >
: > My question is very simple, but I haven't been able to find an answer.
: <snip>
: > - literally, how software (machine code) causes bits to flip or motors
: > to actuate.
: <snip>
: > Anything you can suggest? I'm not looking for an
: > architecture reference - I've read all CPU and hardware manuals I could
: > find on a number of computer architectures.
: >
: Why don't the CPU and hardware manuals answer the
: question? If you go to a much lower level, then you
: are into electrical engineering.
: Are you trying to figure out low-level semi-conductor
: devices, bi-polar junctions, MOSFETs and associated
: interactions? How to bias a transistor junction?
: This doesn't look like a simple question.
: -Andy
--
=======================================================================
Geoff Galitz [EMAIL PROTECTED] Providing systems administration
UNIX Systems Administrator through comedy for longer than I
astrology.net care to admit.
(415)447-6193 x896
------------------------------
From: [EMAIL PROTECTED] (Holden McGroin)
Subject: Re: NT driver writer new to Linux kernel/drivers
Date: Wed, 09 Jun 1999 16:15:52 GMT
On 6 Jun 1999 01:29:58 -0500, [EMAIL PROTECTED] (Peter
Samuelson) wrote:
>[Holden McGroin <[EMAIL PROTECTED]>]
>> BTW, are there threads in linux ?
>
>Yes. Reportedly, the model (pthreads, though there are a couple quirks
>in the implementation) is in some ways not as sophisticated as the NT
>threads model. IANATP so I can't really discuss the issues
>competently.
>
>I guess the standard excuse for any threads shortcomings (and like I
>said I'm not sure what those are) is that in Linux processes are so
>lightweight that often threads don't buy you much anyway.
Are there any docs for the new pthreads? These seem to have come in
2.2.x kernel?
------------------------------
** 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
******************************