NanoBSD Image
David N
davidn04 at gmail.com
Wed Apr 25 18:56:20 UTC 2007
On 25/04/07, Mathieu Arnold <mat at mat.cc> wrote:
> +-le 25.04.2007 19:18:19 +1000, David N a dit :
> | On 25/04/07, David N <davidn04 at gmail.com> wrote:
> |> On 24/04/07, Mathieu Arnold <mat at mat.cc> wrote:
> |> > +-Le 24/04/07 14:17 +1000, David N a dit :
> |> > | Hi,
> |> > |
> |> > | I'm just wondering if its possible to mount the _.disk.full or
> |> > | _.disk.image?
> |> >
> |> > Yes, just use mdconfig, something like mdconfig -a -t vnode -f
> |> > _.disk.full, you'll have a /dev/mdX with it in.
> |> >
> |> > | Also, is it possible to dd the images to a slice or partition on a HDD
> |> > | as i dont have any Memory Cards to test it on at the moment.
> |> > |
> |> > | such as
> |> > | dd if=_.disk.image of=/dev/ads2 bs=64k
> |> >
> |> > You can, but you'll loose a lot of space :)
> |> >
> |> > --
> |> > Mathieu Arnold
> |> >
> |>
> |> Thanks Mathieu, the mdconfig worked =)
> |>
> |> For the hdd
> |> dd if=_.disk.image of=/dev/ad0s2 bs=64k worked but had to modify the
> |> /etc/fstab of the image and create a /dev/ad0s3 and newfs it for the
> |> /cfg. But works great =)
> |>
> |> David
> |>
> | Hello again,
> |
> | I've got the thing running, but the images are 256MB but I've only
> | managed to get the "used" space down to around 80MB.
> |
> | I was hoping is there anything in the configuration file to get it
> | down to bare bones and slowly add things in. Is it possible to get it
> | down to pretty much a kernel + shell?
> |
> | My config file is
>
> Mine is (it was for a 6.1-PRERELEASE though)
>
> NANO_NAME=soekris64
> NANO_SRC=/usr/src
> NANO_TOOLS=tools/tools/nanobsd
> CONF_BUILD='
> '
> CONF_INSTALL='
> NO_INSTALLLIB=
> NO_TOOLCHAIN=
> '
>
> CONF_WORLD='
> CPUTYPE=i486
> CFLAGS=-O -pipe
> NO_ACPI=
> NO_ATM=
> NO_BIND_DNSSEC=
> NO_BLUETOOTH=
> NO_CALENDAR=
> NO_CVS=
> NO_CXX=
> NO_DICT=
> NO_EXAMPLES=
> NO_FORTRAN=
> NO_GAMES=
> NO_GCOV=
> NO_GDB=
> NO_GPIB=
> NO_GROFF=YES
> NO_HESIOD_LIBC=
> NO_HTML=
> NO_I4B=
> NO_INFO=
> NO_IPFILTER=
> NO_IPX=YES
> NO_KERBEROS=
> NO_LIBC_R=
> NO_LIBTHR=
> NO_LOCALES=
> NO_LPR=
> NO_MAKE=
> NO_MAN=
> NO_MAN=YES
> NO_MISC=
> NO_MODULES=
> NO_NIS=
> NO_NLS=
> NO_NLS=YES
> NO_OBJC=
> NO_P1003_1B=
> NO_PAM=
> NO_PCVT=YES
> NO_PROFILE=
> NO_RCMDS=
> NO_RESCUE=
> NO_SENDMAIL=
> NO_SHARE=
> NO_SHAREDOCS=
> NO_SYSCONS=
> NO_TCSH=
> PPP_NO_ATM=
> PPP_NO_I4B=
> PPP_NO_PAM=
> PPP_NO_RADIUS=
> MAKE_IDEA=
> LOADER_TFTP_SUPPORT=YES
> '
>
> NANO_KERNEL=SOEKRIS
> NANO_CUSTOMIZE=""
> NANO_NEWFS="-b 4096 -f 512 -i 8192 -O2 -U -m 0"
> NANO_DRIVE=ad0
> FlashDevice Soekris 64
> NANO_IMAGES=1
> NANO_CODESIZE=0
> NANO_CONFSIZE=$((1024/512*1024*2)) # 2 M
> NANO_DATASIZE=0
> customize_cmd cust_comconsole
> customize_cmd cust_allow_ssh_root
> customize_cmd cust_install_files
>
> mat_pkg () (
> mkdir -p ${NANO_WORLDDIR}/Pkg
> cp -r /usr/src/tools/tools/nanobsd/Pkg/* ${NANO_WORLDDIR}/Pkg
> chroot ${NANO_WORLDDIR} sh -c 'pkg_add -v -p /usr/local Pkg/All/*'
> rm -rf ${NANO_WORLDDIR}/Pkg
> )
>
> customize_cmd mat_pkg
>
> mat_ssh () (
> mkdir -p ${NANO_WORLDDIR}/root/.ssh
> install -o root -g wheel -m 0600 /home/mat/.ssh/authorized_keys
> ${NANO_WORLDDIR}/root/.ssh
> )
>
> customize_cmd mat_ssh
>
> mat_root () (
> chroot ${NANO_WORLDDIR} chpass -p '$1$foobar' -s /usr/local/bin/bash
> root
> )
>
> customize_cmd mat_root
>
> mat_comconsole () (
> # Enable getty on console
> sed -i "" -e /ttyd0/s/off/on/ ${NANO_WORLDDIR}/etc/ttys
>
> # Disable getty on syscons devices
> sed -i "" -e '/^ttyv[0-8]/s/ on/ off/'
> ${NANO_WORLDDIR}/etc/ttys
>
> # Tell loader to use serial console early.
> echo " -h" > ${NANO_WORLDDIR}/boot.config
> )
>
> customize_cmd mat_comconsole
>
> The resulting fits on a 64Mo flash :
> /dev/ad0s1a 57M 52M 4.7M 92% /
> /dev/ad0s3 1.8M 116K 1.7M 6% /cfg
>
> I was planning to upgrade my soekris to 6.2, I'll try to see if it still fits
> :)
>
> My SOEKRIS kernel contains the following :
>
> machine i386
> cpu I486_CPU
> ident SOEKRIS
> options SCHED_4BSD
> options PREEMPTION
> options INET
> options INET6
> options FFS
> options SOFTUPDATES
> options MD_ROOT
> options NFSCLIENT
> options NFS_ROOT
> options PROCFS
> options PSEUDOFS
> options GEOM_GPT
> options COMPAT_43
> options COMPAT_FREEBSD4
> options COMPAT_FREEBSD5
> options SCSI_DELAY=5000
> options KTRACE
> options SYSVSHM
> options SYSVMSG
> options SYSVSEM
> options _KPOSIX_PRIORITY_SCHEDULING
> options KBD_INSTALL_CDEV
> options AHC_REG_PRETTY_PRINT
> options AHD_REG_PRETTY_PRINT
> options ADAPTIVE_GIANT
> device apic
> device eisa
> device pci
> device ata
> device atadisk
> options ATA_STATIC_ID
> device pmtimer
> device sio
> device miibus
> device sis
> device loop
> device random
> device ether
> device sl
> device ppp
> device tun
> device pty
> device md
> device gif
> device bpf
> options CPU_ELAN
> options CPU_ELAN_PPS
> options CPU_SOEKRIS
> options CONSPEED=19200
> options INCLUDE_CONFIG_FILE
> device pf
> device carp
> device pflog
> device pfsync
> device vlan
> device tap
> device gre
> device if_bridge
> options PPP_BSDCOMP
> options PPP_DEFLATE
> options PPP_FILTER
> options FAST_IPSEC
> options TCP_SIGNATURE
> device crypto
> device cryptodev
> options ALTQ
> options ALTQ_HFSC
> options ALTQ_CBQ
> options ZERO_COPY_SOCKETS
> options HZ=1000
> options PPS_SYNC
> options NO_SWAPPING
> options DEVICE_POLLING
> options SMBFS
> options NETSMB
> options NETSMBCRYPTO
> options ALTQ
> options ALTQ_CBQ
> options ALTQ_RED
> options ALTQ_RIO
> options ALTQ_HFSC
> options LIBICONV
> options LIBMCHAIN
>
>
> --
> Mathieu Arnold
>
Thanks again, that did the job, got it down to 56MB on 6.2-RELEASE
just added some of your options in. Do you know where to get more
information on on the make flags available? man make and man make.conf
doesn't have much detail. I've been to
http://phk.freebsd.dk/misc/build_options/ which helped with my compile
errors =) But i'm just out of further information on how to get it
slimmer.
Cheers
David
More information about the freebsd-small
mailing list