Commit Graph

440 Commits

Author SHA1 Message Date
mckusick
88d85c15ef This commit adds basic support for the UFS2 filesystem. The UFS2
filesystem expands the inode to 256 bytes to make space for 64-bit
block pointers. It also adds a file-creation time field, an ability
to use jumbo blocks per inode to allow extent like pointer density,
and space for extended attributes (up to twice the filesystem block
size worth of attributes, e.g., on a 16K filesystem, there is space
for 32K of attributes). UFS2 fully supports and runs existing UFS1
filesystems. New filesystems built using newfs can be built in either
UFS1 or UFS2 format using the -O option. In this commit UFS1 is
the default format, so if you want to build UFS2 format filesystems,
you must specify -O 2. This default will be changed to UFS2 when
UFS2 proves itself to be stable. In this commit the boot code for
reading UFS2 filesystems is not compiled (see /sys/boot/common/ufsread.c)
as there is insufficient space in the boot block. Once the size of the
boot block is increased, this code can be defined.

Things to note: the definition of SBSIZE has changed to SBLOCKSIZE.
The header file <ufs/ufs/dinode.h> must be included before
<ufs/ffs/fs.h> so as to get the definitions of ufs2_daddr_t and
ufs_lbn_t.

Still TODO:
Verify that the first level bootstraps work for all the architectures.
Convert the utility ffsinfo to understand UFS2 and test growfs.
Add support for the extended attribute storage. Update soft updates
to ensure integrity of extended attribute storage. Switch the
current extended attribute interfaces to use the extended attribute
storage. Add the extent like functionality (framework is there,
but is currently never used).

Sponsored by: DARPA & NAI Labs.
Reviewed by:	Poul-Henning Kamp <phk@freebsd.org>
2002-06-21 06:18:05 +00:00
luigi
3c1b590b17 Add a few files which are needed to build "passwd" now that
the standard version of these files have been PAMified (and axed).
2002-06-20 21:17:33 +00:00
dd
1a506b7f47 sysctl -w -> sysctl 2002-05-11 06:06:11 +00:00
luigi
2bc8601c9e Bring in a slightly older version of usr/bin/passwd which does not
require libpam and all the libraries that libpam brings in.
We have no room for those on picobsd images.
2002-05-05 20:43:27 +00:00
des
4d6b787d2d Usage style sweep: spell "usage" with a small 'u'.
Also change one case of blatant __progname abuse (several more remain)
This commit does not touch anything in src/{contrib,crypto,gnu}/.
2002-04-22 13:44:47 +00:00
ru
a40e88df53 Record libtelnet.a death. 2002-04-19 12:39:09 +00:00
ru
54bcb55671 Align for const poisoning in -lutil. 2002-04-08 11:07:51 +00:00
ru
655eb3fb4f Synch with login/login.c,v 1.81: Switch to OpenPAM. 2002-04-08 10:58:01 +00:00
luigi
e6465566f6 Fix handling of undefined variables.
Add override for /etc/rc.local .
Add hook to start syslogd if compiled-in and /etc/syslog.conf exists
2002-04-07 20:41:09 +00:00
asmodai
6a6580e549 Add a missing void in the parameter list of http_request(). 2002-04-07 17:42:27 +00:00
asmodai
ffbac76a7e Give functions proper return type, since the default is an integer, where
the author obviously meant a void since he doesn't return any values.

One caveat, http_request has three return()'s, but doesn't do anything
with it.  Either the code needs to be rewritten to take care of proper
error handling on that point, or the returns ripped out.  I made it void
for now.
2002-04-07 17:41:33 +00:00
asmodai
b88a08173b Use %lld instead of %d in order to print struct stat's st_size, which is
an off_t.

