ATA RAID performance

2003-01-02 Thread Sean Hamilton
Greetings,

I have tried using both atacontrol and ccdconfig to create stripes and
mirrors of various sizes, and have found that in all cases, read performance
*decreased*.

Is this typical? I have a Promise controller in another computer running
Windows which sees a considerable performance increase while striping, but
in the FreeBSD machine, no controller is present.

thanks,

sh


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: ATA RAID performance

2003-01-02 Thread Soeren Schmidt
It seems Sean Hamilton wrote:
 Greetings,
 
 I have tried using both atacontrol and ccdconfig to create stripes and
 mirrors of various sizes, and have found that in all cases, read performance
 *decreased*.

Uhm, what kind of disks, stripesize etc are you using, without that info
noone can tell you why...

-Søren

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: ATA RAID performance

2003-01-02 Thread Gary Stanley


I have tried using both atacontrol and ccdconfig to create stripes and
mirrors of various sizes, and have found that in all cases, read performance
*decreased*.


Have you formatted your filesystem to the correct fragment/blocksizes? This 
usually helps on raid controllers in conjunction with the correct stripe size.

man tuning for more information.









To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message


An amr dump problem (I guess)

2003-01-02 Thread Attila Nagy
Hello,

I am trying to make crashdumps on FreeBSD 5.0, because I get panics very
often.

Here is what I do:
ddb panic
panic: from debugger

syncing disks, buffers remaining...
done
Uptime: 17m32s
amr0: flushing cache...done
Dumping 511 MB

Dump failed writing header (19)

Dump failed writing data (19)

Dump failed writing trailer (19)

Dump complete
Terminate ACPI
Automatic reboot in 15 seconds - press a key on the console to abort

The dump device is a big swap partition on the amr0 controller.

Is it possible that the amr0 controller becomes inactive after it flushed
its cache and that's why the kernel cannot make the crashdump?

If it's related to the amr driver and it's hard to fix, would it be
possible to mention in amr(4) that making crash dumps through this device
is not supported?

Thanks,
--[ Free Software ISOs - http://www.fsn.hu/?f=download ]--
Attila Nagy e-mail: [EMAIL PROTECTED]
Free Software Network (FSN.HU)phone @work: +361 210 1415 (194)
cell.: +3630 306 6758

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Timing with clock_gettime(2) (sysutils/clockspeed port)

2003-01-02 Thread Lev Walkin
Mario Sergio Fujikawa Ferreira wrote:


#define timing_diffi(x,y) \
( \
	(double) ( ((x)-t.tv_sec - (y)-t.tv_sec) + \
		(double) ( \
((x)-t.tv_nsec - (double) (y)-t.tv_nsec) * 4294967296.0 / 1e9 \
			) \
	) \
)


[skip]


		printf(Avg getpid() time = %lld nsec\n, timing_diffi(end,start)/iters); 


Please, please read `man 3 printf`. Consider using %f instead of %lld.


--
Lev Walkin
[EMAIL PROTECTED]


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: ATA RAID performance (numerous fs related questions)

2003-01-02 Thread Sean Hamilton
From: Soeren Schmidt [EMAIL PROTECTED]
| Uhm, what kind of disks, stripesize etc are you using, without that info
| noone can tell you why...

Two Seagate 80GB 7200RPM drives each on their own ATA66 channel. They're not
very fast, but they are quiet. Quick tests with dd show about 20 MB/s reads
off them with a blocksize of 64KB.

I then created a stripe with

atacontrol create stripe 128 ad4 ad6

and performed the same dd on ar0, I get about 17 MB/s (on a K7 500.)

The performance isn't very relevant in this case. I was just curious. Is
there any reason to use span instead of stripe? I am booting off a different
disk, and as I understand, if either drive craps out, there's not much hope
of recovery for me anyways.

Also, which newfs settings would be wise for me? I will only be storing
files of exactly 10,000,000 bytes, they will be deleted and recreated often.
They will be written slowly and sequentially, at around 40 KB/s (always one
at a time.) They will be read as fast as possible several times thereafter,
then deleted.

The application I am using does not ftruncate before writing, and I am not
in a position to change the code.

I'm trying -m 0 -o space, though I've heard this is unwise.

Can I prevent newfs from writing out superblock backups?

Is async faster than softupdates?

Is there any reason to use async and softupdates simultaneously, or are they
mutually exclusive?

(tries, but fails to think of more lingering questions)

thanks,

sh


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Reading rc.conf from C programs?

2003-01-02 Thread Miguel Mendez
On Wed, 1 Jan 2003 18:24:40 -0500 (EST)
Chuck Robey [EMAIL PROTECTED] wrote:

Hi,

Since my little baby was mentioned, I thought I'd just comment :)

  You could perhaps copy the way that The Fish does it?
 
  Take a look at ports/sysutils/thefish.
 
  The parser.c code appears to read /etc/{,defaults/}rc.conf and
  place all the options into a linked list.

I can tell you I wholeheartedly hate parser.c :) and regret having not
started with lex/yacc since day 1. Since the next major release will
support not only FreeBSD, but NetBSD as well, I'm redoing the parser in
a more flexible way. But again, it was my first parser, and so far seems
to work fine :) I've concentrated more on other aspects of the program
too.
 
Jordan has also mentioned the parsing code in sysinstall. I think we
took really different approaches to the problem. thefish has no previous
knowledge of what it's going to find, save for the 'exception list',
that it needs to tell some variables that are set to NO but aren't
really knobs. It should actually be able to parse /etc/make.conf
happily, or any other conf file in the system.

 easy to extend, easy to special-case, easy to error-control.  Learning
 lex is harder than just C code, but it's such a good tool to know just
 for general purposes, it's worth the small time spent.  Every C
 programmer ought to spend some time with lex/flex (and obviously
 yacc/bison).  If you don't know it for an employer, you're really
 hobbled, it's *such* a good tool.

Agreed 100% 

You could also use embedded perl
/me ducks

Cheers,
-- 
Miguel Mendez - [EMAIL PROTECTED]
GPG Public Key :: http://energyhq.homeip.net/files/pubkey.txt
EnergyHQ :: http://www.energyhq.tk
Of course it runs NetBSD!

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: FEC on 5.x

2003-01-02 Thread Attila Nagy
Hello,

 do you have FEC working in an old version? i.e. do you have it working
 in 4.x somewhere?
Yes, I am using it on a box with two fxps.

It is:
FreeBSD 4.6-STABLE #2: Thu Jul 11 15:13:00 CEST 2002

 if so, can you show a tcpdump of it1 running and a tcpdump of it NOT
 running on 5.x?
