old-www/LDP/LG/issue80/lg_tips.html

1469 lines
50 KiB
HTML

<!--startcut ======================================================= -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<META NAME="generator" CONTENT="lgazmail v1.4F.u">
<TITLE>More 2 Cent Tips & Tricks LG #80</TITLE></HEAD><BODY BGCOLOR="#FFFFFF" TEXT="#000000"
LINK="#3366FF" VLINK="#A000A0">
<P>
<CENTER>
<!-- *** BEGIN navbar *** -->
<!-- *** END navbar *** -->
</CENTER>
</p>
<!-- QUICK TIPS SECTION ================================ -->
<!-- endcut ======================================================= -->
<center>
<H1><A NAME="tips"><IMG ALIGN=MIDDLE ALT="" SRC="../gx/twocent.jpg">
More 2&cent; Tips!</A></H1> <BR>
<!-- BEGIN tips -->
Send Linux Tips and Tricks to <A HREF="mailto:linux-questions-only@ssc.com">linux-questions-only@ssc.com</A></center>
</center>
<UL>
<!-- index_text begins -->
<li><A HREF="#tips/1"
><strong>Fvwm Buttons</strong></a>
<li><A HREF="#tips/2"
><strong>Creating WAN "LAN' with one IP Address</strong></a>
<li><A HREF="#tips/3"
><strong>customized linux install cd?</strong></a>
<li><A HREF="#tips/4"
><strong>Ghostscript fails after printer driver install</strong></a>
<li><A HREF="#tips/5"
><strong>quick disaster recovery</strong></a>
<li><A HREF="#tips/6"
><strong>question</strong></a>
<li><A HREF="#tips/7"
><strong>checkinstall</strong></a>
<li><A HREF="#tips/8"
><strong>'crypt' error !!</strong></a>
<li><A HREF="#tips/9"
><strong>demand dialing</strong></a>
<li><A HREF="#tips/10"
><strong>Modem speed and diald</strong></a>
<li><A HREF="#tips/11"
><strong>Exchange with Linux</strong></a>
<li><A HREF="#tips/12"
><strong>Grub vs LILO</strong></a>
<li><A HREF="#tips/13"
><strong>Email Linux To Windows - a simple solution for reference</strong></a>
<li><A HREF="#tips/14"
><strong>linuxconf setup</strong></a>
<li><A HREF="#tips/15"
><strong>Kernel Message: VM: Killing resource foo (bar)....</strong></a>
<li><A HREF="#tips/16"
><strong>Parsing Strings To Equations</strong></a>
<li><A HREF="#tips/17"
><strong>lpd/lpr problems with serial printer</strong></a>
<li><A HREF="#tips/18"
><strong>Getting files out of a .rpm file without installing it</strong></a>
<li><A HREF="#tips/19"
><strong>ramdisk and initrd fundamentals?</strong></a>
<li><A HREF="#tips/20"
><strong>Re: Making executables smaller</strong></a>
<li><I>Linux Journal's</I> Weekly News Notes
<a href="#tips/lj">Tech Tips</a>
<ul>
<LI>sending Microsoft Word documents
<LI>Keeping a persistent session as you log in and out from different terminals
<LI>Outlook to Evolution
<LI>Mozilla port paranoia
<LI>Renaming a file that has a special character in the name
<LI>Have Ethernet cables, will travel
<li><A HREF="http://noframes.linuxjournal.com/subscribe/lja-sub.html"
>subscribe</A> to LJWNN
</ul>
<!-- index_text ends -->
</UL>
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="tips/1"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">Fvwm Buttons</FONT></H3>
Tue, 18 Jun 2002 15:11:23 +0100 (BST)
<BR>Thomas Adam (<a href="mailto:linux-questions-only@ssc.com?cc=Hans.Borg@Physics.umu.se&subject=%20Re%3A%20%5BLG%2080%5D%202c%20Tips%20%231">The <em>LG</em> Weekend Mechanic</a>)
<BR>Question by Hans Borg
<blockquote><font color="#000066">This is in reply to
<a href="http://www.linuxgazette.com/lg_mail.html#wanted/5">Help Wanted #5, in issue 79.</a>
Thomas replied via the FVWM mailing list.
More details about that can be found at:
<A HREF="http://www.fvwm.org/mailinglist.html"
>http://www.fvwm.org/mailinglist.html</A>
-- Heather</font></blockquote>
<P>
Hello,
</P>
<P>
In answer to your question as to why when you press a
button on your panel, it stays depessed is to do with
the way in which FVWM handles <TT> exec()</TT> a program via the
$SHELL of the $USER.
</P>
<P>
If command is an fvwm Exec command, then the button
will remain pushed in until a window whose name or
class matches the quoted portion of the command is
encountered. This is intended to provide visual
feedback to the user that the action he has requested
will be performed. If the quoted portion contains no
characters, then the button will pop out immediately.
</P>
<P>
Note that users can continue pressing the button, and
re-executing the command, even when it looks "pressed
in."
</P>
<P>
There is a way around this, and I have found that if
you append a "&amp;" character at the end of your command
that is bound to the button, then that <EM>sometimes</EM>
solves your problem -- but not always.
</P>
<P>
Hope I have helped,
Kind Regards,
</P>
<P>
Thomas Adam
</P>
<P>
-- "The Linux Weekend Mechanic" -- www.linuxgazette.com
</P>
<HR width="10%" align="center"><P>
Hi,
</P>
<P>
Thanks a lot for taking the time to answer my Q.
I actually managed to sort it out some time ago, but
you are right. I had some fiddle with the window name.
</P>
<P>
Best regards
<BR>Hans Borg.
</P>
<!-- end 1 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="tips/2"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">Creating WAN "LAN' with one IP Address</FONT></H3>
Mon, 17 Jun 2002 13:11:03 -0700
<BR>Heather Stern (<a href="mailto:linux-questions-only@ssc.com?cc=kanegelo@webmail.co.za&subject=%20Re%3A%20%5BLG%2080%5D%202c%20Tips%20%232"><em>LG</em> Technical Editor</a>)
<P><STRONG>
If I'm given a network address 192.168.7 (Class C) and have to create
a WAN with 5 routers, how do I do it?
</STRONG></P>
<P><STRONG>
I can Subnett but the 3rd router keep saying the Network address is
already used, when i try to put the subnet address there.
</STRONG></P>
<P><STRONG>
How do i do it.
<br>RURI!!
</STRONG></P>
<P>
We have a very good piece on that sort of thing in the back issues.
It's called "Routing and Subnetting 101" and is one of the longest
postings ever written by Jim Dennis. Several professors have used it in
their coursework and even though Linux was much younger then the
principles are still valid.
</P>
<P>
It's in issue 36. A professor asked about it in issue 37's mailbag, and
some followups appeared in issues 51 and 59. Of course you could have
learned this by typing "Routing and Subnetting" into the <EM>Linux Gazette</EM>
search page:
<A HREF="../search.html"
>http://www.linuxgazette.com/search.html</A>
</P>
<P>
...and you can easily get to those articles by visiting the Answer Gang
Knowledge Base:
<A HREF="../tag/kb.html"
>http://www.linuxgazette.com/tag/kb.html</A>
</P>
<!-- end 2 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="tips/3"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">customized linux install cd?</FONT></H3>
Wed, 5 Jun 2002 14:01:28 +0000
<BR>linus gasser (<a href="mailto:linux-questions-only@ssc.com?cc=simkin1@hotmail.com&cc=ineiti@linusetviviane.ch&subject=%20Re%3A%20%5BLG%2080%5D%202c%20Tips%20%233">ineiti from linusetviviane.ch</a>)
<BR>Question by simkin1
<blockquote><font color="#000066">These are in reply to
<a href="http://www.linuxgazette.com/lg_mail.html#wanted/1">Help Wanted #1, Issue 79.</a>
-- Heather</font></blockquote>
<P>
Hi,
I did about this on a RH7.2 but I don't think it'll change this drastically
under RH 7.3. You can point your browser to
</P>
<P>
<A HREF="http://lcmpc10.epfl.ch:8080/Menu/Docus/RedHat%20CD"
>http://lcmpc10.epfl.ch:8080/Menu/Docus/RedHat%20CD</A>
</P>
<P>
(sorry for the space in the url...) it even describes how you can add a
kernel on your own and get it to run...
</P>
<P>
Ineiti
</P>
<!-- end 3 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<HR WIDTH="40%" ALIGN="center">
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy"></FONT></H3>
Sun, 9 Jun 2002 23:23:44 -0700
<BR>Peter Tootill (<a href="mailto:linux-questions-only@ssc.com?cc=ptootill@abilitec.com&subject=%20Re%3A%20%5BLG%2080%5D%202c%20Tips%20%233">ptootill from abilitec.com</a>)
<P>
The easiest way to customise the install is with Kickstart. We have done it
(and learned a few things on the way).
</P>
<P>
Haven't time for a comprehensive reply at present but, if kicksatart hasn't
been covered, I could put something together.
</P>
<P>
Rgrds
</P>
<P>
Peter
</P>
<!-- end 3 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="tips/4"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">Ghostscript fails after printer driver install</FONT></H3>
Tue, 11 Jun 2002 20:16:54 -0700
<BR>Matthew Easton (<a href="mailto:linux-questions-only@ssc.com?cc=matthew@sublunar.com&subject=%20Re%3A%20%5BLG%2080%5D%202c%20Tips%20%234">matthew from sublunar.com</a>)
<!-- sig -->
<!-- sig -->
<blockquote><font color="#000066">This is in reply to
<a href="http://www.linuxgazette.com/issue79/lg_tips.html#tips/4">LG 79, Two Cent Tip #4.</a>
-- Heather</font></blockquote>
<P>
Hello,
</P>
<P>
Rich Price may want to try a Laserjet 4 driver instead of trying to figure
out the Xt dependency.
</P>
<P>
I have the Samsung ML-1450 and it's quite happy pretending to be an HP
Laserjet 4.
</P>
<P>
Matt Easton
</P>
<!-- end 4 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="tips/5"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">quick disaster recovery</FONT></H3>
Fri, 7 Jun 2002 17:43:22 +0100 (BST)
<BR>Mike Martin (<a href="mailto:linux-questions-only@ssc.com?subject=%20Re%3A%20%5BLG%2080%5D%202c%20Tips%20%235">the <em>LG</em> Answer Gang</a>)
<!-- sig -->
<P>
I may expand this into an article, but for the very common scenario
of "no init found" "unable to open an initial console" (usually after
hard crash) a couple of possible causes which I have not seen
anywhere else
</P>
<P>
There is a fair chance that files on <TT>/</TT> have been corrupted wiped
including <TT>/dev.</TT>
</P>
<P>
Solution (very Rpm specific)
</P>
<P>
So mount rescue media, check for files on /
</P>
<P>
if missing mount cdrom from install and do:
</P>
<P><CODE>
rpm -Uvh dev-&lt;version&gt;-rpm
</CODE></P>
<P>
to re-instate dev files
</P>
<P>
then progressively force re-install rpms until you can boot
</P>
<P>
Then when you have managed to boot do this:
</P>
<P><CODE>
rpm -Va|grep missing&gt;filename
</CODE></P>
<P>
This will print to a file all the files that are missing from your
system according to your rpm database.
</P>
<P>
Then for all the files given do rpm -qf &lt;filename&gt; which will give
you the name of the rpm
</P>
<P>
Then re-install the rpms in turn.
</P>
<P>
This is best done manually so you can check whats missing.
</P>
<P>
Should only take around an hour in total at most.
</P>
<P>
Certainly preferable to doing a re-install.
</P>
<P>
I came across this on my own box a while ago after multiple power
cuts in succession (I'm poor so no UPS)
</P>
<P>
The advantage is that your modifications are far less likely to be
hosed as in a re-install.
</P>
<!-- end 5 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="tips/6"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">question</FONT></H3>
Thu, 30 May 2002 20:12:00 +0200
<BR>Robos (<a href="mailto:linux-questions-only@ssc.com?cc=RosePetal103@aol.com&subject=%20Re%3A%20%5BLG%2080%5D%202c%20Tips%20%236">the <em>LG</em> Answer Gang</a>)
<BR>Question by RosePetal103
<!-- sig -->
<!-- sig -->
<P><STRONG>
To Whom It May Concern:
</STRONG></P>
<P><STRONG><BLOCKQuote>
I went to ebay and found all these used laptops/notebook puters, but I
</BLOCKQuote></STRONG></P>
<P><STRONG>
have no clue which one to select. For example, "Intel Pentium II=AE 366Mhz
290MB RAM
6.1GB HDD
CDROM
Sound
Windows 98
Office 2000 ..."
</STRONG></P>
<P><STRONG>
What does all that mean? And how I go about finding a good, used laptop, like
what trait(s) do I search for?
</STRONG></P>
<P><STRONG>
-Thanks ,
<BR>Desperately needing laptop
</STRONG></P>
<P>
If your question aims at running linux on that thing, compare what
<A HREF="http://www.linux-laptop.net"
>http://www.linux-laptop.net</A> has to say to the model you like.
</P>
<!-- end 6 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="tips/7"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">checkinstall</FONT></H3>
Thu, 30 May 2002 13:48:04 +0100 (BST)
<BR>Mike Martin (<a href="mailto:linux-questions-only@ssc.com?subject=%20Re%3A%20%5BLG%2080%5D%202c%20Tips%20%237">the <em>LG</em> Answer Gang</a>)
<P><STRONG>
I dont know whether anyone else on the list has used the utility
checkinstall available at:
</STRONG></P>
<P><STRONG><BLOCKQuote>
<A HREF="http://asic-linux.com.mx/~izto/checkinstall"
>http://asic-linux.com.mx/~izto/checkinstall</A>
</BLOCKQuote></STRONG></P>
<P><STRONG>
What it is the solution to the problem of maintaining a rpm/deb based
system with compiling programs from source
</STRONG></P>
<P><STRONG>
Basically what it does is runs make install and then makes a
functional rpm and installs it.
</STRONG></P>
<P><STRONG>
It is not perfect but certainly works well enough to continued use
</STRONG></P>
<P><STRONG>
I regard it now as pretty much indispensible when | am following a
project (eg: gnome2)
</STRONG></P>
<P><STRONG>
My feeling is that it ives the flexibilty of using source packages
without losing package management
</STRONG></P>
<P>
Hi!
</P>
<P>
Well, there was some coverage of that utility here in germany in the
magazine (print) "linux-user". Seems to be quite nice, I've used it
several times and it worked most of the times. Not always, but when it
doesn't work you can still fall back to
</P>
<blockquote><pre>./configure
make
make install
</pre></blockquote>
<P>
Robos
</P>
<!-- end 7 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="tips/8"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">'crypt' error !!</FONT></H3>
Wed, 05 Jun 2002 18:16:40 +0530 (IST)
<BR>Karl-Heinz Herrman (<a href="mailto:linux-questions-only@ssc.com?cc=siba_das2001@yahoo.co.in&cc=karl@igcar.ernet.in&subject=%20Re%3A%20%5BLG%2080%5D%202c%20Tips%20%238">the <em>LG</em> Answer Gang</a>)
<BR>Question by sibabrata
<P><STRONG>
I have got a peculiar problem in hand.
Got this code compiled properly in red hat Linux 6.1(g++ compiler
version 2.91.66 ) but giving error in red hat 7.1(g++ compiler version
2.96).But if compiled with red hat 7.1(gcc compiler version 2.96) , it
is doing perfectly fine.
</STRONG></P>
<P><STRONG>
why this in-consistency ?
</STRONG></P>
<P><STRONG>
Source code:
Server.c
</STRONG></P>
<P><STRONG>
Command:
</STRONG></P>
<P><STRONG><CODE>
g++ -lcrypt server.c
</CODE></STRONG></P>
<P><STRONG>
Error:
'crypt' undeclared
</STRONG></P>
<P>
Since it seems nobody tried an answer yet I try to add some cents:
</P>
<blockQuote><ul>
<LI>first thing coming to my mind is probably a typo in the mail -- but server.c and
Server.c might be different files....
</ul></blockQuote>
<P>
You <EM>do</EM> the right includes (whatever they are, crypt.h problaby), do you?
There might be a difference where crypt is stored for gcc and for g++ -- so gcc
and g++ might behave differently. Also g++ might might have changed in default
location or default behaviour of including C headers. Try to locate crypt.h (or
wherever crypt is defined). Is there a g++ version of it? What happens if you put
-I ad -L explicitly to the gcc crypt path?
</P>
<P>
Then crypt is probably compiled by gcc -- this has a different routine name
mangling then g++, so you might have to call not crypt but '_crypt' or 'crypt_' or
something like that (speaking from very little experience with how to use fortran
subroutines in C -- and a peculiar problem lately: if I compiled a subroutine with
gcc I got a "..." undefined from the linker. If I compile it with g++ everzthing
works.
</P>
<P>
I would have expected "better" integration with gnu c and c++ -- but there you go.
</P>
<P>
K.-H.
</P>
<!-- end 8 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="tips/9"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">demand dialing</FONT></H3>
Sun, 02 Jun 2002 21:30:51 -0500
<BR>Jim Bradley (<a href="mailto:linux-questions-only@ssc.com?cc=jebradl@attglobal.net&subject=%20Re%3A%20%5BLG%2080%5D%202c%20Tips%20%239">jebradl from attglobal.net</a>)
<blockquote><font color="#000066">This is in reply to
<a href="http://www.linuxgazette.com/issue79/lg_mail#wanted/7">LG 79, help wanted #7.</a>
-- Heather</font></blockquote>
<P>
There are two linux versions that I've used as a server for demand dialout for internet access, and both worked well. One is Coyote linux, which is a floppy disk boot
version, and can be run on a 386 with numeric coprocessor or a true 486 (or 486sx with numeric coprocessor). I don't recall it's memory requirements. The other version
that is good is the mitel (formerly e-smith) at www.e-smith.org. It requires a 586 class processor, but also setsup DNS, and other server functions.
</P>
<!-- end 9 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="tips/10"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">Modem speed and diald</FONT></H3>
Sun, 9 Jun 2002 17:54:10 -0400
<BR>Ben Okopnik (<a href="mailto:linux-questions-only@ssc.com?cc=n.youngman@ntlworld.com&subject=%20Re%3A%20%5BLG%2080%5D%202c%20Tips%20%2310">the <em>LG</em> Answer Gang</a>)
<BR>Question by Neil Youngman
<P><STRONG>
I've mainly been connecting to the internet using diald, but I've noticed
that I'm only getting about 3.5 KBps , whereas on W98 I get about 5KBps. A
little experimentation shows that dialling with kppp gives about 5KBps as
well.
</STRONG></P>
<P><STRONG>
kppp seems to use an initialisation string of ATM1L1, but changing MODEM_INIT
to "ATM1L1" in <TT>/etc/diald/connect</TT>, didn't improve the performance.
</STRONG></P>
<P><STRONG>
MODEM_INIT started out as "ATZ&amp;C1&amp;D2%C0". I changed "%C0" to "%C3" to ensure
that compression was enabled, but this made no difference. I can't find an
option in diald to log exactly what's sent to the modem and I can't see any
conflicting options in the configuration for pppd.
</STRONG></P>
<P><STRONG>
Any suggestions for how to track down why kppp gets better performance than
diald would be appreciated.
</STRONG></P>
<P><STRONG>
The modem is an MRI 56K internal modem.
</STRONG></P>
<P>
I'm not sure how you would test this, but I suspect that it's not your
PPP connection that's slowing you down - "diald" uses SLIP as a "fake
interface" that's always up, which is why you don't get error messages
from Netscape and such when you try to connect. It listens for requests,
then makes the PPP connection "behind your back". It's been a long time
since I've used it, and I'm rather fuzzy on the details, but ISTR that
"diald" let you play around with SLIP settings... sorry I can't be of
any more help, but that's pretty much the extent of what I remember. I
also STR that "diald" had a good set of documents with it which I found
very helpful in working around a problem that I had with it. Good luck.
</P>
<!-- sig -->
<!-- sig -->
<!-- end 10 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="tips/11"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">Exchange with Linux</FONT></H3>
Tue, 4 Jun 2002 11:11:44 -0700
<BR>John Helms (<a href="mailto:linux-questions-only@ssc.com?cc=jhelms@cvch.org&subject=%20Re%3A%20%5BLG%2080%5D%202c%20Tips%20%2311">jhelms from cvch.org</a>)
<P>
Hope this is the right address for answers as well as questions.
Regarding Linux Exchange
In my quest to use Linux without having to use Windows in our network I
discovered a couple of simple solutions.
</P>
<P>
1. Most any email client will work with a default install of exchange if you
enter your login as in the following:
</P>
<P><BLOCKQuote>
domain/username
</BLOCKQuote></P>
<P>
Of course all the group features will not work with this solution but simple
email is no problem.
</P>
<P>
2. You can use a browser with a default install of exchange since it also
installs IIS as a webserver. Various browsers will have different degrees of
success since of course IE is the "prefered" browser.
Type the following in your browser substituting your exchange servers correct
IP address:
</P>
<P><BLOCKQuote>
<A HREF="http://ipaddress/exchange"
>http://ipaddress/exchange</A>
</BLOCKQuote></P>
<P>
This will give you access to all the group features if your browser will
render the Microsoft proprietary technology.
Thanks for reading
</P>
<P>
John Helms
</P>
<!-- sig -->
<!-- end 11 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="tips/12"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">Grub vs LILO</FONT></H3>
Wed, 12 Jun 2002 12:55:23 -0500 (COT)
<BR>John Karns (<a href="mailto:linux-questions-only@ssc.com?cc=bill@cc.usu.edu&subject=%20Re%3A%20%5BLG%2080%5D%202c%20Tips%20%2312">the <em>LG</em> Answer Gang</a>)
<BR>Question by William J. Terry
<P><STRONG>
Does anyone know what the Grub command is that replaces the LILO command
append="hdb=ide-scsi"
</STRONG></P>
<P>
It would be the same syntax, minus the "append=".
</P>
<P>
The append="" stuff is part of the Lilo syntax. Your grub.conf file
should look something like:
</P>
<blockquote><pre>default=1
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
title Example
root (hd0,0)
kernel /vmlinuz ro root=/dev/hda3 hdc=ide-scsi vga=1 console=/dev/tty2 CONSOLE=/dev/tty2
initrd /initrd-2.4.18-whatever
</pre></blockquote>
<P>
where you are allowed to use "\" and the end of a line, to mean line continuation.
</P>
<!-- end 12 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="tips/13"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">Email Linux To Windows - a simple solution for reference</FONT></H3>
Wed, 5 Jun 2002 14:59:05 +0100 (BST)
<BR>Mike Martin (<a href="mailto:linux-questions-only@ssc.com?subject=%20Re%3A%20%5BLG%2080%5D%202c%20Tips%20%2313">the <em>LG</em> Answer Gang</a>)
<blockQuote><ol>
<LI>Set up mail server on Linux with user ids as applicable (exim
reads userids from linux box)
<LI>Set up fetchmail to poll server at isp
<LI>install and activate pop3 server on linux box
<LI>poll for mail by pop3 to the linux box account
</ol></blockQuote>
<P>
a more detailed example is at:
</P>
<P><BLOCKQuote>
<A HREF="../issue43/stumpel.html"
>http://www.linuxgazette.com/issue43/stumpel.html</A>
</BLOCKQuote></P>
<!-- end 13 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="tips/14"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">linuxconf setup</FONT></H3>
Sat, 22 Jun 2002 02:37:33 +1000
<BR>Serkan Akdag (<a href="mailto:linux-questions-only@ssc.com?cc=serkanakdag@optushome.com.au&subject=%20Re%3A%20%5BLG%2080%5D%202c%20Tips%20%2314">serkanakdag from optushome.com.au</a>)
<blockquote><font color="#000066">This is in reply to
<a href="http://www.linuxgazette.com/issue79/lg_mail.html#wanted/3">LG 79 help wanted #3.</a>
Our reader wondered about setting up ACLs so he could access
his Linuxconf remotely without letting everyone else in.
-- Heather</font></blockquote>
<P>
<A HREF="http://www.redhat.com/docs/manuals/linux/RHL-7.1-Manual/custom-guide/linuxconf-lcinterfaces.html"
>http://www.redhat.com/docs/manuals/linux/RHL-7.1-Manual/custom-guide/linuxconf-lcinterfaces.html</A>
</P>
<P>
That should help you
<IMG SRC="../gx/dennis/smily.gif" ALT=":)"
height="24" width="20" align="middle"> Good luck
</P>
<!-- end 14 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="tips/15"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">Kernel Message: VM: Killing resource foo (bar)....</FONT></H3>
Sat, 08 Jun 2002 17:57:13 +0200
<BR>Didier Heyden (<a href="mailto:linux-questions-only@ssc.com?subject=%20Re%3A%20%5BLG%2080%5D%202c%20Tips%20%2315">the <em>LG</em> Answer Gang</a>)
<BR>Question by Thomas Adams, the <em>LG</em> Weekend Mechanic
<!-- sig -->
<P><STRONG>
Hi Gang,
</STRONG></P>
<P>
Hello Thomas!
</P>
<P><STRONG>
I am wondering if someone would be so kind as to expain to me why I
get the following error messgae:
</STRONG></P>
<P><STRONG><BLOCKQuote>
Grangedairy: kernel: VM: killing resource acroread
</BLOCKQuote></STRONG></P>
<P><CODE>
[ quickly find-grepping that in the kernel source tree ]
</CODE></P>
<P>
Ok, it's in "arch/i386/mm/fault.c". (Actually for 2.4.17 it's "killing
process xxx" but I presume it doesn't really matter). It seems to occur
whenever a process tries to read something from a memory page which is
not accessible because of an out-of-memory condition.
</P>
<P><STRONG>
The above message is brought about, by an abnormal exit of the adobe
acrobat reader. For some reason, my computer will slow down to a
snails pace when I am reading a pdf document,
</STRONG></P>
<P>
That's when the system starts swapping out madly. Does it happen with
<EM>any</EM> PDF document, or only really big ones? What if you disable "Use
Page Cache" and/or "Allow Background Download of Entire File" in your
Acroread preferences (assuming those are currently turned on)?
</P>
<P><STRONG>
and then X will kill acroread without any warning.
</STRONG></P>
<P>
X itself has nothing to do with the actual killing. It's the way the
kernel preserves your system from a total crash. What amount of RAM
do you have?
</P>
<P><STRONG>
When I check my <TT>/var/log/messages</TT> file, I get the above message.
</STRONG></P>
<P><STRONG>
What causes this, and what does it mean???
</STRONG></P>
<P>
OOM.
<IMG SRC="../gx/dennis/smily.gif" ALT=":)"
height="24" width="20" align="middle"> Virtual memory exhausted.
</P>
<P><STRONG>
I tried running "strace" on the "acroread" process, but the file ended
up being 38.2MB, despite me telling it only to display a certain
number of lines
<IMG SRC="../gx/dennis/unsmily.gif" ALT=":-("
height="24" width="20" align="middle">
</STRONG></P>
<P>
So maybe your PDF document is a resource hog. Or there is some
incompatibility between the version of Acrobat Reader installed on your
system and your current set of libraries (even Acrobat 5 is
<EM>dynamically</EM> linked, mmph... this has obvious advantages but since
their reader is only distributed in binary form...) or some bug in
Adobe's product turns it into an self-destructing madsoft.
</P>
<P><STRONG>
It yeilded nothing useful, anyway from what I could see.
</STRONG></P>
<P>
The kernel's divine intervention in such cases is kinda brutal. Expect
the same sort of things as those resulting from a SIGKILL: perhaps the
process was "innocently" trying to <TT> read()</TT> something then it just
vaporized into limbo.
</P>
<P><STRONG>
Thanks,
</STRONG></P>
<P>
Well I hope this'll help you somewhat.
<IMG SRC="../gx/dennis/smily.gif" ALT=":)"
height="24" width="20" align="middle">
</P>
<P>
--
Didier Heyden.
</P>
<!-- end 15 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="tips/16"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">Parsing Strings To Equations</FONT></H3>
Fri, 14 Jun 2002 11:19:13 +0200
<BR>Didier Heyden (<a href="mailto:linux-questions-only@ssc.com?cc=sree707@yahoo.com&subject=%20Re%3A%20%5BLG%2080%5D%202c%20Tips%20%2316">the <em>LG</em> Answer Gang</a>)
<BR>Question by V Sreejith
<P><STRONG>
Can anybody in this list suggest a method
to parse a string into a mathematical equation
and then compute the values according to the
equation.I have to do this in C in Linux.
Is there any such code available in C.
</STRONG></P>
<P><STRONG>
Is there a similar command in Linux.
</STRONG></P>
<P><STRONG>
I have tried myself a lot.It is getting more and more complex.This
is going to the level of a compiler design.ie,the task is similar to
"how a compiler reads the source code and manipulates it", i also
have to do a somewhat similar task.
</STRONG></P>
<P>
Yes. Maybe not as complex as a C parser, because the corresponding
grammar will probably be <EM>much</EM> cleaner; but the part of the
program which will be dedicated to the symbolic computation won't be
easy to write. But if you try with tools such as `flex' and `yacc'
(or `bison') the parser itself can be implemented in a relatively short
time, at least once you have read enough documentation about those
development tools, and thoroughly understood the basic concepts.
The related `info' pages are most useful, and finding tutorials and
likewise on the net is fairly trivial.
</P>
<P>
What's interesting with `bison'-based parsers is that one can more
easily split such tasks into smaller, independent parts, i.e. separate
completely the syntactical analysis of the source code from the rest.
For the parser itself, the work essentially consists in writing a
correct grammar for the corresponding developed language.
</P>
<P><STRONG>
Then I tried google search but
didn't find any useful links in C.I haven't done an extensive search.
</STRONG></P>
<P>
For symbolic computation LISP-like languages may prove more adequate
than C.
</P>
<P><STRONG>
Then I contacted you,the answer gang. I thought if somebody here has
previously done a similar task..it would be helpful for me if they
share it.. or just give me some links to some resources on the net
having information about this...
</STRONG></P>
<P>
Well, what I'm saying here is nothing more than <EM>one</EM> possibility among
others. Keep in mind that whatever solution you choose, you'll have to
invest a good deal of time to fully work it out.
</P>
<P><STRONG>
regards sree
</STRONG></P>
<P>
HTH,
</P>
<P>
-- Didier Heyden.
</P>
<!-- end 16 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="tips/17"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">lpd/lpr problems with serial printer</FONT></H3>
Tue, 4 Jun 2002 03:25:56 EDT
<BR>Doug (<a href="mailto:linux-questions-only@ssc.com?cc=markgorat@cox.net&cc=Grohne@aol.com&subject=%20Re%3A%20%5BLG%2080%5D%202c%20Tips%20%2317">Grohne from aol.com</a>)
<BR>Question by Mark Gorat
<blockquote><font color="#000066">This is in reply to
<a href="http://www.linuxgazette.com/issue79/lg_mail.html#wanted/6">LG 79, help wanted #6.</a>
Rather than solving the problem as asked, Doug suggests a different
approach.
-- Heather</font></blockquote>
<P>
I have only used lpr over a TCP/IP network. Would it be possible to connect
the printer to a serial to ethernet print server (Intel and HP work with
Linux)? Then network to the Linux box. And then have all devices/terminals
use lpr/lpd.
</P>
<P>
Doug
</P>
<!-- end 17 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<HR WIDTH="40%" ALIGN="center">
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy"></FONT></H3>
Mon, 24 Jun 2002 12:20:26 -0300
<BR>Raul Dias (<a href="mailto:linux-questions-only@ssc.com?cc=raul@dias.com.br&subject=%20Re%3A%20%5BLG%2080%5D%202c%20Tips%20%2317">raul from dias.com.br</a>)
<blockquote><font color="#000066">Raul knows which software he should be using instead.
-- Heather</font></blockquote>
<P>
Hi,
</P>
<P>
From the article:
</P>
<P><STRONG><BLOCKQuote>
I am using Mandrake 8.2. I have recently installed a serial printer using a Digi Classic-8
ISA card. . . . I can print to this printer by using 'cat {filename} &gt; <TT>/dev/ttyS11</TT>' and
this works just fine, however I cannot get lpr to print to this printer.
</BLOCKQuote></STRONG></P>
<P>
AFAIK, lpd does not come with mdk 8.2.
IIRC, no up to date distribution ships lpd anymore. At
least they have replaced it with LPRng or CUPS.
</P>
<P>
I don't use MDK, but I do use Cups which is the default
printer system in MDK.
</P>
<P>
I have two serial printers (ttyS0 and ttyS1) working fine.
</P>
<P>
All you got to do is to log into <A HREF="http://localhost:631"
>http://localhost:631</A> and
add a new printer.
Select the proper Serial Port and the most important,
set the correct values to the printer.
My printers works at 9600 and 4800 only.
</P>
<P>
This should be more than fine to live test.
</P>
<P>
If you will keep with lpd, the <TT>/etc/printcap</TT> is the place to go.
The man page for printcap will provide the right arguments
for setting the ttyS printer.
</P>
<P>
Regards,
</P>
<P>
Raul Dias
</P>
<!-- end 17 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="tips/18"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">Getting files out of a .rpm file without installing it</FONT></H3>
Sat, 8 Jun 2002 20:54:01 -0400
<BR>Ashwin N (<a href="mailto:linux-questions-only@ssc.com?cc=ashwin_n@gmx.net&subject=%20Re%3A%20%5BLG%2080%5D%202c%20Tips%20%2318">ashwin_n from gmx.net</a>)
<P>
Ever wanted to get those files out of a .rpm without installing it?
Ofcourse it's easier to just install it, but sometimes it is not
possible because a newer version may already be present on the system.
</P>
<P>
In such cases, the utility "rpm2cpio" can be used to extract the files
of the RPM into a cpio archive.
</P>
<P>
For example:
</P>
<P><BLOCKQuote>
$ rpm2cpio &lt; xmms-2.4.rpm &gt; xmms.cpio
</BLOCKQuote></P>
<P>
The files can then be extracted from the cpio file using the "cpio"
command.
For example:
</P>
<P><CODE>
$ cpio -i -d &lt; xmms.cpio
</CODE></P>
<P>
In this case the files will be extracted with absolute paths into the
present directory.
</P>
<!-- end 18 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<HR WIDTH="40%" ALIGN="center">
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy"></FONT></H3>
<BR>Ben Okopnik (<a href="mailto:linux-questions-only@ssc.com?subject=%20Re%3A%20%5BLG%2080%5D%202c%20Tips%20%2318">the <em>LG</em> Answer Gang</a>)
<P>
A good 2-cents' worth, Ashwin. However, you can do this even easier by
selecting the RPM and pressing 'Enter' in Midnight Commander; all the
files are under "CONTENTS.cpio", and you can explore the rest of the RPM
structure at will. There are also two executable metafiles called
"INSTALL" and "UPGRADE"; if you're viewing the file as root, you can do
either one simply by scrolling down to them and pressing 'Enter'. The
above functionality also applies to <A HREF="http://www.debian.org/">Debian</A>'s DEB files.
</P>
<!-- end 18 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="tips/19"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">ramdisk and initrd fundamentals?</FONT></H3>
Wed, 5 Jun 2002 00:59:06 -0700 (PDT)
<BR>James Stewart (<a href="mailto:linux-questions-only@ssc.com?cc=Steven.J.Hathaway@state.or.us&cc=wartstew@yahoo.com&subject=%20Re%3A%20%5BLG%2080%5D%202c%20Tips%20%2319">wartstew from yahoo.com</a>)
<BR>Question by Steven J. Hathaway
<blockquote><font color="#000066">This is in reply to
<a href="http://www.linuxgazette.com/issue79/lg_mail.html#wanted/4">Issue 79, Help Wanted #4</a>
-- Heather</font></blockquote>
<P>
{1st time at this, let's see what happens}
</P>
<P><STRONG>
What documentation is available for ramdisk and initrd
fundamentals?
</STRONG></P>
<P><STRONG>
When "initrd" is specified in "lilo.conf" and the
Linux kernel is configured for ramdisk support, and
the system is booted, what ramdisk image is loaded
first or at all?
</STRONG></P>
<P>
You also need to configure the kernel to do an
"initrd" as well as a "Ramdisk" if this is what you
wish to do.
</P>
<P><STRONG>
The "initrd" image or the kernel ramdisk image?
</STRONG></P>
<P>
"initrd" loads first. It loads from the bootloader
(LiLo, Loadlin, etc.) while still in "real" mode using
the PC's BIOS calls, and loads before the kernel
loads. The purpose of the initrd is to provide what
ever support files that the kernel might need to find
its root file system. Typically people wishing to
have a generic boot disk that will boot just about
anything can put disk controller drivers, various
filesystems, PC-Card drivers and even networking
drivers in here. Then the kernel is set to attempt to
load all of them, but of course only the ones that
match existing hardware will actually load. After this
process, the initrd can be destroyed to free up the
memory (but I don't know how this is done) as the boot
process continues to find the real root filesystem to
boot from. This file system can reside on anything the
kernel has a driver loaded for, which includes a
"ramdisk". I'm not sure if something in initrd may be
needed to set up the "ramdisk". After the kernel
finishes booting, control is handed off to <TT>/sbin/init</TT>
which then begins executing things in <TT>/linuxrc.</TT>
</P>
<P>
In summery: the initrd is loaded using only BIOS and
simply saves you from having to compile all these
drivers into the kernel, only to have many of them
unused and take up memory in the running system. It
also the only way to deal with PC-Card devices that
might be needed to boot that are only availble as
external modules
</P>
<P><STRONG>
What programs are responsible for the loading the
"initrd" and "ramdisk" root images (kernel or LILO
boot.d).
</STRONG></P>
<P>
"initrd": is loaded with the bootloader. For the
ramdisk, I'm not sure if the kernel can do this
automatically, I expect you have to wait until an
"init" "rc" script residing in initrd can do it
</P>
<P><STRONG>
Note that the Linux kernel does not need LILO in order
to load a ramdisk from a second floppy using the same
drive.
</STRONG></P>
<P>
Right, LiLo is completely out of the picture by this
time.
</P>
<P><STRONG>
When is "pivot_root" an implicit process, and when
must it be explicitly invoked?
</STRONG></P>
<P>
Don't know
</P>
<P><STRONG>
What is the difference between a LILO specified
"initrd" and the kernel specified ramdisk loaded as
root?
</STRONG></P>
<P>
See the above lengthy paragraph
</P>
<P><STRONG>
I have a fundamental problem understanding the
relationships between an "initrd" image, ramdisk root
image, and the use of <TT>/initrd</TT>, <TT>/linuxrc</TT>, and
swap-root.
</STRONG></P>
<P>
Sorry that I don't have all the answers. In fact I
may be wrong in places since I have never really done
this sort of thing before.
</P>
<P>
James
</P>
<blockquote><code><font color="#000033"><br>Linux is the one competitor Microsoft
<br>can't buy,
<br>can't intimidate, and
<br>can't stop.
</font></code></blockquote>
<blockquote><font color="#000066">If Linux were an "it" I might agree with the "one" part, but
if you just take Linux as the kernel, it's like saying rotary engines
(the natural competitor to the cylinder style) are competing with Ford,
and if you don't, then there are a lot of different brand name Linuxen
(Linuces?) out here to choose from. Plus I don't think it's fair to
forget all the freely usable BSD variants out there. They could make
something with a BSD core but they can't force "customer lock-in".
</font></blockquote>
<blockquote><font color="#000066">They <EM>could</EM> "buy" Linux - in the sense of using it commercially -
but they wouldn't pay the price we charge (freedom for derivitive
works).
</font></blockquote>
<blockquote><font color="#000066">Of course since we have so many varieties - and any effort to mention
how un-glitzy and unready that Linux thingy is just causes more people
to notice it as a possibility - plus the fact that many Linux distros
are non commercial and all the parts and then some are easier to get
than your average blinkylight at Radio Shack, I have to agree with the
last. Look out for that "Palladium" chip trick they're trying to pull
though. It sounds just like the Clipper Chip of yesteryear.
-- Heather</font></blockquote>
<!-- end 19 -->
<!-- . . . . . . . . . . . . . . . . . . . -->
<HR WIDTH="40%" ALIGN="center">
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy"></FONT></H3>
Mon, 3 Jun 2002 21:10:50 +0200
<BR>Lennart Benschop (<a href="mailto:linux-questions-only@ssc.com?cc=l.benschop2@chello.nl&subject=%20Re%3A%20%5BLG%2080%5D%202c%20Tips%20%2319">l.benschop2 from chello.nl</a>)
<P>
Did you look at the files ramdisk.txt and initrd.txt in the Documentation
subdirectory of the kernel source itself? It may be obvious, but many of your
questions seem to be answered here.
</P>
<P>
The <A HREF="http://www.slackware.org/">Slackware</A>-style ramdisk at startup (see file ramdisk.txt) is loaded by the
kernel from a device (almost always a floppy) where the offset can be
specified. This ramdisk remains the root file system throughout the lifetime
of the kernel. You can boot the kernel directly from a floppy (just dd the
image to <TT>/dev/fd0</TT>) without a boot loader and still use this type of ramdisk.
</P>
<P>
The initrd ramdisk is much more flexible, but you do need a real boot loader
to use it. It is loaded into memory by a boot loader. All Linux boot loaders
(LILO, LOADLIN, SYSLINUX and GRUB) can use this type of ramdisk. The file
<TT>/linuxrc</TT> inside the initrd ramdisk is the first program to be executed.
Linuxrc can do any of the following things:
</P>
<blockQuote><ul>
<LI>load additional modules (e.g. scsi host adapter drivers that the kernel
needs to access the hard disk)
<LI>prepare other file systems, e.g. on the hard disk or on different ram disk
devices (/dev/ram2)
<LI>temporarily mount other file systems (e.g to retrieve extra programs).
<LI>set the real root device (by writing to /proc/sys/kernel/real-root-dev)
</ul></blockQuote>
<P>
When linuxrc terminates, the real root device (possibly a different ramdisk on
<TT>/dev/ram2</TT>) will be mounted as root and <TT>/sbin/init</TT> will be run as usual. So
the initrd ramdisk will be the root file system only as long as <TT>/linuxrc</TT> is
running. Using this approach you can forget about the older type of startup
ramdisk.
</P>
<P>
Because it is loaded by the boot loader, an initrd ramdisk can be loaded from
the floppy image on an El Torrito bootable CD-ROM, while the older type of
startup ramdisk can't.
</P>
<P>
The kernel command line is passed to the kernel by the boot loader (e.g. LILO)
as a pointer to a string in memory. The kernel parses various arguments on
that command line for itself and can pass the rest as a command line to init.
</P>
<P>
Just some minor additions:
</P>
<blockQuote><ul>
<LI>I don't think that the boot loader passes the pernel command line as a
pointer (I think it's at a fixed location), but it _is_ a string in memory
that the kernel processes later.
<LI>The boot loader loads any initrd ramdisk into RAM using the BIOS disk device
(therefore it works from a disk image on a bootable CD-ROM) and places
the command line also in RAM. Next it jumps to the setup.S part of the
kernel From then on the boot loader's work is over.
<LI>The kernel moves itself, the command line and the initrd disk image around
in RAM, decompresses itself and initializes a lot of things.
<LI>If there is an initrd ramdisk, the kernel can gunzip it (if it is
compressed) and copies it to /dev/ram (internal ramdisk device). Next it
does the temporary root device trick that I have already explained.
</ul></blockQuote>
<P>
Further reading: kernel source tree:
</P>
<blockQuote><ul>
<LI>arch/i386/boot/bootsect.S (is only used when the kernel is booted directly
from a floppy, is skipped by LILO and other boot loaders).
<LI>arch/i386/boot/setup.S (real-mode initialization, entry point for LILO).
<LI>arch/i386/kernel/head.S (protected mode initialization).
<LI>anything in arch/i386/boot/compressed (see how the kernel decompresses
itself).
<LI>init/main.c initialization flow, including temporary initrd mount and
starting of init.
<LI>drivers/block/rd.c (ramdisk driver, also for initrd ramdisk, decompression
etc). Almost all code (including initialization) is shared between the
initrd and normal ramdisk.
</ul></blockQuote>
<P>
-- Lennart
</P>
<!-- end 19 -->
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="tips/20"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">Re: Making executables smaller</FONT></H3>
Mon, 3 Jun 2002 15:31:16 -0700
<BR>John M. Fisk (<a href="mailto:linux-questions-only@ssc.com?cc=&cc=John.Fisk@yale.edu&subject=%20Re%3A%20%5BLG%2080%5D%202c%20Tips%20%231">John.Fisk from yale.edu</a>)
<P>
Hello Gals and Guys,
</P>
<P>
I enjoyed reading the latest batch of 2 cent tips and thought I'd pass
along one more small bit of information:
</P>
<P><BLOCKQuote>
Besides using &quot;strip&quot; to reduce the size of an executable, if you're into
compiling from source you can use the "-Os" optimization, which will
optimize for size (should work with an respectably recent version of
GCC). For the ultimate in downsizing, you can also link your apps against
any of a number of libc derivatives. Check <A HREF="http://freshmeat.net"
>http://freshmeat.net</A> for the
latest versions of:
</BLOCKQuote></P>
<blockQuote><ul>
<LI>diet libc: <A HREF="http://www.fefe.de/dietlibc"
>http://www.fefe.de/dietlibc</A>
<br>this site also provides documentation and helpful links
<LI>uClibc: <A HREF="http://www.uclibc.org"
>http://www.uclibc.org</A>
<br>designed specifically for embedded systems; additional links avail.
</ul></blockQuote>
<P>
Several other similar projects are out there; these were the first to come
to mind. Thanks so much.
</P>
<P>
cheers,
<br>John
</P>
<!-- .~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~.~~. -->
<P> <A NAME="tips/lj"><HR WIDTH="75%" ALIGN="center"></A> <P>
<H3><IMG ALIGN=BOTTOM ALT="" SRC="../gx/lil2cent.gif">
<FONT COLOR="navy">Linux Journal Weekly News Notes Tech Tips</FONT></H3>
<h4 align="center"><br>sending Microsoft Word documents
</h4>
<P>
If someone asks you for a file in Microsoft Word format, don't panic
or start to do something dumb, like dual-booting. Just convert the
file to HTML, do a cp file.html file.doc and send the ".doc" file.
Microsoft Word will automatically import it.
</P>
<HR width="10%" align="center">
<h4 align="center"><br>Keeping a persistent session as you log in and out from different terminals
</h4>
<P>
Here's the Ten-Second Guide to screen for people who just don't want
to type stuff over when they lose their net connection.
</P>
<blockQuote><ol>
<LI>ssh to the server you need to work on.
<LI>Type screen.
<LI>Do what you need to do. It will be inside a screen session.
</ol></blockQuote>
<P>
When your connection fails:
</P>
<blockQuote><ol>
<LI>ssh to the server.
<LI>Run screen -r to resume your session where you got cut off.
</ol></blockQuote>
<P>
Joy!
</P>
<HR width="10%" align="center">
<h4 align="center"><br>Outlook to Evolution
</h4>
<P>
Upgrading from Microsoft Outlook to Evolution? To free your address
book from Microsoft's proprietary format, just sync it to a Palm Pilot
then sync it back into Evolution. (If you have to borrow a friend's
Palm Pilot to do this, back it up first with pilot-xfer, then restore
when you're done.)
</P>
<P>
Source: Ari Jort, New York Linux Users Group
</P>
<HR width="10%" align="center">
<h4 align="center"><br>Mozilla port paranoia
</h4>
<P>
You've just hooked up a cool web-administered device; you type in the
device's IP address and port number, and Mozilla says, "Access to the
port number given has been disabled for security reasons." What?
</P>
<P>
Fix it in Mozilla's all.js configuration file, which probably lives in
usr/lib/mozilla/defaults/pref/all.js or somewhere like that. If the
banned devices are on ports 1080 and 31337, add the line:
</P>
<P><BLOCKQuote>
pref("network.security.ports.banned.override", "1080,31337");
</BLOCKQuote></P>
<P>
to the all.js file.
</P>
<HR width="10%" align="center">
<h4 align="center"><br>Renaming a file that has a special character in the name
</h4>
<P>
Help! I can't rename a file with a special character in its name!
</P>
<P>
If you have a file called important?file, and the ? is really some
character you can't figure out how to type, try this:
</P>
<P><CODE>
ls | grep important?file
</CODE></P>
<P>
Make the pattern after grep long enough that it matches only one file.
Then, when the above command matches only one file, go back up and
edit the command:
</P>
<P><CODE>
mv `ls | grep important?file` important-file
</CODE></P>
<P>
And you've renamed the file without ever figuring out its true name.
</P>
<HR width="10%" align="center">
<h4 align="center"><br>Have Ethernet cables, will travel
</h4>
<P>
The lightest, most compact way to be prepared to hook up to whatever
Ethernet connection you find is to carry one regular cable, one
crossover adapter and one RJ45 coupler.
</P>
<blockquote><pre> Plug Jack
Straight none, or coupler + straight cable
straight cable
Crossover coupler + crossover adapter +
crossover adapter + straight cable
straight cable
</pre></blockquote>
<!-- end 20 -->
<P> <hr> </p>
<!-- *** BEGIN copyright *** -->
<H5 align="center">This page edited and maintained by the Editors
of <I>Linux Gazette</I>
<a href="http://www.linuxgazette.com/copying.html"
>Copyright &copy;</a> 2002
<BR>Published in issue 80 of <I>Linux Gazette</I> July 2002</H5>
<H6 ALIGN="center">HTML script maintained by
<A HREF="mailto:star@starshine.org">Heather Stern</a> of
Starshine Technical Services,
<A HREF="http://www.starshine.org/">http://www.starshine.org/</A>
</H6>
<!-- *** END copyright *** -->
<!--startcut ======================================================= -->
<P>
<CENTER>
<!-- *** BEGIN navbar *** -->
<!-- *** END navbar *** -->
</CENTER>
</p>
</BODY></HTML>
<!--endcut ========================================================= -->