nanobsd.sh
Marc Veldman
fbsd at lurkie.xs4all.nl
Thu Oct 20 05:54:45 PDT 2005
Hello,
On Thu, Oct 20, 2005 at 12:54:19PM +0200, Jiri Mikulas wrote:
> is there any actual documentation saying how to work with the new nanobsd.sh please ?
> http://www.freebsd.org/projects/nanobsd/index.html
> is for old one.
>
> How to create own config ?
> In old config file is defined variable NANOBSD_PRUNE, but not in the new version of nanobsd.sh.
> With the help of which/what 'variable' , can I define the files/dirs not to be installed?
> Where can I define my NO_xxx options, how can I add my own packages?
> etc...
It is actually fairly easy.
Below the steps I used to build a custom image for a
soekris net4801.
1. Create a custom kernel config in the usual place.
for example: /sys/i386/conf/NET4801
2. Create a build config file in /usr/src/tools/tools/nanobsd,
for example net4801.conf
3. Run the build script: ./nanobsd.sh -c net4801.conf.
4. In a directory below /usr/obj, in my case /usr/obj/nanobsd.net4801,
the script will put its build output and a disk image (actually,
two disk images) _.disk.full
5. You can put the disk image on a CF using
dd if=_.disk.full of=/dev/da9 obs=64k
(da9 is the device for your CF reader, it will depend on your
own machine what you have to put there. Be VERY careful,
you can ruin your data if you put the wrong thing here !)
Attached the config files I used.
Notes: NO_TOOLCHAIN is broken for -current, and with NO_SHARE
vi will not work properly.
Hope this helps,
Marc.
-------------- next part --------------
NANO_NAME=net4801
#NANO_MEDIASIZE=524288
NANO_MEDIASIZE=488282
NANO_IMAGES=1
NANO_KERNEL=NET4801
NANO_PMAKE="make -j 2"
NANO_CUSTOMIZE="cust_comconsole"
CONF_WORLD='CFLAGS= -O -pipe
COPTFLAGS= -O -pipe
CPUTYPE?=pentium
NO_ACPI=
NO_ATM=
NO_AUTHPF=
NO_BLUETOOTH=
NO_CVS=
NO_CXX=
NO_DICT=
NO_FORTRAN=
NO_KERBEROS=
NO_GAMES=
NO_GDB=
NO_GPIB=
NO_I4B=
NO_INFO=
NO_IPFILTER=
NO_LIBC_R=
NO_LIBPTHREAD=
NO_LIBTHR=
NO_LPR=
NO_MAILWRAPPER=
NO_MAN=
NO_NETCAT=
NO_NIS=
NO_PF=
NO_PROFILE=
NO_RCMDS=
NO_SHARE=
NO_SHAREDOCS=
NO_TOOLCHAIN=
MODULES_OVERRIDE= sis mii ipfw
'
-------------- next part --------------
machine i386
cpu I586_CPU
ident NET4801
maxusers 0
options SCHED_4BSD #4BSD scheduler
options INET #InterNETworking
#options INET6 #IPv6 communications protocols
options FFS #Berkeley Fast Filesystem
options SOFTUPDATES #Enable FFS soft updates support
options UFS_DIRHASH #Improve performance on big directories
options UFS_ACL #Support for access control lists
options MD_ROOT #MD is a potential root device
options PROCFS #Process filesystem (Requires PSEUDOFS)
options PSEUDOFS #Pseudo filesystem framework
options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!]
options COMPAT_FREEBSD4 #Compatible with FreeBSD4
options SYSVSHM #SYSV-style shared memory
options SYSVMSG #SYSV-style message queues
options SYSVSEM #SYSV-style semaphores
options _KPOSIX_PRIORITY_SCHEDULING
options CPU_GEODE # Mandatory
options CPU_SOEKRIS # Recommended
device isa
device pci
# Floating point support - do not disable.
device npx
# ATA (IDE) disk - required for CompactFlash too
device ata
device atadisk # ATA disk drives
# Serial (COM) ports
device sio
# MII bus support is required for some PCI 10/100 ethernet NICs
device miibus # MII bus support
device sis # NS DP83815 Fast Ethernet device driver=20
# Soekris vpn1211
#device hifn # Hifn 7951, 7781, etc.
device random # Entropy device
device loop # Loopback
device ether # Ethernet
device pty # Pseudo-TTY
device md # Memory "disk"
device tun # Packet tunnel (required by PPP)
device bpf # Berkeley packet filter
# USB support
device ohci # OHCI PCI->USB interface
device usb # USB Bus (required)
device ugen # Generic
device uhid # "Human Interface Devices"
device ukbd # Keyboard
device ulpt # Printer
device umass # Disks/Mass storage - Requires scbus and=da
# SCSI peripherals (required by USB)
device scbus # SCSI bus (required)
device da # Direct Access (disks)
#device sa # Sequential Access (tape etc)
More information about the freebsd-current
mailing list