You won't see too much from that...

4.6 (the above box):
# tcpdump -i fec0 host FE0.GE.BMF-HBONE.bmf.hu
tcpdump: listening on fec0
15:14:43.397883 chuck.intra  FE0.GE.BMF-HBONE.bmf.hu: icmp: echo request
15:14:43.398639 FE0.GE.BMF-HBONE.bmf.hu  chuck.intra: icmp: echo reply

# tcpdump -i fxp0 host FE0.GE.BMF-HBONE.bmf.hu  \
  tcpdump -i fxp1 host FE0.GE.BMF-HBONE.bmf.hu
[1] 87345
tcpdump: WARNING: fxp0: no IPv4 address assigned
tcpdump: WARNING: fxp1: no IPv4 address assigned
tcpdump: listening on fxp0
tcpdump: listening on fxp1
15:16:17.908213 chuck.intra  FE0.GE.BMF-HBONE.bmf.hu: icmp: echo request
15:16:17.909004 FE0.GE.BMF-HBONE.bmf.hu  chuck.intra: icmp: echo reply

RELENG_5_0:
# tcpdump -i fec0
tcpdump: listening on fec0
15:30:15.851109 arp who-has 193.6.21.133 (2e:2f:30:31:32:33) tell test.fsn.hu
15:30:16.766530 arp who-has 193.6.21.133 (2e:2f:30:31:32:33) tell test.fsn.hu
15:30:17.869761 arp who-has 193.6.21.133 (2e:2f:30:31:32:33) tell test.fsn.hu

(193.6.21.133 is the GW and that is I pinged)

# tcpdump -i fxp0 -p host  \
  tcpdump -i fxp1 -p host
tcpdump: listening on fxp0
tcpdump: listening on fxp1

And nothing. That's why I said previously it seems that the packets don't
get down to the physycal interface. Or at least they don't get out to the
wire...

However, when I ping the test machine from another one, I get:
Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0x1
fault code  = supervisor read, page not present
instruction pointer = 0x8:0xc02ca7ee
stack pointer   = 0x10:0xd69a8b88
frame pointer   = 0x10:0xd69a8bb0
code segment= base 0x0, limit 0xf, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags= interrupt enabled, resume, IOPL = 0
current process = 22 (irq10: fxp0)
kernel: type 12 trap, code=0
Stopped at  generic_bcopy+0x1a: repe movsl  (%esi),%es:(%edi)
db

I will attach a disk onto this machine to its Adaptec controller and will
be able to send you the dumps.

