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