Port-amd64 archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Making amd64 GENERIC a tad more "modular"
On 13.02.2011 13:10, Jean-Yves Migeon wrote:
> On 13.02.2011 06:24, Matt Thomas wrote:
>> EXEC_ELF64 is the native binary format so excluding that from
>> the kernel would be foolish. I'd say EXEC_ELF32 should be present
>> as well (you might be booting a 64-bit kernel on a 32-bit userland).
>>
>> TMPFS needs to be there by default.
>
> It's not really "excluded", rather provided as an external module.
>
> Okay; should that be reflected for i386 as a consequence? Its GENERIC
> does it that way:
>
> # For GENERIC, we build the exec formats as module(7)s by default.
> no options EXEC_AOUT # exec a.out binaries
> no options EXEC_ELF32 # exec ELF binaries
> no options EXEC_SCRIPT # exec #! scripts
> no options COREDUMP
>
> Note that this suggestion was not clearly approved [1].
>
> [1] http://mail-index.netbsd.org/port-i386/2011/02/12/msg002329.html
>
> My goal is to have i386 and amd64 installation/ramdisk/kernels as close
> as possible (be cohesive between x86 architectures). So we can safely
> assume that turning on/off specific options in one does not have to be
> handled differently in the other, and that they behave somewhat similarly.
New day, new deal, new file: EXEC_ELF32, 64 and SCRIPT are in, as well
as TMPFS. Rest is made into module(7). This saves up to 750k for GENERIC.
Regarding modules, it only differs from i386 by EXEC_ELF32, SCRIPT and
TMPFS.
If nobody disagrees, I'll commit it soon, after some testing.
Cheers,
--
Jean-Yves Migeon
jeanyves.migeon%free.fr@localhost
Index: sys/arch/amd64/conf/GENERIC
===================================================================
RCS file: /cvsroot/src/sys/arch/amd64/conf/GENERIC,v
retrieving revision 1.303
diff -u -p -r1.303 GENERIC
--- sys/arch/amd64/conf/GENERIC 13 Feb 2011 04:21:23 -0000 1.303
+++ sys/arch/amd64/conf/GENERIC 14 Feb 2011 04:23:59 -0000
@@ -26,6 +26,13 @@ options INCLUDE_CONFIG_FILE # embed con
maxusers 64 # estimated number of users
+# Common binary formats are statically compiled in by default.
+options EXEC_ELF32 # exec ELF 32-bits binaries
+#no options EXEC_ELF64 # exec ELF 64-bits binaries
+#no options EXEC_SCRIPT # exec #! scripts
+
+no options COREDUMP # coredump support, built as module(7)
+
# delay between "rebooting ..." message and hardware reset, in milliseconds
#options CPURESET_DELAY=2000
@@ -65,6 +72,8 @@ options SYSVMSG # System V-like messag
options SYSVSEM # System V-like semaphores
options SYSVSHM # System V-like memory sharing
#options P1003_1B_SEMAPHORE # p1003.1b semaphore support
+no options AIO # POSIX asynchronous I/O, built as a module(7)
+no options MQUEUE # POSIX messsage queues, built as a module(7)
options MODULAR # new style module(7) framework
options USERCONF # userconf(4) support
@@ -107,7 +116,7 @@ options DDB_HISTORY_SIZE=512 # enable h
#options SYSCALL_TIMES # per syscall times
#options SYSCALL_TIMES_HASCOUNTER # use 'broken' rdtsc (soekris)
-# Compatibility options
+# Compatibility options, built as module(7)s by default
options COMPAT_15 # compatibility with NetBSD 1.5,
options COMPAT_16 # NetBSD 1.6,
options COMPAT_20 # NetBSD 2.0,
@@ -119,9 +128,8 @@ options COMPAT_43 # and 4.3BSD
options COMPAT_OSSAUDIO
options COMPAT_NETBSD32
-options COMPAT_LINUX
-options COMPAT_LINUX32 # req. COMPAT_LINUX and COMPAT_NETBSD32
-options EXEC_ELF32
+#options COMPAT_LINUX
+#options COMPAT_LINUX32 # req. COMPAT_LINUX and COMPAT_NETBSD32
options COMPAT_BSDPTY # /dev/[pt]ty?? ptys.
# Wedge support
@@ -131,29 +139,30 @@ options DKWEDGE_METHOD_GPT # Supports G
#options DKWEDGE_METHOD_BSDLABEL # Support disklabel entries as wedges
#options DKWEDGE_METHOD_MBR # Support MBR partitions as wedges
-# 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 NTFS # Windows/NT file system (experimental)
-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 PROCFS # /proc
-file-system PUFFS # Userspace file systems (e.g. ntfs-3g & sshfs)
-file-system SMBFS # experimental - SMB/CIFS file-system
-file-system UMAPFS # NULLFS + uid and gid remapping
-file-system UNION # union file system
-file-system CODA # Coda File System; also needs vcoda (below)
-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 TMPFS # Efficient memory file-system
+# File systems, built as module(7)s by default
+#file-system EXT2FS # second extended file system (linux)
+#file-system LFS # log-structured file system
+#file-system MFS # memory file system
+#file-system NTFS # Windows/NT file system (experimental)
+#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 PROCFS # /proc
+#file-system PUFFS # Userspace file systems (e.g. ntfs-3g & sshfs)
+#file-system SMBFS # experimental - CIFS; also needs nsmb (below)
+#file-system UMAPFS # NULLFS + uid and gid remapping
+#file-system UNION # union file system
+#file-system CODA # Coda File System; also needs vcoda (below)
+#file-system PTYFS # /dev/ptm support
+#file-system UDF # experimental - OSTA UDF CD/DVD file-system
+#file-system HFS # experimental - Apple HFS+ (read-only)
+#file-system NILFS # experimental - NTT's NiLFS(2)
# File system options
options QUOTA # UFS quotas
@@ -1134,9 +1143,9 @@ pseudo-device bridge # simple
inter-ne
pseudo-device agr # IEEE 802.3ad link aggregation
#
-# accept filters
-pseudo-device accf_data # "dataready" accept filter
-pseudo-device accf_http # "httpready" accept filter
+# accept filters, built as module(7)s by default
+#pseudo-device accf_data # "dataready" accept filter
+#pseudo-device accf_http # "httpready" accept filter
# miscellaneous pseudo-devices
pseudo-device pty # pseudo-terminals
@@ -1153,7 +1162,7 @@ pseudo-device bcsp # BlueCore
Serial P
pseudo-device btuart # Bluetooth HCI UART (H4)
# a pseudo device needed for Coda # also needs CODA (above)
-pseudo-device vcoda 4 # coda minicache <-> venus comm.
+#pseudo-device vcoda 4 # coda minicache <-> venus comm.
# a pseudo device needed for SMBFS
pseudo-device nsmb # experimental - SMB requester
Home |
Main Index |
Thread Index |
Old Index