PR:		29725
Submitted by:	Eugene Grosbein <eugen@svzserv.kemerovo.su>
2002-04-07 17:22:23 +00:00
asmodai
dd9f8f3445 Garbage collect unused variables.
PR:		29725
Submitted by:	Eugene Grosbein <eugen@svzserv.kemerovo.su>
2002-04-07 17:16:28 +00:00
asmodai
922292c1c5 Actually print the port we are listening too when specified verbose mode.
PR:		29725
Submitted by:	Eugene Grosbein <eugen@svzserv.kemerovo.su>
2002-04-07 17:07:37 +00:00
abial
8682302fbd Function declared void shouldn't return any value... 2002-03-27 20:10:53 +00:00
phk
811d04c86c Modernize my email address. 2002-03-25 13:52:45 +00:00
luigi
292f82a709 Add a few popular entries. 2002-03-24 21:13:53 +00:00
ru
6740a56f48 DESTDIR does not anymore does the -I${DESTDIR}/usr/include magic
in <bsd.prog.mk> and <bsd.lib.mk>.

Reviewed by:	luigi
2002-03-22 18:36:41 +00:00
luigi
32cb7030ba Gracefully exit when no MFS signature is found in the kernel.
Add support for a new "import_files" option (see manpage for details).
2002-03-21 03:15:06 +00:00
luigi
6d841eb679 Batch of fixes to the configuration files from Bruce Montague 2002-03-15 08:46:18 +00:00
luigi
5c52748eb6 Make this compile again
Reported-by: Bruce Montague
2002-03-11 08:03:50 +00:00
luigi
04d8a3dc77 Make this compile again (increase MFS size, remove invalid option).
Reported-by: Bruce Montague
2002-03-11 08:03:07 +00:00
luigi
145ec650e8 Fix detection of existing ssh host key, generate the new one
in floppy.tree instead of mfs_tree.

Do not cleanup ${BUILDDIR}/floppy.tree, it might be useful to look
at it after an image has been built.
2002-03-11 05:54:22 +00:00
luigi
2f70b8739d Make appropriate changes to use devfs.
Add a reference to the fd_size variable to set floppy size.
2002-03-11 05:46:18 +00:00
luigi
c41381fd39 Default to ee as EDITOR (some apps such as disklabel default to "vi"
which is not available).
2002-03-11 05:42:14 +00:00
luigi
5f22dca4bb Use machdep.guessed_bootdev to guess the boot device. 2002-03-11 05:15:44 +00:00
luigi
837ffe4451 CURRENT has devfs, so we do not need to specify what devices we
want on the MFS image. Update the config files accordingly.
2002-03-10 21:12:23 +00:00
luigi
bf24f7e68a Uncomment the entry for a getty on the serial port. Boxes with
a serial console can make use of it.
2002-03-10 21:11:35 +00:00
luigi
b979035403 Add back the "sis" driver, we had some room left... 2002-03-10 21:10:25 +00:00
luigi
58e10953a4 With devfs, we do not need to initialize pty's permissions. 2002-03-10 20:47:26 +00:00
luigi
8546115965 The probable boot device is "machdep.guessed_bootdev". 2002-03-10 20:37:04 +00:00
luigi
2731e7d254 Remove host.conf, and introduce a way to override the content
of selected files (at the moment /etc/host.conf and /etc/resolv.conf)
from /etc/rc.conf , so the number of places to customize is
reduced.
2002-03-09 18:27:02 +00:00
luigi
92d4835f65 Nuke abandoned configuration. 2002-03-09 08:28:11 +00:00
luigi
9c14b6308e Make this fit again into a 1.44 floppy.
We had to give up DDB and grep this time...

Add a hint in "config" on how to increase the image size so
we can stuff more things in the image (mostly for use on a CDROM).
2002-03-09 08:17:40 +00:00
luigi
9efe38f96b Further cleanup: remove useless entries from PATH, and be prepared
to use kern.bootdevname (if available) to identify the boot device
for updating the configuration. Fallback to /dev/fd0 as before.
2002-03-08 12:43:57 +00:00
luigi
de1c5cdc03 Add a (commented out) sample entry for use with a serial line. 2002-03-08 12:37:42 +00:00
luigi
c5f52263f4 Do not depend on "expr" for doing arithmetic, use the shell builtin functions
(picobsd might not have the command available).
2002-03-08 12:33:48 +00:00
luigi
4ee67ab530 Unbreak "update" script, by doing a mkdir -p of the relevant
directories when writing to disk.

