Linux-Development-Sys Digest #724, Volume #6     Wed, 19 May 99 02:14:14 EDT

Contents:
  Intentions on Kernel 2.4 ("Vasco Figueira")
  Re: Posix semaphores support? (Valentin Bazavan)
  Re: best distribution (Frank Sweetser)
  Re: Destructive Erase? (Graffiti)
  VGA Buffer Access (Joseph Virzi)
  Re: Destructive Erase? (Dave Platt)
  Glibc-2.1.1pre3 installation hint (Juergen Heinzl)
  Re: Port I/O with Linux (Joseph Virzi)
  Re: Posix semaphores support? (David Wragg)
  Re: VGA Buffer Access ("David Z. Maze")
  Re: boot/root disk problem with login (Keith Wright)
  Re: How to Increase Maximum Number of Processes??? (M van Oosterhout)
  a REAL physical memory access question (Joseph Virzi)
  having problem using net-tools lib (walt)
  Re: best distribution (Christopher Browne)
  Re: Big trouble with 2.2.7 (M van Oosterhout)

----------------------------------------------------------------------------

From: "Vasco Figueira" <[EMAIL PROTECTED]>
Subject: Intentions on Kernel 2.4
Date: Tue, 18 May 1999 22:59:06 +0100

Hi,

Sorry if I'm being inconvenient.

I would like to know what are the main goals on the future stable version
2.4.
What does Linus intend to implement? More ports to another arquitectures?
More filesystems? Better performance?

Thankyou.

Vasco Figueira

Portuguese Linux Users Group. http://www.plug.pt/



------------------------------

From: Valentin Bazavan <[EMAIL PROTECTED]>
Subject: Re: Posix semaphores support?
Date: Tue, 18 May 1999 13:42:24 -0700

bill davidsen wrote:

> In article <[EMAIL PROTECTED]>,
> Valentin Bazavan  <[EMAIL PROTECTED]> wrote:
> |  Right now, support  for Posix semaphores on Linux is incomplete.  There
> | is no support for named
> | semaphores, and only partial support for memory-based semaphores.  In
> | particular, the memory-based
> | semaphores can't be used between processes,  which is the main rationale
> | of having semaphores in
> | the first place.  Is there any work going on to fill in the missing
> | features?
>
> What gave you the idea that semiphores can't be used between
> processes???
>

It's not an idea, it's a fact. Try setting the 2nd arg to sem_init to 1
(shared) and see what happens.

Valentin Bazavan



------------------------------

From: Frank Sweetser <[EMAIL PROTECTED]>
Subject: Re: best distribution
Date: 18 May 1999 21:14:11 -0400

[EMAIL PROTECTED] (Christopher Browne) writes:

> Kickstart was new with Red Hat version 5.0, which means that it's now a
> goodly year or so old. 
> 
> What is *needed* is something that will take an existing configuration
> and create the setup file that Kickstart needs.  That way you can take
> a box, configure to heart's content, and then run:
> 
> # build-kickstart > /tmp/kickstart.specs
> 
> ...Which would take the list of installed RPMs, and *ideally* build up
> the specs for an RPM that can reestablish all the changes that took
> place from there, e.g. - Local version of /etc/hosts, /etc/ntp.conf, ... 

the mkkickstart program is a good first stab at this (partitioning, list of
all installed rpms, etc)

-- 
Frank Sweetser rasmusin at wpi.edu fsweetser at blee.net  | PGP key available
paramount.ind.wpi.edu RedHat 5.2 kernel 2.2.5        i586 | at public servers
I'm not sure whether that's actually useful...
             -- Larry Wall in <[EMAIL PROTECTED]>

------------------------------

From: Graffiti <[EMAIL PROTECTED]>
Subject: Re: Destructive Erase?
Date: 18 May 1999 15:53:48 -0700

