Port-mac68k archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: NetBSD 7.0 on Mac LC III



John, thanks for your reply.

> It'd be interesting to log every thing that the startup scripts do, then
> consolidate it. It'd be even more interesting to see if there's some way
> to automate a run, consolidate, then run the consolidated script until a
> change is detected. I bet that'd be useful for other low resource /
> embedded systems.
> 

I'll check into it.  The /var/run/rc.log file seems to be pretty good
about logging what gets run.

> I don't know if anyone's working on [HFS support], but for now you can
> use pkgsrc/sysutils/hfsutils. It's a little clunky, but you can use it
> to move files back and forth.

Thanks, I'll check into hfsutils (I used to use hfsutils in GNU/Linux
before most distributions started supporting HFS).

> If you like, we can try out a size-optimized, m68030 optimized compile
> of NetBSD 7. Instead of compiling on an m68030 machine, though, I could
> compile it on a faster machine, if you'd like to try it.

ok, I'd be happy to test an optimized kernel.  The kernel that I
(mostly) optimized is 2190082 bytes, with a configuration file included
at the end of this message.  I probably need to learn how to
cross-compile on a faster machine...  Even with this kernel, boot time
is about 20 minutes, and it takes over a minute to login, with minimal
noticeable disk access.

thanks

-Stan

-----

### START CONFIG FILE "MACLCIII"
# NetBSD 7.0 kernel configuration file for a Mac LC III
#
# The machine description file can be customised for your specific
# machine to reduce the kernel size and improve its performance.
#
# For further information on compiling NetBSD kernels, see the config(8)
# man page.
#
# For further information on hardware support for this architecture, see
# the intro(4) man page.  For further information about kernel options
# for this architecture, see the options(4) man page.  For an explanation
# of each device driver in this file see the section 4 man page for the
# device.

machine		mac68k m68k
options 	HZ=60			# mac clock runs at 60hz
options		VMSWAP		# Swap device/file support
options		BUFQ_FCFS	# First-come First-serve strategy
options		BUFQ_DISKSORT	# Traditional min seek sort strategy
options		RFC2292		# Previous version of Adv. Sockets API for IPv6
options		PTRACE		# Include ptrace(2)
options		COREDUMP	# allow processes to coredump.
options		AIO		# POSIX asynchronous I/O
options		MQUEUE		# POSIX message queues

# Security model.

options		secmodel_bsd44	# Traditional 4.4BSD security model

# Scheduling algorithm

options		SCHED_4BSD

pseudo-device	cpuctl
pseudo-device	rnd

# Standard, required NetBSD/m68k options

options 	EXEC_ELF32		# exec ELF binaries
options 	EXEC_SCRIPT		# exec #! scripts
options 	CPU_IN_CKSUM		# use MD optimized cpu_in_cksum()

options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary

#ident 		"GENERIC-$Revision: 1.216.2.2 $"

makeoptions	COPTS="-Os -m68030"

maxusers	16		# estimated number of users

# CPU support.  At least one is REQUIRED.
#options 	M68040
options 	M68030
#options 	M68020		# Note:  must have 68851 PMMU

# CPU-related options.
options 	FPSP
options 	FPU_EMULATE

# Support for 128 meg SIMMs in Centris / Quadra 610, 650 and 800 machines.
# You need to set the total memory in the MacOS Booter.
#options 	DJMEMCMAX

# Standard system options

options 	INSECURE	# disable kernel security levels

options 	RTC_OFFSET=420	# hardware clock is this many mins. west of GMT
#options 	NTP		# NTP phase/frequency locked loop

#options 	KTRACE		# system call tracing via ktrace(1)

options 	SYSVMSG		# System V-like message queues
options 	SYSVSEM		# System V-like semaphores
options 	SYSVSHM		# System V-like memory sharing

#options 	USERCONF	# userconf(4) support
#options	PIPE_SOCKETPAIR	# smaller, but slower pipe(2)
#options 	SYSCTL_INCLUDE_DESCR	# Include sysctl descriptions in kernel

# Enable experimental buffer queue strategy for better responsiveness under
# high disk I/O load. Use it with caution - it's not proven to be stable
yet.
#options 	BUFQ_READPRIO
#options 	BUFQ_PRIOCSCAN