(some people helped me to figure out that most of the RAID drivers in
FreeBSD doesn't implement dump...)

Thanks,
--[ Free Software ISOs - http://www.fsn.hu/?f=download ]--
Attila Nagy e-mail: [EMAIL PROTECTED]
Free Software Network (FSN.HU)phone @work: +361 210 1415 (194)
cell.: +3630 306 6758

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Kernel panic with ATA RAID

2003-01-02 Thread Sean Hamilton
Seems my toying with atacontrol caused a reproducable panic. I have a perl
script which causes the panic right away every time, I'll mail that to
anybody @freebsd.org that wants it. (Or is such paranoia unnecessary?)

I believe everything else needed is here.

sh

---
Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0x88
fault code  = supervisor write, page not present
instruction pointer = 0x8:0xc014e4fd
stack pointer   = 0x10:0xcfce6d4c
frame pointer   = 0x10:0xcfce6d60
code segment= base 0x0, limit 0xf, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags= interrupt enabled, resume, IOPL = 0
current process = 112 (dd)
interrupt mask  = none
trap number = 12
panic: page fault
---

---
(kgdb) where
#0  0xc01447b6 in dumpsys ()
#1  0xc0144587 in boot ()
#2  0xc01449ac in poweroff_wait ()
#3  0xc01dddb2 in trap_fatal ()
#4  0xc01dda85 in trap_pfault ()
#5  0xc01dd66f in trap ()
#6  0xc014e4fd in dsclose ()
#7  0xc014de75 in diskclose ()
#8  0xc01782e8 in spec_close ()
#9  0xc01abc3a in ufsspec_close ()
#10 0xc01ac201 in ufs_vnoperatespec ()
#11 0xc0175f5c in vn_close ()
#12 0xc0176887 in vn_closefile ()
#13 0xc013ac9f in fdrop ()
#14 0xc013abe7 in closef ()
#15 0xc013a7f4 in fdfree ()
#16 0xc013d4b1 in exit1 ()
#17 0xc0146432 in sigexit ()
#18 0xc01461ac in postsig ()
#19 0xc01de114 in syscall2 ()
#20 0xc01d2465 in Xint0x80_syscall ()
#21 0x8055585 in ?? ()
#22 0x8048f00 in ?? ()
#23 0x8048135 in ?? ()
---

---
machine i386
cpu I686_CPU
ident   SOAP
maxusers0

options INET
options FFS
options FFS_ROOT
options SOFTUPDATES
options UFS_DIRHASH
options COMPAT_43
options ICMP_BANDLIM

device  apm

device  isa
device  pci

device  ata
device  atadisk
device  atapicd
options ATA_STATIC_ID

device  atkbdc0 at isa? port IO_KBD
device  atkbd0  at atkbdc? irq 1 flags 0x1
device  vga0at isa?
device  sc0 at isa? flags 0x100

device  npx0at nexus? port IO_NPX irq 13

device  miibus
device  rl

pseudo-device   loop
pseudo-device   ether
pseudo-device   pty

pseudo-device   bpf

device  fdc0at isa? port IO_FD1 irq 6 drq 2
device  fd0 at fdc0 drive 0
---

---
Copyright (c) 1992-2002 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD 4.7-RELEASE #2: Wed Jan  1 06:52:01 PST 2003
[snip]
Timecounter i8254  frequency 1193182 Hz
CPU: Pentium III/Pentium III Xeon/Celeron (451.02-MHz 686-class CPU)
  Origin = GenuineIntel  Id = 0x672  Stepping = 2

Features=0x383f9ffFPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,
PAT,PSE36,MMX,FXSR,SSE
real memory  = 335544320 (327680K bytes)
avail memory = 323653632 (316068K bytes)
Preloaded elf kernel kernel at 0xc0279000.
Pentium Pro MTRR support enabled
Using $PIR table, 7 entries at 0xc00fdf00
apm0: APM BIOS on motherboard
apm: found APM BIOS v1.2, connected at v1.2
npx0: math processor on motherboard
npx0: INT 16 interface
pcib0: Intel 82443BX (440 BX) host to PCI bridge on motherboard
pci0: PCI bus on pcib0
pcib1: Intel 82443BX (440 BX) PCI-PCI (AGP) bridge at device 1.0 on pci0
pci1: PCI bus on pcib1
pci1: NVidia Riva Ultra Vanta TNT2 graphics accelerator at 0.0 irq 11
isab0: Intel 82371AB PCI to ISA bridge at device 7.0 on pci0
isa0: ISA bus on isab0
atapci0: Intel PIIX4 ATA33 controller port 0xf000-0xf00f at device 7.1 on
pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
pci0: Intel 82371AB/EB (PIIX4) USB controller at 7.2 irq 10
chip1: Intel 82371AB Power management controller port 0x5000-0x500f at
device 7.3 on pci0
rl0: D-Link DFE-530TX+ 10/100BaseTX port 0xe400-0xe4ff mem
0xe800-0xe8ff irq 10 at device 17.0 on pci0
rl0: Ethernet address: [snip]
miibus0: MII bus on rl0
rlphy0: RealTek internal media interface on miibus0
rlphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
orm0: Option ROM at iomem 0xc-0xc on isa0
atkbdc0: Keyboard controller (i8042) at port 0x60,0x64 on isa0
atkbd0: AT Keyboard flags 0x1 irq 1 on atkbdc0
vga0: Generic ISA VGA at port 0x3c0-0x3df iomem 0xa-0xb on isa0
sc0: System console at flags 0x100 on isa0
sc0: VGA 16 virtual consoles, flags=0x300
fdc0: NEC 72065B or clone at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
ad0: 9732MB SAMSUNG SV1021H [19774/16/63] at ata0-master UDMA33
ad2: 76319MB ST380021A [155061/16/63] at ata1-master UDMA33
ad3: 76319MB ST380021A [155061/16/63] at ata1-slave UDMA33
Mounting root from ufs:/dev/ad0s1a
---


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: pw(8): $ (dollar sign) in username

2003-01-02 Thread Mahlon
On Sun, Dec 29, 2002, Philip Reynolds wrote:
 with a machine name of ``mname'' do:
 
 ``pw useradd mname''
 
 then use ``vipw(8)'' to add the dollar.
 
 Simple as that. This is a known issue, however, some people like to
 ignore it :)


Tell that to the system administrator who wants to use samba, he's got
more than say... 50 machines to add to the domain, and he doesn't care to
waste his time gathering all the machine names.

This has come up more than a few times in the past.  vipw does allow
the $ character, and works great in a 'couple of machines' network.
It's not a viable solution for using samba's machine trust accounts
in an *automated* environment.  Having to manually add your domain
trust accounts is unneeded when samba can do it for you - after a
1 character change in pw.


Mahlon E. Smithjabber id: [EMAIL PROTECTED]
http://www.martini.nu/   get pgp key:  [EMAIL PROTECTED]

Ode to Stinky Meat; I've seen things more disgusting; Okay, no I
haven't. - Mike Polowick



msg38935/pgp0.pgp
Description: PGP signature


Re: Reading rc.conf from C programs?

2003-01-02 Thread Tim Kientzle
Terry Lambert wrote:


Tim Kientzle wrote:

I'm trying to figure out how to read and use
/etc/rc.conf configuration variables from within
a C program. 

	#!/bin/sh
	# Throw all of rc.conf into the environemnet so a C program
	# named fred can read any of them with getenv.
	. /etc/rc.conf
	fred



This doesn't work.  /etc/rc.conf does not export
its variables to the environment.  It only sets them in the
local shell.  Try the above where 'fred' is
  #!/bin/sh
  printenv
and you'll see what I mean.



Has anyone done anything like this before?



Yeah.  fopen(3), for(;;) { fgets(3), strtok(3) } fclose(3).



This is what 'thefish' and 'sysinstall' both do,
more or less.  Of course, this doesn't work in all
cases.  (Witness the last 20 lines or so of
/etc/defaults/rc.conf to understand why
this doesn't work.)

rc.conf is _not_ a list of variable=value
pairs.  It is a shell script that sets
a number of shell variables.  Nothing
less than a full-fledged implementation
of /bin/sh is gauranteed to work in all
cases.

Which comes back to the question in
my original posting:  does anyone have
sample code for manipulating a slave
/bin/sh using popen?  or, alternatively,
has anyone modified /bin/sh to operate
as an embedded interpreter?

Tim Kientzle



To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Reading rc.conf from C programs?

2003-01-02 Thread phk
In message [EMAIL PROTECTED], Tim Kientzle writes:
Terry Lambert wrote:

 Tim Kientzle wrote:
I'm trying to figure out how to read and use
/etc/rc.conf configuration variables from within
a C program. 
 
  #!/bin/sh
  # Throw all of rc.conf into the environemnet so a C program
  # named fred can read any of them with getenv.
  . /etc/rc.conf
  fred

You can get a decent simulation this way:

#!/bin/sh
echo *** NOISE
set
echo *** DATA+NOISE
. /etc/rc.conf
set

Then pipe this into your program and separate the data from the noise.

-- 
Poul-Henning Kamp   | UNIX since Zilog Zeus 3.20
[EMAIL PROTECTED] | TCP/IP since RFC 956
FreeBSD committer   | BSD since 4.3-tahoe
Never attribute to malice what can adequately be explained by incompetence.

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Reading rc.conf from C programs?

2003-01-02 Thread wgrim
Well, perhaps I'm missing something here, but can't you just tokenize the items 
in rc.conf using strtok after opening up the file in your C program?

And char buffer sizes is a problem, you can record where the file pointer is, 
do you a strtok on say '=', subtract the new file pointer size with the old 
one, malloc your char string, then move the file pointer back to its previous 
location.

I mean, I may certainly be missing something here, but I've never noticed 
rc.conf be anything other than a left hand value and a right hand value (often 
enclosed in quotes), with both sides being separated by an equal sign.

-Mike




Quoting [EMAIL PROTECTED]:

 In message [EMAIL PROTECTED], Tim Kientzle writes:
 Terry Lambert wrote:
 
  Tim Kientzle wrote:
 I'm trying to figure out how to read and use
 /etc/rc.conf configuration variables from within
 a C program. 
  
 #!/bin/sh
 # Throw all of rc.conf into the environemnet so a C program
 # named fred can read any of them with getenv.
 . /etc/rc.conf
 fred
 
 You can get a decent simulation this way:
 
   #!/bin/sh
   echo *** NOISE
   set
   echo *** DATA+NOISE
   . /etc/rc.conf
   set
 
 Then pipe this into your program and separate the data from the noise.
 
 -- 
 Poul-Henning Kamp   | UNIX since Zilog Zeus 3.20
 [EMAIL PROTECTED] | TCP/IP since RFC 956
 FreeBSD committer   | BSD since 4.3-tahoe
 Never attribute to malice what can adequately be explained by incompetence.
 
 To Unsubscribe: send mail to [EMAIL PROTECTED]
 with unsubscribe freebsd-hackers in the body of the message
 




-
SIUE Web Mail

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Reading rc.conf from C programs?

2003-01-02 Thread wgrim
Oh, and changing a bit of what I said in my previous post, you could instead 
just pass the strtok to strlen I think and then rewind your file pointer.  This 
should save some CPU cycles or at least save code complexity by doing it this 
way (in my mind at least).

Anyway, just a couple thoughts.

-Mike


Quoting [EMAIL PROTECTED]:

 In message [EMAIL PROTECTED], Tim Kientzle writes:
 Terry Lambert wrote:
 
  Tim Kientzle wrote:
 I'm trying to figure out how to read and use
 /etc/rc.conf configuration variables from within
 a C program. 
  
 #!/bin/sh
 # Throw all of rc.conf into the environemnet so a C program
 # named fred can read any of them with getenv.
 . /etc/rc.conf
 fred
 
 You can get a decent simulation this way:
 
   #!/bin/sh
   echo *** NOISE
   set
   echo *** DATA+NOISE
   . /etc/rc.conf
   set
 
 Then pipe this into your program and separate the data from the noise.
 
 -- 
 Poul-Henning Kamp   | UNIX since Zilog Zeus 3.20
 [EMAIL PROTECTED] | TCP/IP since RFC 956
 FreeBSD committer   | BSD since 4.3-tahoe
 Never attribute to malice what can adequately be explained by incompetence.
 
 To Unsubscribe: send mail to [EMAIL PROTECTED]
 with unsubscribe freebsd-hackers in the body of the message
 




-
SIUE Web Mail

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Reading rc.conf from C programs?

2003-01-02 Thread phk
In message [EMAIL PROTECTED], [EMAIL PROTECTED] wri
tes:
Well, perhaps I'm missing something here, but can't you just tokenize the items 
in rc.conf using strtok after opening up the file in your C program?

Only if you parse and evaluate the entire /bin/sh syntax.

-- 
Poul-Henning Kamp   | UNIX since Zilog Zeus 3.20
[EMAIL PROTECTED] | TCP/IP since RFC 956
FreeBSD committer   | BSD since 4.3-tahoe
Never attribute to malice what can adequately be explained by incompetence.

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Reading rc.conf from C programs?

2003-01-02 Thread Leo Bicknell
In a message written on Thu, Jan 02, 2003 at 12:18:55PM -0800, Tim Kientzle wrote:
 rc.conf is _not_ a list of variable=value
 pairs.  It is a shell script that sets
 a number of shell variables.  Nothing
 less than a full-fledged implementation
 of /bin/sh is gauranteed to work in all
 cases.

Might it be worth restricting rc.conf to be a (very small?) subset
of sh syntax so that it remains both a valid sh script and also
easier to parse in a program?

Clearly things like the end of /etc/defaults/rc.conf would have to
be handled differently, but that might be a good trade off to make
the file more easily parseable in many languages.

-- 
   Leo Bicknell - [EMAIL PROTECTED] - CCIE 3440
PGP keys at http://www.ufp.org/~bicknell/
Read TMBG List - [EMAIL PROTECTED], www.tmbg.org



msg38941/pgp0.pgp
Description: PGP signature


Re: pw(8): $ (dollar sign) in username

2003-01-02 Thread Terry Lambert
Mahlon wrote:
 This has come up more than a few times in the past.  vipw does allow
 the $ character, and works great in a 'couple of machines' network.
 It's not a viable solution for using samba's machine trust accounts
 in an *automated* environment.  Having to manually add your domain
 trust accounts is unneeded when samba can do it for you - after a
 1 character change in pw.

Probably the correct approach is to use the PAM module that
allows the UNIX machine to perform authentication against the
domain controller, instead of its local password database.

You talk about the difficulty of adding all these account to
a UNIX machine, and then having to modify them with vipw,
but you don't complain about the difficulty *still* involved
in adding them, if the vipw step is removed.  Better to
eliminate the need to create the accounts at all.

-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Reading rc.conf from C programs?

2003-01-02 Thread Terry Lambert
Tim Kientzle wrote:
[ ... simple script ... ]
 This doesn't work.  /etc/rc.conf does not export
 its variables to the environment.  It only sets them in the
 local shell.  Try the above where 'fred' is
#!/bin/sh
printenv
 and you'll see what I mean.

Someone else has already pointed out set -e.


 rc.conf is _not_ a list of variable=value
 pairs.  It is a shell script that sets
 a number of shell variables.  Nothing
 less than a full-fledged implementation
 of /bin/sh is gauranteed to work in all
 cases.

Then this is broken, and needs to be fixed, not worked around by
adding the ability to interpret the code that shouldn't be there.

-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Reading rc.conf from C programs?

2003-01-02 Thread Terry Lambert
[EMAIL PROTECTED] wrote:
 Well, perhaps I'm missing something here, but can't you just tokenize the items
 in rc.conf using strtok after opening up the file in your C program?

You are missing something.  Someone violated policy, and put
shell code into rc.conf, instead of leaving it a name/value
pairs.

-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Reading rc.conf from C programs?

2003-01-02 Thread Miguel Mendez
On Thu, 02 Jan 2003 13:35:03 -0800
Terry Lambert [EMAIL PROTECTED] wrote:

Hi,

 You are missing something.  Someone violated policy, and put
 shell code into rc.conf, instead of leaving it a name/value
 pairs.

So where are you patches? :-) Parsing rc.conf is not rocket science
anway.

Cheers,
-- 
Miguel Mendez - [EMAIL PROTECTED]
GPG Public Key :: http://energyhq.homeip.net/files/pubkey.txt
EnergyHQ :: http://www.energyhq.tk
Of course it runs NetBSD!

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Reading rc.conf from C programs?

2003-01-02 Thread Jordan K Hubbard
You're somewhat mistaken if you think there was EVER any defined policy 
with respect to this, it was simply a shell configuration file that 
gained prominance as it went along, from its humble beginnings as 
/etc/sysconfig or whatever it was we called it back then.  There was 
never any specific mandate that it be a key/value pair configuration 
variable database, that was simply a de-facto standard and one which 
was never clearly documented.

In hindsight, if we'd really wanted a key/value pair database then we 
should have done it in XML and simply dealt with it at arm's length 
through a accessor utility, e.g.  instead of:

case ${ipsec_enable} in

We'd have:

   case `sysconfig -r ipsec_enable` in

Or something to that effect.

If you're really looking for the real solution underlying this 
problem then you need to look past the format being used at the moment 
and at the fundamental problem it was originally trying to solve.

- Jordan

On Thursday, January 2, 2003, at 01:35 PM, Terry Lambert wrote:

[EMAIL PROTECTED] wrote:

Well, perhaps I'm missing something here, but can't you just tokenize 
the items
in rc.conf using strtok after opening up the file in your C program?

You are missing something.  Someone violated policy, and put
shell code into rc.conf, instead of leaving it a name/value
pairs.

-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message


--
Jordan K. Hubbard
Engineering Manager, BSD technology group
Apple Computer


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Reading rc.conf from C programs?

2003-01-02 Thread Paul Schenkeveld
Hi all,

On Thu, Jan 02, 2003 at 09:56:16PM +0100, [EMAIL PROTECTED] wrote:
 In message [EMAIL PROTECTED], [EMAIL PROTECTED] wri
 tes:
 Well, perhaps I'm missing something here, but can't you just tokenize the items 
 in rc.conf using strtok after opening up the file in your C program?
 
 Only if you parse and evaluate the entire /bin/sh syntax.

So, I've come up with the following.  With 'env -' you can clear all
environment variables, with 'set -a' you can mark all shell variables
as exported and with '. /etc/rc.conf' or '. /etc/defaults/rc.conf' you
can suck in those variables into a shell.

Put this all together into:

  env - sh -ac '. /etc/defaults/rc.conf; /usr/bin/printenv'

and parse the output of that.

If you are worried about special characters (notably newlines) in the
output of printenv, you can grab my own version of printenv at

ftp://ftp.psconsult.nl/pub/src/myprintenv/myprintenv.c

and put the binary in /usr/local/bin.

Then change the above command in:

  env - sh -ac '. /etc/defaults/rc.conf; /usr/local/bin/myprintenv -q'

Myprintenv -q puts double quotes around the value of each variable and
precedes the following characters by a backslash: \$`

Parsing this output should not be that difficult and is unambiguous
with regards to special characters.  The only caveat is special characters
in variable names but '. /etc/defaults/rc.conf' will take care of that.

Hope this helps.

If people think that -q is a good option for printenv, I can come up
with a patch for the standard printenv.  Opinions?

-- 
Paul Schenkeveld, Consultant
PSconsult ICT Services BV

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



freebsd running on a cdrom

2003-01-02 Thread Joe
Hello, 
I've been trying to get FreeBSD to run off a cdrom.  Why,
well longs story, the shot version is it needs to be able to be
turned off and on like a lite switch.  (I understand the on part
will take longer, but the off is just hit the button).  When I
release this box it will have no console access.

I have found 2 articles that talked about doing this and
made a cdrom. The problem is that I used the boot.flp from the
install, with my own custom kernel and it went into sysinstall
like I wanted to install the system. 

 Without building the entire FreeBSD distro how do I make my
own boot.flp file and what goes on it?

Any help is greatly appreciated.
Thanks, 
Joe



__
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Reading rc.conf from C programs?

2003-01-02 Thread Terry Lambert
Miguel Mendez wrote:
 Terry Lambert [EMAIL PROTECTED] wrote:
  You are missing something.  Someone violated policy, and put
  shell code into rc.conf, instead of leaving it a name/value
  pairs.
 
 So where are you patches? :-) Parsing rc.conf is not rocket science
 anway.

They're in the CVS repository.  Do a cvs diff -c before and after
the code was added to the file, and you'll get my diffs.  8-).

-- Terry

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: iicbb(4)/iic(4) debuging

2003-01-02 Thread Nicolas Souchu
On Tue, Dec 10, 2002 at 08:51:17PM +0100, Alexander Funcke wrote:
 Hi,
 
 
 I've more or less written a bus for GPIO kind of hardware and
 a device-driver for National Geode's SCx200 GPIO pins.
 
 I'd like to connect the gpiobus(4) till the iicbb(4) 'device'
 so I can talk to the lm-sensors and other stuff that hangs 
 on the iicbus(4) (i.e. two GPIOs).
 
 Is there any small programs that talks to iic(4) that can be
 used for debuging purposes? I have tried to scan the archives
 and google but with out result.

healtd in the ports use it or smb(4).

Did you already write the bit-banging driver routines like lpbb(4)
does?

Nicholas

-- 
Nicholas Souchu - [EMAIL PROTECTED] - [EMAIL PROTECTED]

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: SCM_CREDS

2003-01-02 Thread Jim Faucette
 In the FreeBSD implimentation, the sender must attach a message of
 type SCM_CREDS and the kernel will correctly fill in the fields.

Thanks! That was the missing piece of the puzzle.

  jim...

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Reading rc.conf from C programs?

2003-01-02 Thread Tim Kientzle
So far, it sounds like noone has actually implemented
a completely robust way to read rc.conf data into a
shell program, although a lot of people have had good
experiences with simple variable=value parsing of the
raw files.

PHK's idea (use 'set' to dump the shell vars before and
after sourcing rc.conf) is pretty close, but can be
fooled by the following (admittedly pathalogical) example:
   a='b
   c=d'

However, I had missed 'set -a'; that just might
solve the problem completely, while still supporting
arbitrary shell code:

* Use popen() to capture the output of the
  following script:
#!/bin/sh
set -a
if [ -r /etc/defaults/rc.conf ]; then
  . /etc/defaults/rc.conf
  source_rc_confs
elif [ -r /etc/rc.conf ]; then
  . /etc/rc.conf
fi
my_custom_printenv

* my_custom_printenv is a C program like /usr/bin/printenv,
  but it encodes newlines, etc, so that the text output
  is unambiguous (the stock printenv generates ambiguous
  output from examples like the one above)

* capture and decode the output in the main program;
  discard anything that's present in the main program's
  environment.

Can anyone see any way that this could fail?  This
would certainly be _much_ simpler than the approaches
I had originally envisioned.  Thanks for everyone's input!

Tim Kientzle


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Reading rc.conf from C programs?

2003-01-02 Thread Tim Kientzle
Paul Schenkeveld wrote:


If people think that -q is a good option for printenv, I can come up
with a patch for the standard printenv.  Opinions?



Some form of unambiguous output from printenv
would be nice.  I would suggest quoting both the
variable name and the value just to be on the safe side.

Even better:  modify 'env' to support
that format as input.  Then you could
use, e.g.,
  printenv -q saved_environment
to record the environment and then use
  env - -r saved_environment command
to recreate that environment.

Tim Kientzle




To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Reading rc.conf from C programs?

2003-01-02 Thread Chad David
On Thu, Jan 02, 2003 at 03:25:01PM +0100, Miguel Mendez wrote:
 On Wed, 1 Jan 2003 18:24:40 -0500 (EST)
 Chuck Robey [EMAIL PROTECTED] wrote:
 
 Hi,
 
 Since my little baby was mentioned, I thought I'd just comment :)
 
   You could perhaps copy the way that The Fish does it?
  
   Take a look at ports/sysutils/thefish.
  
   The parser.c code appears to read /etc/{,defaults/}rc.conf and
   place all the options into a linked list.
 
 I can tell you I wholeheartedly hate parser.c :) and regret having not
 started with lex/yacc since day 1. Since the next major release will
 support not only FreeBSD, but NetBSD as well, I'm redoing the parser in
 a more flexible way. But again, it was my first parser, and so far seems
 to work fine :) I've concentrated more on other aspects of the program
 too.

Here is a very simple lex/yacc parser that reads simple key value pairs.
The whole thing took about 30 minutes to write.  Exclusive states may not
be the easiest or best way to handle the parts of the sh syntax that need
to be ignored, but it was a quick way to handle the if, which was all I
cared about.

-- 
Chad David[EMAIL PROTECTED]
www.FreeBSD.org   [EMAIL PROTECTED]
ISSci Inc.Calgary, Alberta Canada



readrc.tar.gz
Description: application/tar-gz


Re: freebsd running on a cdrom

2003-01-02 Thread Craig Rodrigues
On Thu, Jan 02, 2003 at 02:03:50PM -0800, Joe wrote:
  Without building the entire FreeBSD distro how do I make my
 own boot.flp file and what goes on it?


See if this article can help you:
Building a CD Bootable Firewall
http://www.bsdtoday.com/2002/March/Features646.html
-- 
Craig Rodrigues
http://home.attbi.com/~rodrigc
[EMAIL PROTECTED]

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: freebsd running on a cdrom

2003-01-02 Thread Warren Block
On Thu, 2 Jan 2003, Joe wrote:

 I've been trying to get FreeBSD to run off a cdrom.  Why,
 well longs story, the shot version is it needs to be able to be
 turned off and on like a lite switch.  (I understand the on part
 will take longer, but the off is just hit the button).  When I
 release this box it will have no console access.

Just run everything from MFS.  From a couple of weeks ago on this
list, here's the most effective CD-building package I've found yet:

http://www.freesbie.org

It does look for and mount FreeBSD and other types of harddrive
partitions in its startup, but that should be easy to remove.

-Warren Block * Rapid City, South Dakota USA

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Reading rc.conf from C programs?

2003-01-02 Thread Paul Schenkeveld
On Thu, Jan 02, 2003 at 03:16:54PM -0800, Tim Kientzle wrote:
 Paul Schenkeveld wrote:
 
  If people think that -q is a good option for printenv, I can come up
  with a patch for the standard printenv.  Opinions?
 
 
 Some form of unambiguous output from printenv
 would be nice.  I would suggest quoting both the
 variable name and the value just to be on the safe side.
 
 Even better:  modify 'env' to support
 that format as input.  Then you could
 use, e.g.,
printenv -q saved_environment
 to record the environment and then use
env - -r saved_environment command
 to recreate that environment.

I've rolled a patch for a recent -STABLE printenv (see below).
Comments?  Anyone care to commit this?

Will see if I can do a patch for env over the weekend.

-- 
Paul Schenkeveld, Consultant
PSconsult ICT Services BV

--- /usr/src/usr.bin/printenv/printenv.1Wed Jun 26 10:25:30 2002
+++ src/printenv/printenv.1 Fri Jan  3 02:14:11 2003
@@ -42,6 +42,9 @@
 .Nd print out the environment, set and print environment
 .Sh SYNOPSIS
 .Nm
+.Op Fl e
+.Op Fl q
+.Op Fl Q
 .Op Ar name
 .Nm env
 .Op Fl
@@ -81,6 +84,17 @@
 .Pp
 The options are as follows:
 .Bl -tag -width indent
+.It Fl e
+Output
+.Nm export
+commands for every environment variable.
+.It Fl q
+Double quote the value of every environment variable,
+special characters (\\`$) will be preceeded bay a backslash.
+.It Fl Q
+Like
+.Fl q
+but also quote the name of the variable.
 .It Fl i
 Execute the
 .Ar utility