Use the (yet to be committed) sysctl variable kern.bootdevname
to derive the device name, fallback to /dev/fd0 if kern.bootdevname
is unset or not available.
2002-03-08 12:14:46 +00:00
luigi
0e60fb334d Use a default of 25 lines for xterm. This only affects the behaviour
over a serial line, because the terminal negotiations using ssh/telnet
does the right thing anyways.
2002-03-08 12:10:13 +00:00
luigi
6b229a1455 Major cleanup of PicoBSD startup scripts, which now should be
closer to doing "the right thing".

The structure is now the following:

  * /etc/rc (from MFS) loads the rest of /etc and /root from
    /fd and then from floppy (if present), then transfers control
    to /etc/rc1

  * /etc/rc1 loads defaults from /etc/rc.conf.defaults, tries to
    set the hostname basing on the MAC address of the first ethernet
    interface, and then sources /etc/rc.conf and /etc/rc.conf.local
    for local configurations

  * The rest of the startup process is then performed (rc.network and so on).

Everything except the initial /etc/rc (from MFS) can be overridden with
a local version loaded from floppy. But in most cases, you should only need
to customize the following files in /etc:

	rc.conf    rc.firewall    hosts

Previously there were a number of inconsistencies in the calling
between files, and also a lot of clutter in rc.conf and rc.firewall.
Also, "rc1" was called "rc" and would overwrite the initial /etc/rc
from MFS, making it really hard to figure out what was going on in
case of bugs.
2002-03-08 05:15:08 +00:00
luigi
fa65eefffd MFS: sync with -stable (no functional difference). 2002-03-08 04:54:52 +00:00
luigi
5fc8233445 Invalidate password for sample user entry. 2002-03-08 03:57:57 +00:00
luigi
841fdef9ef Atapi units are now /dev/ad* and not /dev/wd* 2002-03-08 03:55:19 +00:00
luigi
48ded5bf3a Misc fixes to the build script:
+ fix some dialog entries to correctly modify variables instead of working
   in a subshell

 + add a logverbose function for debugging purposes

 + force 512/4096 blocks on filesystems

 + use 'auto' for disklabel so it works irrespective of the floppy size.
   This is useful for larger images than 1720k
2002-03-08 02:24:21 +00:00
luigi
8c8642cb94 Add entry for xterm-color 2002-03-06 19:47:20 +00:00
luigi
67f6aa0807 Put a more reasonable path for "more" sources in crunch.conf,
and disable telnet and friends in favour of ssh/sshd/scp.

Pull out a few NIC drivers from the config file to make the
image fit into a 1.44 image again. I have left "lnc" in as that is
emulated by vmware so this can be booted there.
2002-02-14 19:43:40 +00:00
luigi
042d3e068b Use { } instead of ( ) for grouping shell commands so that
variable assignments are retained ( () creates a subshell)

Reported-by: Michael Bretterklieber <mbretter@inode.at>
2002-02-14 19:21:50 +00:00
luigi
be0e572294 Add a '-l' flag to show CPU load for the various states, similar to what
"top" does (thinking of it, i could have as well used the same format line!)

This only makes sense when "-w" option is also specified, because the
load is computed as the difference between subsequent samples.

I think this (and the "-d" feature which shows differences in the
network statistics counts) would also make sense in the standard
vmstat and netstat.
2001-12-14 01:10:50 +00:00
luigi
068bd1c135 Implement a more efficient way to assign addresses: read /etc/hosts
only once into an array of shell variables, and then scan the array
to find entries matching the MAC address.
Associative arrays would really be handy here...
2001-11-29 03:16:23 +00:00
luigi
d49f2420be Whoops... left some junk in previous commit. 2001-11-24 20:24:36 +00:00
luigi
1207707843 Let "make" use the .mk files from the correct source tree instead
of the default ones (which could be incorrect when doing cross builds).