In article <7hcles$loa$[EMAIL PROTECTED]>,
bill davidsen <[EMAIL PROTECTED]> wrote:
>In article <nOEY2.549$[EMAIL PROTECTED]>,
>matthew gauthier  <[EMAIL PROTECTED]> wrote:
>| I'm trying to implement a destructive file erase, however, I'm at a
>| loss as to the best way to insure that the same blocks are overwritten.
>| If I use stdio and overwrite a file with an equal amount of data and
>| close it, will the kernel put it on the same disk realestate at the
>| next sync? Or am I going to need to work at a much lower level here?
>| 
>| Any thoughts and pointers on where to start looking are appreciated, as
>| are cc's, since my newsfeed sometimes drops articles.
>
>You open the file for read and write, seek to the end, get the current
>position (aka the length), seek to the beginning, and then write
>(length) bytes of zeros to the file. If you want security against a pro
>physically taking apart your disk and getting bits off under a
>microscope, write 0xFF, then zero, then 0xE5 to each byte, three passes
>with a sync (or fsync) at the end of each write.

Nope.  Despite the "popularity" of this technique, it's not reliable.
With some basic equipment (well, basic for data recovery services working
with formatted hd's and such), you can recover data quite nicely from disks
if they're just written as such.  And unless you know *exactly* how the
disk's firmware and hardware writes the data at the platter-level, you're
SOL.

If the original poster only wants to keep a person from finding it from the
command-line, then overwriting the file w/ garbage will work.  If he's
worried about the data being lifted from the physical media, he needs to
destroy the hard drive.

-- DN (Gotta love sandblasters, acid, and roaring furnaces)

------------------------------

From: Joseph Virzi <[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED]
Crossposted-To: comp.os.linux.development.apps
Subject: VGA Buffer Access
Date: Tue, 18 May 1999 20:53:22 -0700

I once knew how to access the VGA text mode buffers when things were
ISA. In PCI, how does one access the buffers? Virtually, the buffers are
located at 0xA0000 through 0xBFFFF. What does this translate to
physically?

I need to know the physical address because another PCI device will
access it.


------------------------------

From: [EMAIL PROTECTED] (Dave Platt)
Subject: Re: Destructive Erase?
Date: Tue, 18 May 1999 23:20:05 GMT

In article <7hsr1s$5hp$[EMAIL PROTECTED]>,
Graffiti  <[EMAIL PROTECTED]> wrote:

>If the original poster only wants to keep a person from finding it from the
>command-line, then overwriting the file w/ garbage will work.  If he's
>worried about the data being lifted from the physical media, he needs to
>destroy the hard drive.

Right.  As I recall, "data overwrite" techniques are no longer
considered adequate for the erasure / decommissioning of hard drives
containing government-sensitive data (e.g. Classified or Secret).  Any
sort of data-overwriting you can do is going to be partial, and (with
a sufficiently sensitive magnetic detector such as a SQUID) it's
usually possible to pick the "overwritten" data off of the edges of
the track.

I believe that the current U.S. Government-recommended
"decommissioning" procedure these days involves heating the entire
hard drive to a temperature above the Curie point of the platters.
This causes the recording medium to temporarily lose its ability to
"remember" magnetic fields, and randomizes all of the magnetic
domains.  Then, the drive is cooled down to room temperature, and
physically shredded or hammered into little bits.

Moral: no computer these days should be sold without a large propane
torch and a big hammer.

-- 
Dave Platt                                           [EMAIL PROTECTED]
Visit the Jade Warrior home page:  http://www.radagast.org/jade-warrior/
  I do _not_ wish to receive unsolicited commercial email, and I will
     boycott any company which has the gall to send me such ads!

------------------------------

From: [EMAIL PROTECTED] (Juergen Heinzl)
Subject: Glibc-2.1.1pre3 installation hint
Date: Tue, 18 May 1999 23:27:38 GMT

Hello,

some hint regarding a, perhaps, minor snag ... it is in the FAQ I guess ...
make install "fails" due to missing symbols since the old (pre2) ld-linux.so
is used so just run make install twice (then the new one is already in /lib).

Just in case, pre3 up and running,
Juergen

-- 
\ Real name     : J�rgen Heinzl                 \       no flames      /
 \ EMail Private : [EMAIL PROTECTED] \ send money instead /

------------------------------

From: Joseph Virzi <[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED]
Subject: Re: Port I/O with Linux
Date: Tue, 18 May 1999 21:25:55 -0700

I have seen this a recurring theme within the news groups. I wrote a
genport-type driver, which routes outb(), outw() and rep_outsw() + input
functions to an ioctl-controlled driver.

It's very easy to use. You just insmod, and then link up to the one page of
source code that routes the in and out functions to ioctl.

Is this something that people are looking for? I'd be more than happy to put
it up somewhere. Is this what you are looking for? Let me know. I'll send
you the code and take the time to write up some small instructions therefor.

-Joe

David Warren wrote:

> Matthias Mueller wrote:
>
> > Hi all
> >
> > my question:
> >
> >   How can I do Port I/O under Linux?
> >
> > A friend developed a special PC-Card to control
> > external hardware. The system communicates with
> > the card via the IN and OUT assembly commands.
> >
> > - Under MS DOS, he just uses the 80x86 commands
> >   IN and OUT.
> > - Under Windows NT, there is a special driver
> >   "GenPort" coming with the Driver-Development-Kit
> >   to do Port I/O
> >
> > - How do I control hardware under Linux?
> >
> > Please send hints to mailto:[EMAIL PROTECTED]
> >
> >   Thanks in advance!
> >
> >   Matthew
>
> If the port is under 0x3ff you can use the ioperm() call to give
> yourself permission and then use the inb()/outb() calls to do the IO.
> The iopl() call will change the processor mode and allow you to access
> all IO ports.   (It also lets you do bad things like turn off interrupts
> or halt the CPU...)
>
> There is an IOPort-HOWTO that explains all this with examples.
>
> If you want a simplified example of a driver that doesn't have to deal
> with interrupts or DMAs or other such issues I would recommend checking
> out the joystick driver module; it is pretty cut and dried...
>
> -Dave.




------------------------------

From: David Wragg <[EMAIL PROTECTED]>
Subject: Re: Posix semaphores support?
Date: 18 May 1999 14:55:19 +0000

[EMAIL PROTECTED] (bill davidsen) writes:
> In article <[EMAIL PROTECTED]>, Valentin Bazavan
> <[EMAIL PROTECTED]> wrote:
> |  Right now, support for Posix semaphores on Linux is incomplete.
> |There is no support for named semaphores, and only partial support
> |for memory-based semaphores.  In particular, the memory-based
> |semaphores can't be used between processes, which is the main
> |rationale of having semaphores in the first place.  Is there any work
> |going on to fill in the missing features?
> 
> What gave you the idea that semiphores can't be used between
> processes???

POSIX semaphores are different things from SYSV semaphores. SYSV
semaphores can be used between processes, the implementation of POSIX
semaphores in current LinuxThreads cannot.

In answer to Valentin, I haven't seen any sign on completing the
implementation of semaphores. It would be nice to have an
implementation of all the POSIX IPC mechanisms, since the APIs are
nicer than the corresponding SYSV facailities.

David Wragg


------------------------------

From: "David Z. Maze" <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.development.apps
Subject: Re: VGA Buffer Access
Date: 19 May 1999 01:06:24 -0400

Joseph Virzi <[EMAIL PROTECTED]> writes:
JV> I once knew how to access the VGA text mode buffers when things
JV> were ISA. In PCI, how does one access the buffers?

Through an intermediary such as the kernel framebuffer device
(e.g. /dev/fb0), or using a library such as SVGAlib, GGI, or X.
Trying to write directly to memory is a recipe for disaster: there's
no guarantee that you'll have a VGA text buffer, there's no guarantee
that it'll be in text mode when you want to use it, and you need to
bypass the kernel's memory protection to directly access memory.
Linux runs on many platforms that aren't x86-based and don't use
VGA-derived graphics.  For that matter, Linux 2.2.x will run perfectly 
happy on a system with no graphics card at all (with a serial console).

-- 
David Maze             [EMAIL PROTECTED]          http://donut.mit.edu/dmaze/
"Hey, Doug, do you mind if I push the Emergency Booth Self-Destruct Button?"
"Oh, sure, Dave, whatever...you _do_ know what that does, right?"

------------------------------

From: Keith Wright <[EMAIL PROTECTED]>
Subject: Re: boot/root disk problem with login
Date: 19 May 1999 00:26:04 -0400

Stuart Pomerantz <[EMAIL PROTECTED]> writes:

> 1) I boot my kernel off a boot disk.
> 2) It asks for the root disk, which I give it.
> 3) It reads the root disk and init starts.
> ...
> 6) I type in my username and login asks me for a password and I *always*
> get a "login incorrect" messeage.