--- /usr/src/usr.bin/printenv/printenv.cSat Mar 29 05:31:36 1997
+++ src/printenv/printenv.c Fri Jan  3 02:18:32 2003
@@ -49,6 +49,8 @@
 #include unistd.h
 
 void   usage __P((void));
+void   print_var __P((char *, int));
+void   print_quoted __P((char *));
 
 /*
  * printenv
@@ -62,12 +64,25 @@
char *argv[];
 {
extern char **environ;
-   register char *cp, **ep;
+   register char *cp, **ep, *eq;
register size_t len;
int ch;
+   int flags = 0;
+#defineeFLAG   1
+#defineqFLAG   2
+#defineQFLAG   4
 
-   while ((ch = getopt(argc, argv, )) != -1)
+   while ((ch = getopt(argc, argv, eqQ)) != -1)
switch(ch) {
+   case 'e':
+   flags |= eFLAG;
+   break;
+   case 'q':
+   flags |= qFLAG;
+   break;
+   case 'Q':
+   flags |= qFLAG | QFLAG;
+   break;
case '?':
default:
usage();
@@ -76,8 +91,18 @@
argv += optind;
 
if (argc == 0) {
-   for (ep = environ; *ep; ep++)
-   (void)printf(%s\n, *ep);
+   for (ep = environ; *ep; ep++) {
+   if (flags  eFLAG) {
+   for (eq = *ep; *eq  *eq != '='; )
+   eq++;
+   printf(export %s%.*s%s; ,
+   flags  QFLAG ? \ : ,
+   eq - *ep,
+   *ep,
+   flags  QFLAG ? \ : );
+   }
+   print_var(*ep, flags);
+   }
exit(0);
}
len = strlen(*argv);
@@ -85,7 +110,12 @@
if (!memcmp(*ep, *argv, len)) {
cp = *ep + len;
if (!*cp || *cp == '=') {
-   (void)printf(%s\n, *cp ? cp + 1 : cp);
+   if (flags  qFLAG) {
+   print_quoted(*ep);
+   putchar('\n');
+   }
+   else
+   (void)printf(%s\n, *cp ? cp + 1 : cp);
exit(0);
}
}
@@ -93,8 +123,50 @@
 }
 
 void
+print_var(var, flags)
+   char *var;
+   int flags;
+{
+   register char *eq;
+   for (eq = var; eq  *eq  *eq != '='; )
+   eq++;
+   if (*eq == '=') {
+   *eq++ = '\0';
+   if (flags  QFLAG)
+   print_quoted(var);
+   else
+   printf(%s, var);
+   putchar('=');
+   if (flags  qFLAG)
+   print_quoted(eq);
+   else
+   printf(%s, eq);
+   putchar('\n');
+   }
+}
+
+void
+print_quoted(str)
+   char *str;
+{
+   putchar('');
+   for ( ; *str; str++)
+   switch (*str) {
+   case '\\':
+   case '':
+   case '`':
+   case '$':
+   putchar('\\');
+   /* FALL THRU */
+   default:
+   