Also, try to be backward compatible when compiling wmk (the goal being
able to use the most recent "picobsd" script on a wide range of
source trees).
2001-11-24 20:22:20 +00:00
joe
1a9ca1b51c Use a local write_mfs_in_kernel.c instead of the one in ncvs/src/release
which is likely to be removed shortly, after repo-copying it from
there.
2001-11-20 01:00:52 +00:00
joe
62608b407f Cull picobsd/custom. It's bit rotted beyond all recognition.
Approved by:	freebsd-small
2001-11-19 18:04:04 +00:00
luigi
bb00b46d38 Add entries for "dumb" and "dialup" terminals, as the shell in HEAD
refuses to start if it does not find a matching entry for the terminal
type.

My impression is that this is a problem in the shell, because
at least on PicoBSD images, the shell itself coredumps.
Anyways, this is the quickest fix i can come up with.
2001-11-01 16:52:34 +00:00
luigi
9440591aaa Provide a new picobsd option, "--modules", to also build modules
(modload and friends are sufficiently small to consider their inclusion
in PicoBSD images).
2001-11-01 16:17:37 +00:00
luigi
af343dd439 Better code to scan the ethertable. 2001-10-25 17:40:03 +00:00
luigi
88d4f9b51f Use the correct sysctl names for intrcnt and intrnames. 2001-10-25 01:29:21 +00:00
luigi
2aa1af9337 Add a -d flag to show deltas as opposed to cumulative counters
in interface statistics.  Most useful when used with the -w flag e.g.

	ns -i -w 1 -d
2001-10-10 17:52:04 +00:00
luigi
b92382a49d Use host keys from the config directory if they exist, instead of
regenerating them.