Just make sure on the root disk the /etc/passwd file has an account
for root with a null password field.

-- 
     -- Keith Wright  <[EMAIL PROTECTED]>

Programmer in Chief, Free Computer Shop <http://www.free-comp-shop.com>
         ---  Food, Shelter, Source code.  ---

------------------------------

Date: Wed, 19 May 1999 15:27:39 +1000
From: M van Oosterhout <[EMAIL PROTECTED]>
Subject: Re: How to Increase Maximum Number of Processes???

Todd Burroughs wrote:
> 
> I'm working on a large web server, Quad Xeon with 2 Gigs of RAM.  I've
> been able to get Linux (2.2.x)
> to see the RAM
> (http://humbolt.nl.linux.org/Linux-MM/more_than_1GB.html), but it seems
> that I may be running into a problem with the kernel's process table
> filling up.  With a bit over 500 processes running,
> I'm getting "fork: Resource temporarily unavailable" errors.  It's not
> running out of memory, over 1 Gig is buffered.

Are you sure you're not running into the ulimit limit? See
man ulimit.

If there is a limit (which I thought there wasn't), it
would be set in /proc/sys/kernel or somewhere there.

> Any ideas?  Would increasing the 64 Mag "gap" that's discussed on the
> Linux-MM page referenced above help?

I doubt that.

Martijn van Oosterhout

------------------------------

From: Joseph Virzi <[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED]
Subject: a REAL physical memory access question
Date: Tue, 18 May 1999 21:53:27 -0700

I have a PCI device which writes directly into the VGA text buffers.
Back in ISA days, you merely wrote to 0xA0000 - 0xBFFFF. This is now a
virtual address, and I need to provide a physical address to this
device.

How do I translate a virtual address to a physical address?

Rubini's book claims the existence of virt_to_phys() but this merely
echoes back the argument. I verified this in the source code.

-Joe


------------------------------

From: walt <[EMAIL PROTECTED]>
Subject: having problem using net-tools lib
Date: Tue, 18 May 1999 20:56:54 +0000
Reply-To: [EMAIL PROTECTED], [EMAIL PROTECTED]

Hi Folks,
  I'm trying to write a library that will change various network adapter
parameters, such as ip address.  I've grabbed
the source for net-tools and have used portions of it, but I'm having a
problem.  My lib opens a socket and gets back a
file descriptor (27).  When I try and do an  ioctl(fd, SIOCSIFADDR,
&ifr);  I always get an error
r = ioctl(fd, SIOCSIFADDR, &ifr);
if (r < 0 )
     perror("SIOCSIFADDR");

I always get  SIOCSIFADDR: Operation not supported by device
Here is the code block in my lib.  This lib is a C library that gets
called from Java.
The functions in here are in the libnet-tools lib.

when I run ifconfig, the fd it always gets for fd is always 4.  In my
lib its always a large #.
any ideas ?


   ife = lookup_interface(iface_name);
  resp = do_if_fetch(ife);

  if (resp >=0)
    {
      ap = get_aftype(DFLT_AF);
      if (ap == NULL)
        ap = get_aftype("inet");

      if (ap->input(0, ipaddr, &sa) <0) {
        ap->herror(ipaddr);
       }
      memcpy((char *) &ifr.ifr_addr, (char *) &sa, sizeof(struct
sockaddr));
        {
            int r = 0;          /* to shut gcc up */
            switch (ap->af) {
            case AF_INET:
                fd = get_socket_for_af(AF_INET);
                if (fd < 0) {
                    perror("No support for INET on this system.");
                    exit(1);
                }
                r = ioctl(fd, SIOCSIFADDR, &ifr);
                if (r < 0 )
                   perror("SIOCSIFADDR");
                break;
...
...


------------------------------

From: [EMAIL PROTECTED] (Christopher Browne)
Subject: Re: best distribution
Reply-To: [EMAIL PROTECTED]
Date: Wed, 19 May 1999 01:04:41 GMT

On Tue, 18 May 1999 12:19:19 -0400, G. Sumner Hayes <[EMAIL PROTECTED]> wrote:
>bill davidsen wrote:
>> 
>> If you want to install a lot of systems all the same, maybe Slackware, 
>> it does less determination of what you have for hardware, but the menu 
>> system is easy to use and very fast, and it doesn't try to impress you 
>> with a GUI for this and that.
>
>I haven't used it, but if the systems you want to install are really all
>the same then something like Red Hat's Kickstart would be helpful 
>(assuming it works).  At least, that's what it's designed for.  It's a
>fairly new feature, so I'd be unsurprised if there are still a few kinks
>left to work out.

Kickstart was new with Red Hat version 5.0, which means that it's now a
goodly year or so old. 

What is *needed* is something that will take an existing configuration
and create the setup file that Kickstart needs.  That way you can take
a box, configure to heart's content, and then run:

# build-kickstart > /tmp/kickstart.specs

...Which would take the list of installed RPMs, and *ideally* build up
the specs for an RPM that can reestablish all the changes that took
place from there, e.g. - Local version of /etc/hosts, /etc/ntp.conf, ... 
-- 
"What you end up with, after running an operating system concept
through these many marketing coffee filters, is something not unlike
plain hot water."   -- Matt Welsh
[EMAIL PROTECTED] <http://www.hex.net/~cbbrowne/linux.html>

------------------------------

Date: Wed, 19 May 1999 15:39:25 +1000
From: M van Oosterhout <[EMAIL PROTECTED]>
Subject: Re: Big trouble with 2.2.7

Arne K. Haaje wrote:
> -------------------
> Unable to handle kernel NULL pointer dereference at virtual address
> 00000014
> current->tss.cr3 = 00101000, %cr3 = 00101000
> *pde = 00000000
> Oops: 0000
> CPU:    0
> EIP:    0010:[<c0124606>]
> EFLAGS: 00010207
> eax: 00000000   ebx: c01ec3d8   ecx: 0000007f   edx: 00018000
> esi: 00000000   edi: c01c6840   ebp: c01ec3d8   esp: c000bfa8
> ds: 0018   es: 0018   ss: 0018
> Process kswapd (pid: 4, process nr: 4, stackpage=c000b000)
> Stack: 00000030 c000a000 c0119efe c01ec3d8 00000012 00000006 c011ebb2
> 00000006
>        00000030 00000000 c0190f2e c000a1c1 c011ec67 00000030 00000f00
> c0003fb4
>        c0106000 000000f2 c010651f 00000000 00000f00 c01bbfd8
> Call Trace: [<c0119efe>] [<c011ebb2>] [<c0190f2e>] [<c011ec67>]
> [<c0106000>] [<c010651f>]
> Code: 8b 76 14 83 78 20 00 75 06 f6 40 18 46 74 0f 6a 00 e8 6c 01
> ---------------------

This output is fairly useless in this format. At the very least
you should run it through ksymoops, as decribed in the documentation.
The more recent versions of klogd do this automatically to some
extent.

This will translate these numbers to more useful function names.

> Does anyone have an idea of what is wrong ? Is this a bug in the kernel,
> or perhaps I need to upgrade some programs ?

An oops is always a bug in the kernel. No program should be able
to affect the system this way.

> BTW, I tried upgrading to 2.2.8 but this gave me a LOT more problems. Is
> 2.2.9 now considered as safe ?

No idea... I'm still on 2.2.5-ac3

Martijn van Oosterhout
Australia

------------------------------


** 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
******************************

Reply via email to