# Diagnostic/debugging support options
#options 	DIAGNOSTIC	# cheap kernel consistency checks
#options 	DEBUG		# expensive debugging checks/support
#options 	LOCKDEBUG	# kernel lock debugging
#options 	KMEMSTATS	# kernel memory statistics (vmstat -m)
#options 	DDB			# in-kernel debugger
#options 	DDB_HISTORY_SIZE=100	# enable history editing in DDB
#options 	KGDB			# remote debugger
#options 	KGDB_DEV=0xc01		# kgdb device number (dev_t)
#options 	KGDB_DEVRATE=38400	# baud rate
#makeoptions	DEBUG="-g"	# compile full symbol table

# Compatibility options
#options 	COMPAT_NOMID	# compatibility with 386BSD, BSDI, NetBSD 0.8,
#options 	COMPAT_09	# NetBSD 0.9,
#options 	COMPAT_10	# NetBSD 1.0,
#options 	COMPAT_11	# NetBSD 1.1,
#options 	COMPAT_12	# NetBSD 1.2,
#options 	COMPAT_13	# NetBSD 1.3,
#options 	COMPAT_14	# NetBSD 1.4,
#options 	COMPAT_15	# NetBSD 1.5,
#options 	COMPAT_16	# NetBSD 1.6,
#options 	COMPAT_20	# NetBSD 2.0,
#options 	COMPAT_30	# NetBSD 3.0,
#options 	COMPAT_40	# NetBSD 4.0,
#options 	COMPAT_50	# NetBSD 5.0 compatibility.
#options 	COMPAT_60	# NetBSD 6.0 compatibility.
#options 	COMPAT_43	# and 4.3BSD
#options 	TCP_COMPAT_42	# 4.2BSD TCP/IP bug compat. Not recommended.

# The following is needed to run pre-NetBSD 1.6 binaries under ELF.
#options 	COMPAT_AOUT_M68K # compatibility with NetBSD/m68k a.out
#options 	EXEC_AOUT	# support for exec'ing a.out

#options 	COMPAT_LINUX	# compatibility with Linux/m68k binaries
#options 	COMPAT_M68K4K	# compatibility with NetBSD/m68k4k binaries
#options 	COMPAT_SUNOS	# compatibility with SunOS 4.x binaries
#options 	COMPAT_SVR4	# compatibility with SVR4 binaries
options		COMPAT_BSDPTY	# /dev/[pt]ty?? ptys.

# File systems
file-system 	FFS		# UFS
file-system 	EXT2FS		# second extended file system (linux)
#file-system 	LFS		# log-structured file system
#file-system 	MFS		# memory file system
#file-system 	NFS		# Network File System client
file-system 	CD9660		# ISO 9660 + Rock Ridge file system
file-system 	MSDOSFS		# MS-DOS file system
#file-system 	FDESC		# /dev/fd
file-system 	KERNFS		# /kern
#file-system 	NULLFS		# loopback file system
#file-system 	OVERLAY		# overlay file system
#file-system	PUFFS		# Userspace file systems (e.g. ntfs-3g & sshfs)
file-system 	PROCFS		# /proc
#file-system 	UMAPFS		# NULLFS + uid and gid remapping
#file-system 	UNION		# union file system
#file-system 	CODA		# Venus/Coda distributed file system
#file-system	PTYFS		# /dev/pts/N support
#file-system	TMPFS		# Efficient memory file-system
#file-system	UDF		# experimental - OSTA UDF CD/DVD file-system
file-system	HFS		# experimental - Apple HFS+ (read-only)

# File system options
#options 	QUOTA		# legacy UFS quotas
#options 	QUOTA2		# new, in-filesystem UFS quotas
#options 	FFS_EI		# FFS Endian Independent support
options 	WAPBL		# File system journaling support
#options	UFS_DIRHASH	# UFS Large Directory Hashing - Experimental
#options 	NFSSERVER	# Network File System server
#options 	FFS_NO_SNAPSHOT	# No FFS snapshot support
#options 	UFS_EXTATTR	# Extended attribute support for UFS1
options 	EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and
				# immutable) behave as system flags.

# Networking options
options 	GATEWAY		# packet forwarding
options 	INET		# IP + ICMP + TCP + UDP
#options 	INET6		# IPV6
#options 	IPSEC		# IP security
#options 	IPSEC_DEBUG	# debug for IP security
#options 	MROUTING	# IP multicast routing
#options 	PIM		# Protocol Independent Multicast
#options 	NETATALK	# AppleTalk networking protocols
#options 	PPP_BSDCOMP	# BSD-Compress compression support for PPP
#options 	PPP_DEFLATE	# Deflate compression support for PPP
#options 	PPP_FILTER	# Active filter support for PPP (requires bpf)
#options 	IPFILTER_LOG	# ipmon(8) log support
#options 	IPFILTER_LOOKUP	# ippool(8) support
#options 	IPFILTER_COMPAT # Compat for IP-Filter
#options 	IPFILTER_DEFAULT_BLOCK	# block all packets by default
#options 	TCP_DEBUG	# Record last TCP_NDEBUG packets with SO_DEBUG