Make the script handle relative paths for the source directory.
2001-10-07 17:22:46 +00:00
luigi
1f90bd5aeb Make fetch_mask return ${default_mask} if entry not found.
Add a couple of diagnostic messages.
2001-10-07 17:17:26 +00:00
luigi
ac520683a4 Add code to print interrupt statistics when they will be
exported via sysctl.
2001-10-07 02:13:23 +00:00
luigi
1f43bba0a8 Fix a typo (missing "; at the end of a string) 2001-10-07 00:29:59 +00:00
luigi
c04cd23c33 Fix a typo and sync a comment with the version in RELENG_4 2001-10-07 00:21:13 +00:00
luigi
0a6d2bba3a Add functions to lookup in /etc/networks and set interface
addresses, invoke them from /etc/rc
2001-10-04 00:46:44 +00:00
luigi
800c8cb93d Add "networks" file used to lookup netmasks 2001-10-04 00:46:03 +00:00
luigi
2652a9c097 Use @__CWD__@ as the magic string meaning "this directory"
in crunch.conf -- the previous choice, CWD, was too subject to false
matches (this string will be replaced by the absolute pathname
during the build process).
2001-10-04 00:42:20 +00:00
luigi
1dcfa4df37 A somewhat large change of this script.
From the user's perspective:
 * everything is now built outside the source tree (more precisely,
   in `pwd`/builddir-${name}/ ) except for the kernel config file(s)
   which still need to be copied into src/sys/i386/conf because of
   "config" limitations. I am not sure if there is an easy way
   to get away from this without changing "config" or replicating
   some part of the source tree.
   This is really the only change that most users should worry about,
   but it is a good one.

 * if you do cross-compiles (using "picobsd --src somedir/src [--init] ... ")
   then the libraries and include directories etc.  are searched/created
   in "somedir/usr" ;

 * you can do most things (basically build the kernel and the crunched
   binary and the filesystem trees) without root privileges. You need
   privileges to use mdconfig/vnconfig to create the actual MFS and
   floppy image, unfortunately.

 * the -v option now prints some diagnostic but does not stop for
   user input at each step. You need to specify -v -v to have the
   old behaviour.

Internally, the script has been reshuffled quite a bit to support
the above features. Many shell variables have been renamed or
made local in an effort to avoid undesired side effects. There is
a somewhat better error handling in case something goes wrong.
2001-10-02 17:06:51 +00:00
luigi
84344921ed Compile the kernel under ${BUILDDIR} instead of polluting the source
tree. Unfortunately the latter cannot be completely readonly, because
"config" still depends on the kernel config file being in sys/${ARCH}/conf
(it seems to derive other pathnames from that one).
2001-10-02 16:53:50 +00:00
luigi
74a969f1c0 Remove some entries to make the image fit into a floppy again. 2001-10-01 17:32:43 +00:00
luigi
4021dd6cf1 Whoops, I whould have removed the old entry... 2001-10-01 17:22:25 +00:00
luigi
e37d2bb650 Move up the tinyware entry so things are looked up there first. 2001-10-01 17:21:33 +00:00
luigi
cd66578088 Add customised version of login for picobsd images on -CURRENT.
This version is basically the same one as login.c 1.67, and does
not require the use of PAM.
2001-10-01 16:58:28 +00:00
luigi
ee696e451e Add "ln" entries for ssh, ssh1 and scp 2001-09-30 17:38:42 +00:00
luigi
15634d6869 Modify wildcard for vmware interfaces. I am not sure how
MAC addresses are generated for those interfaces, but as long
as the entry is next to the bottom of the list the chance of
conflicts is low.
2001-09-30 17:37:03 +00:00
luigi
baaf2e75fd Move a bunch of initialization into a function which must be run
before parsing the command line.
Move code to build include and libraries in a separate function,
so we can use the verbose flag for that.
Chang ownership of some directories so more of the build process
(namely, builds of include and libs) can be run without root
permission (we still depend on root permission to mount a memory
filesystem).
2001-09-28 21:02:15 +00:00
luigi
0886aa51b6 Add entries for vmware interfaces. 2001-09-27 16:48:13 +00:00
luigi
244185f005 Enable the use of wildcards in the #ethertable section of
/etc/hosts to map MAC addresses to hostnames.

Main use is to get addresses for vmware interfaces.
2001-09-27 16:47:45 +00:00
joe
785a826aae On -current with devfs there is no MAKEDEV in /dev anymore, so use
it from ${SRC}/etc/MAKEDEV instead.

We may want to do this on -stable as well, but for now -stable still
uses /dev/MAKEDEV.
2001-09-20 13:34:16 +00:00
joe
a888294e85 Relocate the memory disk selection code to the same place the other
variables are set.
2001-09-20 13:09:01 +00:00
joe
f1ee6b1782 Remove options INTRO_USERCONFIG, MFS, USERCONFIG and VISUAL_USERCONFIG
from the PicoBSD kernel files as they're not relevant any more to
-current.
2001-09-20 11:30:39 +00:00
luigi
2602b5e748 Make the script aware of mdconfig, so it can hopefully run on -CURRENT
as well. This works by selecting "md" or "vn" depending on "uname -r"
output, so we can use the same script on -CURRENT and -STABLE.
Also included minor bugfixes and code cleanup.

Testers welcome, as this code has only been tested on -STABLE
(and for this reason I am doing an immediate MFC).
2001-09-20 02:52:02 +00:00
luigi
2c31cdbcd5 Remove "more" from the list, the port has not been committed yet.
Remove "mount_nfs" to reduce image size.
2001-09-05 16:06:40 +00:00
luigi
87f9cba872 Add lnc driver, so one can test picobsd images with vmware 2001-09-05 16:05:05 +00:00
luigi
6a07ae7b3f Move commands to create stripped kernel into Makefile.conf,
so as to make the "picobsd" script less version-specific.

Improve handling of cross-builds (which requires creation of
includes and libraries for the new source tree).

The "picobsd" script will not probably work on -current because it still
uses 'vn' instead of 'md', but i am commiting it anyways to keep it
in sync with the version in -stable.
2001-09-04 02:01:52 +00:00
luigi
0dc160055e use correct "compile" directory, which is ../../compile/<filename>
This does not apply to RELENG_4 for which the compile directory is
../compile/<filename>
2001-09-01 21:19:15 +00:00
luigi
fe1db6c569 Supply a default value for the kernel config binary. 2001-09-01 19:16:00 +00:00
luigi
056bad6e37 Bugfix: Use the correct variable for picobsd type (same bug is
present in STABLE).  Also add a bit more logging (when enabled).
2001-09-01 18:27:39 +00:00
luigi
3d846e3b57 add a missing -o.
There might be some other bug related to OBJDIR handling, once
fixed these changes can be MFC immediately.
2001-08-30 21:39:14 +00:00
kris
6fde30d182 s/adress/address/
Inspired by:    OpenBSD
MFC After:      1 week
2001-07-23 12:05:27 +00:00
dd
eaa6ee03b8 mdoc(7) police: remove extraneous .Pp before and/or after .Sh. 2001-07-09 09:54:33 +00:00
brian
8636b161b3 Fix the type of the NULL arg to execl()
Idea from: Theo de Raadt <deraadt@openbsd.org>
2001-07-09 09:24:06 +00:00
tmm
5dfce6cabc Account for the machdep.msgbuf -> kern.msgbuf renaming. 2001-07-03 19:51:53 +00:00
luigi
0308c79343 Remove tcpdump from the list of binaries. When cross-compiling
I get a link error on in6addr_<something> and i cannot find the
symbol in any of the libraries. It might be my mistake, but in any
case the crunched binary would overflow the floppy, so...

This applies to -current only.
2001-06-21 08:59:12 +00:00
luigi
044c990b8e Remove support of I386_CPU in -current.
Make sure hints are statically compiled into the kernel,
because the bootloader is not available in picobsd and so the
hints file cannot be found at run time.

(This is kind of inconvenient if you have to handle non PnP devices,
but fortunately these days non-PnP ISA cards are disappearing...)
2001-06-21 08:56:59 +00:00
luigi
baaa515eea Use /dev/fd0 instead of /dev/fd0c for mounting the floppy.
This must have to do with the use of devfs in -CURRENT, but i
have no idea when the devfs is actually mounted (is it a
side effect of mount -t nonfs or what ?) and when /dev/fd0c becomes
available.
For the time being, let's use this hack. Once I understand how devfs
works, this can be reverted back to the previous value, and also the
part of the build script which creates device entries can be nuked.
This is for -current only.
2001-06-21 08:53:21 +00:00
luigi
d0e44d0515 Move handling of crunch* files into Makefile.conf, which is a
better place to handle dependencies.

Make another step at helping cross-compiling: when the user specifies
an alternate source tree, the script takes care of creating include
files and libraries for the new tree.
Furthermore, build and use a version of the "config" program which
matches the new sources.

It takes a long time to create libraries, and it might even not do
the right thing at once, there might be some dependencies that i
have forgotten. At any rate, with this code i have been able to
build a working picobsd image using -CURRENT sources on -STABLE

MFC after: 3 days
2001-06-21 08:49:46 +00:00
luigi
f8470009b7 Move variable assignement after argument parsing, to improve handling
of alternate source trees.

Also improve verbose behaviour.
2001-06-20 14:16:48 +00:00
ache
3e928e7e2b ISO_ -> ISO 2001-06-11 02:00:33 +00:00
ru
cb4a4b2415 mount_msdos(8) -> mount_msdosfs(8). 2001-06-01 12:06:06 +00:00
luigi
a7dce39116 Sync picobsd script with the one in -stable, and also
patch boot2 so it goes to load /kernel right away

Perl code from Josef Karthauser
2001-05-11 07:39:40 +00:00