Re: Reading rc.conf from C programs?

2003-01-02 Thread Greg Shenaut
In message [EMAIL PROTECTED], Tim Kientzle cleopede:
Terry Lambert wrote:

 Tim Kientzle wrote:
I'm trying to figure out how to read and use
/etc/rc.conf configuration variables from within
a C program. 
 
  #!/bin/sh
  # Throw all of rc.conf into the environemnet so a C program
  # named fred can read any of them with getenv.
  . /etc/rc.conf
  fred


This doesn't work.  /etc/rc.conf does not export
its variables to the environment.  It only sets them in the
local shell.  Try the above where 'fred' is
   #!/bin/sh
   printenv
and you'll see what I mean.

Try using the set -a command before reading rc.conf and
it will work:

#!/bin/sh

set -a
. /etc/rc.conf
exec yourprog

Greg Shenaut

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: freebsd running on a cdrom

2003-01-02 Thread Joe
Thanks, but that was actually one of the articles I had already
read. 

It suggests taking the boot.flp image from 4.4-RELEASE and just
using your own boot0, loader.4th and kernel.gz.  

When I did that I ended up with the system booting, but it
complained about a missing something(I cannot remember the exact
message, would have to run it again) and then went into
sysinstall.

The problem with the article is that it is not clean what the
4.4-RELEASE is and it kinda sounded like a live filesystem.