#options 	ALTQ		# Manipulate network interfaces' output queues
#options 	ALTQ_BLUE	# Stochastic Fair Blue
#options 	ALTQ_CBQ	# Class-Based Queueing
#options 	ALTQ_CDNR	# Diffserv Traffic Conditioner
#options 	ALTQ_FIFOQ	# First-In First-Out Queue
#options 	ALTQ_FLOWVALVE	# RED/flow-valve (red-penalty-box)
#options 	ALTQ_HFSC	# Hierarchical Fair Service Curve
#options 	ALTQ_LOCALQ	# Local queueing discipline
#options 	ALTQ_PRIQ	# Priority Queueing
#options 	ALTQ_RED	# Random Early Detection
#options 	ALTQ_RIO	# RED with IN/OUT
#options 	ALTQ_WFQ	# Weighted Fair Queueing

# These options enable verbose messages for several subsystems.
# Warning, these may compile large string tables into the kernel!
#options 	SCSIVERBOSE	# human readable SCSI error messages

# wscons options
#options 	WSEMUL_SUN		# sun terminal emulation
options 	WSEMUL_VT100		# VT100 / VT220 emulation
options 	WSDISPLAY_COMPAT_USL		# wsconscfg VT handling
options 	WSDISPLAY_COMPAT_ITEFONT # use ite font (6x10)

# rcons options; note that 1-bit and 8-bit displays are supported by
default.
#options 	RCONS_2BPP		# Support for 2-bit display
#options 	RCONS_4BPP		# Support for 4-bit display
#options 	RCONS_16BPP		# Support for 16-bit display

# Mac-specific options
#options 	ALTXBUTTONS	# Map Opt-{1,2,3} to mouse buttons
#options 	DISABLE_EXT_CACHE # If really paranoid, disable IIci ext. cache
options 	GRF_COMPAT	# Include grf compatibility code
#options 	MRG_ADB		# Use ROM-based ADB driver
options 	ZS_CONSOLE_ABORT

#options 	NFS_BOOT_DHCP

# Kernel root file system and dump configuration.
config		netbsd	root on ? type ?

#
# Device configuration
#

mainbus0 at root


# Basic Bus Support

# On-board I/O bus support
obio0 at mainbus?

# NuBus support
nubus0 at mainbus?


# Console Devices

# Apple Desktop Bus interface
adb0	at obio?
aed*	at adb?				# ADB event device
akbd*	at adb?				# ADB keyboard
ams*	at adb?				# ADB mouse

# Basic frame buffer support
intvid0	at obio?			# Internal video hardware
#macvid* at nubus?			# NuBus video card

# Device-independent frame buffer interface
macfb*	at intvid?
#macfb*	at macvid?

# Workstation Console devices
wsdisplay* at macfb? console ?
wskbd*	at akbd? console ?
wsmouse* at ams?


# Centronics printer port

# CSI Hurdler Centronics Parallel Interface
# CPI_CTC12_IS_TIMECOUNTER	0x01	Run counters 1+2 as timecounter	
#cpi*	at nubus? flags 0x1


# Serial Devices

# On-board serial interface
zsc0	at obio?
zstty*	at zsc? channel ?


# SCSI Controllers and Devices

# SCSI controllers
# XXX - use only one of ncrscsi or sbc
#ncrscsi0 at obio? addr 0		# SCSI NCR 5380
sbc0	at obio? addr 0 flags 0x1	# MI SCSI NCR 5380
#esp0	at obio? addr 0			# SCSI NCR 53C9x
#esp1	at obio? addr 1			# SCSI NCR 53C9x

# SCSI bus support
scsibus* at scsi?

# SCSI devices
sd*	at scsibus? target ? lun ?	# SCSI disk drives
#st*	at scsibus? target ? lun ?	# SCSI tape drives
cd*	at scsibus? target ? lun ?	# SCSI CD-ROM drives
#ch*	at scsibus? target ? lun ?	# SCSI autochangers
#se*	at scsibus? target ? lun ?	# SCSI ethernet
#ss*	at scsibus? target ? lun ?	# SCSI scanners
#uk*	at scsibus? target ? lun ?	# SCSI unknown

# IDE controller and devices
#wdc*	at obio? flags 0x1000
#atabus* at ata?
#wd*	at atabus? drive ?


# Miscellaneous mass storage devices