Joe

--- Craig Rodrigues [EMAIL PROTECTED] wrote:
 On Thu, Jan 02, 2003 at 02:03:50PM -0800, Joe wrote:
   Without building the entire FreeBSD distro how do I
 make my
  own boot.flp file and what goes on it?
 
 
 See if this article can help you:
 Building a CD Bootable Firewall
 http://www.bsdtoday.com/2002/March/Features646.html
 -- 
 Craig Rodrigues
 http://home.attbi.com/~rodrigc
 [EMAIL PROTECTED]


__
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: freebsd running on a cdrom

2003-01-02 Thread Matthew Saunders
Hello,
   I've been having the exact same problem. I've found a page that gives a
more complete detail of bootable freebsd cd's, including how to supress the
/stand/sysinstall invocation.
   http://www.zamaz.com/brian/firewall.html
I haven't tried it yet, so I can't vouche for it, but if you read through
the script the author writes, it mentions the creation of a loader.rc file.
I'm hoping this will work. Good luck,

matt

- Original Message -
From: Joe [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Thursday, January 02, 2003 4:03 PM
Subject: freebsd running on a cdrom


 Hello,
 I've been trying to get FreeBSD to run off a cdrom.  Why,
 well longs story, the shot version is it needs to be able to be
 turned off and on like a lite switch.  (I understand the on part
 will take longer, but the off is just hit the button).  When I
 release this box it will have no console access.

 I have found 2 articles that talked about doing this and
 made a cdrom. The problem is that I used the boot.flp from the
 install, with my own custom kernel and it went into sysinstall
 like I wanted to install the system.

  Without building the entire FreeBSD distro how do I make my
 own boot.flp file and what goes on it?

 Any help is greatly appreciated.
 Thanks,
 Joe



 __
 Do you Yahoo!?
 Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
 http://mailplus.yahoo.com

 To Unsubscribe: send mail to [EMAIL PROTECTED]
 with unsubscribe freebsd-hackers in the body of the message



To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: devd, crunchgen, C++, and /rescue

2003-01-02 Thread M. Warner Losh
In message: [EMAIL PROTECTED]
Tim Kientzle [EMAIL PROTECTED] writes:
: For now, this means that devd will not be in
: /rescue.  I'm not entirely happy about this.

devd typically wouldn't be all that useful for a /rescue environment.

: Policy question:  Is C++ considered acceptable in /bin
: and /sbin?  (I presume so, since Warner's doing it.)

Yes.  I don't see why not.

: Technical Question:  Does anyone know how to get
: crunchgen to play nicely with C++ programs?  (I've
: tried a couple of simple changes to the generated
: makefile with no success.)

What's the problem.

: Usability Question:  How necessary is devd likely to
: be for people recovering from serious disaster?

Not very.  It certainly isn't REQUIRED since you can always do what
devd forks by hand...

Warner

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Reading rc.conf from C programs?

2003-01-02 Thread M. Warner Losh
In message: [EMAIL PROTECTED]
Tim Kientzle [EMAIL PROTECTED] writes:
: I'm trying to figure out how to read and use
: /etc/rc.conf configuration variables from within
: a C program.  The standard technique, of course,
: is to use a shell-script wrapper and pass the
: extracted values to the C program on the command
: line.  But I want access to _all_ of the rc.conf
: variables, not just a couple of them, and I don't
: see any reasonable way to accomplish that with a
: shell wrapper.

The easy way to do this would be to exec a small shell script that
execs /etc/rc.conf, et al, then execs your program.  Then it is as
simple as getenv...

Warner

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



MAKEDEV unknown major/minor devtype /dev/pst0s2b

2003-01-02 Thread elec
I am trying to install freebsd-4.7 stable on a promise sx6000 controller.

Since the pst driver is not enabled on the kernel image i had to recompile
the kernel to support it (kern.flp ) and also modified the mfsroot.gz to have
/dev/pst0 entries.

But when i am just about to install, sysinstall complains with something
like this:
DEBUG: MAKEDEV Unknown major/minor devtype /dev/pst0s2b

Is there anything I need to modify ?






To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: freebsd running on a cdrom

2003-01-02 Thread Joe
Thanks, 

I looked at the ports/sysutils/cdroot/mkcdroot script and hacked
togeather a boot.flp that worked.  Only problem is that ssh does
not work, but its a cd-rw so I'll have to change a few things. 
The boot went though okay, but now I gotta make changes so that
it is console access and ssh only.

Thanks, Joe  

--- Matthew Saunders [EMAIL PROTECTED] wrote:
 Hello,
I've been having the exact same problem. I've found a page
 that gives a
 more complete detail of bootable freebsd cd's, including how
 to supress the
 /stand/sysinstall invocation.
http://www.zamaz.com/brian/firewall.html
 I haven't tried it yet, so I can't vouche for it, but if you
 read through
 the script the author writes, it mentions the creation of a
 loader.rc file.
 I'm hoping this will work. Good luck,
 
 matt
 
 - Original Message -
 From: Joe [EMAIL PROTECTED]
 To: [EMAIL PROTECTED]
 Sent: Thursday, January 02, 2003 4:03 PM
 Subject: freebsd running on a cdrom
 
 
  Hello,
  I've been trying to get FreeBSD to run off a cdrom. 
 Why,
  well longs story, the shot version is it needs to be able to
 be
  turned off and on like a lite switch.  (I understand the on
 part
  will take longer, but the off is just hit the button).  When
 I
  release this box it will have no console access.
 
  I have found 2 articles that talked about doing this and
  made a cdrom. The problem is that I used the boot.flp from
 the
  install, with my own custom kernel and it went into
 sysinstall
  like I wanted to install the system.
 
   Without building the entire FreeBSD distro how do I
 make my
  own boot.flp file and what goes on it?
 
  Any help is greatly appreciated.
  Thanks,
  Joe
 
 
 
  __
  Do you Yahoo!?
  Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
  http://mailplus.yahoo.com
 
  To Unsubscribe: send mail to [EMAIL PROTECTED]
  with unsubscribe freebsd-hackers in the body of the
 message
 
 


__
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



key=value in rc.conf (was Re: Reading rc.conf from C programs?)

2003-01-02 Thread Andrew


On Thu, 2 Jan 2003, Terry Lambert wrote:

 They're in the CVS repository.  Do a cvs diff -c before and after
 the code was added to the file, and you'll get my diffs.  8-).

Perhaps the stuff at the bottom of defaults/rc.conf needs to be in a
seperate file (like read_rc_conf.sh) with another line or 2 to read in
defaults/rc.conf first.

That way shell scripts needing to parse rc.conf call upon a tool to do it
in the same way as C programs are having to. From that point on rc.conf
can be key=value pairs only.

Would this solve everyones problems or am I overlookign something?

Andrew


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: devd, crunchgen, C++, and /rescue

2003-01-02 Thread Tim Kientzle
Tim Kientzle [EMAIL PROTECTED] writes:



: Does anyone know how to get crunchgen to play nicely with C++ programs?



M. Warner Losh asks:


What's the problem.



Using crunchgen directly gives the expected linkage problems:

# cat test.conf
srcdirs /usr/src/sbin
progs devd
libs -ll
# crunchgen -q test.conf
Run make -f test.mk to build crunched binary.
# make -f test.mk
(cd /usr/src/sbin/devd   make   depend  make   devd.o token.o parse.o)
`devd.o' is up to date.
`token.o' is up to date.
`parse.o' is up to date.
cc -O -pipe -mcpu=pentiumpro -c test.c
echo int _crunched_devd_stub(int argc, char **argv, char **envp){return 
main(argc,argv,envp);} devd_stub.c
cc -O -pipe -mcpu=pentiumpro -c devd_stub.c
ld -dc -r -o devd.lo devd_stub.o /usr/src/sbin/devd/devd.o 
/usr/src/sbin/devd/token.o /usr/src/sbin/devd/parse.o
crunchide -k _crunched_devd_stub devd.lo
cc -static -o test test.o devd.lo -ll
devd.lo: In function `event_proc::~event_proc()':
devd.lo(.text+0x223): undefined reference to `operator delete(void*)'
devd.lo: In function `action::action(char const*)':
devd.lo(.text+0x347): undefined reference to `std::string::string(char const*, 
std::allocatorchar const)'
devd.lo: In function `action::action(char const*)':
 230 additional lines of errors deleted ...

Attempting to re-link with c++ instead of cc
gives just one error (this would be the obvious
change to 'crunchgen' if it worked):

# c++ -static -o test test.o devd.lo -ll
/usr/lib/libstdc++.a(locale-inst.o): In function `std::money_getchar, 
std::istreambuf_iteratorchar, std::char_traitschar  
::do_get(std::istreambuf_iteratorchar, std::char_traitschar , 
std::istreambuf_iteratorchar, std::char_traitschar , bool, std::ios_base, 
std::_Ios_Iostate, std::string) const':
locale-inst.o(.gnu.linkonce.t._ZNKSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES3_S3_bRSt8ios_baseRSt12_Ios_IostateRSs+0xa44): 
undefined reference to `unsigned const std::minunsigned(unsigned const, 
unsigned const)'

For the record,
  cd /usr/src/sbin/devd  make clean  make
works just fine on this machine, so I'm reasonably
confident that the compiler, libs, etc, are all
correctly installed.

This one has me stumped.  Any ideas?

Tim


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message


Re: devd, crunchgen, C++, and /rescue

2003-01-02 Thread M. Warner Losh
In message: [EMAIL PROTECTED]
Tim Kientzle [EMAIL PROTECTED] writes:
: devd.lo: In function `event_proc::~event_proc()':
...
: This one has me stumped.  Any ideas?

I'm not.

event_proc::~event_proc() is really one of the following:

0180 T event_proc::~event_proc [in-charge deleting]()
0100 T event_proc::~event_proc [in-charge]()
0080 T event_proc::~event_proc [not-in-charge]()

which aren't what they seem either:

0180 T _ZN10event_procD0Ev
0100 T _ZN10event_procD1Ev
0080 T _ZN10event_procD2Ev

Which gives crunchgen fits, I'm guessing.  crunchgen is likely
changing them to something like:

0180 T devd_ZN10event_procD0Ev

or

0180 T devd__ZN10event_procD0Ev

So I'd say that crunchgen doesn't grok c++ mangled symbols, which
isn't that surprising...

Warner


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message