# IWM floppy disk controller
#iwm0	at obio?			# Sony driver (800K GCR)
#fd*	at iwm? drive ?


# Network Interfaces

# On-board Ethernet controllers
#sn*	at obio?			# SONIC-based (DP83932, DP83916)
#mc*	at obio?			# MACE-based

# NuBus Ethernet controllers
ae*	at nubus?			# DP8390-based
#sn*	at nubus?			# SONIC-based (DP83932, DP83916)
#sm*	at nubus?			# SMC 91cxx-based
#netdock*	at nubus?		# Asante NetDock, Newer Ether MicroDock

#nsphy*	at mii? phy ?
#ukphy*	at mii? phy ?

# Audio Devices

# On-board audio hardware
asc0	at obio?			# ASC/EASC audio

# Pseudo-Devices

# disk/mass storage pseudo-devices
#pseudo-device	ccd			# concatenated/striped disk devices
#pseudo-device	cgd			# cryptographic disk devices
#pseudo-device	raid			# RAIDframe disk driver
#options 	RAID_AUTOCONFIG		# auto-configuration of RAID components
# Options to enable various other RAIDframe RAID types.
# options	RF_INCLUDE_EVENODD=1
# options	RF_INCLUDE_RAID5_RS=1
# options	RF_INCLUDE_PARITYLOGGING=1
# options	RF_INCLUDE_CHAINDECLUSTER=1
# options	RF_INCLUDE_INTERDECLUSTER=1
# options 	RF_INCLUDE_PARITY_DECLUSTERING=1
# options	RF_INCLUDE_PARITY_DECLUSTERING_DS=1
#pseudo-device	fss			# file system snapshot device
#pseudo-device	md			# memory disk device (ramdisk)
#pseudo-device	vcoda			# Venus/Coda distributed file system
#pseudo-device	vnd			# disk-like interface to files
#options 	VND_COMPRESSION		# compressed vnd(4)

# network pseudo-devices
#pseudo-device	bpfilter		# Berkeley packet filter
#pseudo-device	carp			# Common Address Redundancy Protocol
#pseudo-device	ipfilter		# IP filter (firewall) and NAT
pseudo-device	loop			# network loopback
#pseudo-device	ppp			# Point-to-Point Protocol
#pseudo-device	pppoe			# PPP over Ethernet (RFC 2516)
#pseudo-device	sl			# Serial Line IP
#pseudo-device	strip			# Starmode Radio IP (Metricom)
#pseudo-device	tun			# network tunneling over tty
#pseudo-device	tap			# virtual Ethernet
#pseudo-device	gre			# generic L3 over IP tunnel
#pseudo-device	gif			# IPv[46] over IPv[46] tunnel (RFC1933)
#pseudo-device	faith			# IPv[46] tcp relay translation i/f
#pseudo-device	stf			# 6to4 IPv6 over IPv4 encapsulation
#pseudo-device	vlan			# IEEE 802.1q encapsulation
#pseudo-device	bridge			# simple inter-network bridging
#options	BRIDGE_IPF		# bridge uses IP/IPv6 pfil hooks too
#pseudo-device	agr			# IEEE 802.3ad link aggregation

#
# accept filters
#pseudo-device   accf_data		# "dataready" accept filter
#pseudo-device   accf_http		# "httpready" accept filter

# miscellaneous pseudo-devices
pseudo-device	grf		2	# grf emulation for wscons
pseudo-device	ite		1	# ite emulation for wscons
pseudo-device	pty			# pseudo-terminals
pseudo-device	clockctl		# user control of clock subsystem
pseudo-device	putter			# for puffs and pud
pseudo-device	swwdog			# software watchdog driver

# random number generator pseudo-device
#options 	RND_COM			# use "com" randomness as well (BROKEN)
pseudo-device	ksyms			# /dev/ksyms
#pseudo-device	pf			# PF packet filter
#pseudo-device	pflog			# PF log if

# Veriexec
#
# a pseudo device needed for veriexec
#pseudo-device	veriexec
#
# Uncomment the fingerprint methods below that are desired. Note that
# removing fingerprint methods will have almost no impact on the kernel
# code size.
#
#options VERIFIED_EXEC_FP_RMD160
#options VERIFIED_EXEC_FP_SHA256
#options VERIFIED_EXEC_FP_SHA384
#options VERIFIED_EXEC_FP_SHA512
#options VERIFIED_EXEC_FP_SHA1
#options VERIFIED_EXEC_FP_MD5
### END CONFIG FILE "MACLCIII"


Home | Main Index | Thread Index | Old Index