PDA

View Full Version : [Solved] tinyBSD won't compile


opnet
February 2nd, 2011, 01:13
I just got a wyse winterm 3150se for a robot project. It has 32MB of flash, 128MB of ram and an amd geode GX. I need some form of BSD on it. I was looking through and I found nanoBSD, tinyBSD, and picoBSD. NanoBSD is too big and picoBSD is too old so I went with tinyBSD.

I built the port and tried out a minimal build. I got errors like:

/usr/src/sys/i386/conf/TINYBSD: unknown option "CLK_USE_I8254_CALIBRATION"


and:
/usr/src/sys/i386/conf/TINYBSD: unknown option "ADAPTIVE_GIANT"


So I commented those out in conf/minimal/TINYBSD then I got this:

/usr/src/sys/kern/sysv_msg.c:163: error: invalid application of 'sizeof' to incomplete type 'struct freebsd7_msgctl_args'
/usr/src/sys/kern/sysv_msg.c:163: error: 'freebsd7_msgctl' undeclared here (not in a function)
/usr/src/sys/kern/sysv_msg.c:1446: error: initializer element is not constant
/usr/src/sys/kern/sysv_msg.c:1446: error: (near initialization for 'msgcalls[0]')
cc1: warnings being treated as errors
/usr/src/sys/kern/sysv_msg.c:1490: warning: function declaration isn't a prototype
/usr/src/sys/kern/sysv_msg.c: In function 'freebsd7_msgctl':
/usr/src/sys/kern/sysv_msg.c:1499: error: dereferencing pointer to incomplete type
/usr/src/sys/kern/sysv_msg.c:1499: error: request for member 'cmd' in something not a structure or union
/usr/src/sys/kern/sysv_msg.c:1499: warning: comparison between pointer and integer
/usr/src/sys/kern/sysv_msg.c:1500: error: dereferencing pointer to incomplete type
/usr/src/sys/kern/sysv_msg.c:1500: error: request for member 'buf' in something not a structure or union
/usr/src/sys/kern/sysv_msg.c:1515: error: dereferencing pointer to incomplete type
/usr/src/sys/kern/sysv_msg.c:1515: error: request for member 'msqid' in something not a structure or union
/usr/src/sys/kern/sysv_msg.c:1515: error: dereferencing pointer to incomplete type
/usr/src/sys/kern/sysv_msg.c:1515: error: request for member 'cmd' in something not a structure or union
/usr/src/sys/kern/sysv_msg.c:1515: warning: passing argument 2 of 'kern_msgctl' makes integer from pointer without a cast
/usr/src/sys/kern/sysv_msg.c:1515: warning: passing argument 3 of 'kern_msgctl' makes integer from pointer without a cast
/usr/src/sys/kern/sysv_msg.c:1518: error: dereferencing pointer to incomplete type
/usr/src/sys/kern/sysv_msg.c:1518: error: request for member 'cmd' in something not a structure or union
/usr/src/sys/kern/sysv_msg.c:1518: warning: comparison between pointer and integer
/usr/src/sys/kern/sysv_msg.c:1531: error: dereferencing pointer to incomplete type
/usr/src/sys/kern/sysv_msg.c:1531: error: request for member 'buf' in something not a structure or union
*** Error code 1

Stop in /usr/obj/usr/src/sys/TINYBSD.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.
[root@zerocool /usr/src/tools/tools/tinybsd]#

It's probably something really simple, the errors look like I'm missing some files but I'm not really sure how to go about finding out what I'm missing.

SirDice
February 4th, 2011, 08:46
Can you post that kernel config please?

opnet
February 4th, 2011, 10:17
# $FreeBSD: src/tools/tools/tinybsd/conf/minimal/TINYBSD,v 1.3 2007/08/22 18:45:00 remko Exp $
machine i386
cpu I486_CPU
cpu I586_CPU
cpu I686_CPU
ident TINYBSD

# To statically compile in device wiring instead of /boot/device.hints
#hints "GENERIC.hints" # Default places to look for devices.

options SCHED_4BSD # 4BSD scheduler
options INET # InterNETworking
options FFS # Berkeley Fast Filesystem
options SOFTUPDATES # Enable FFS soft updates support
options UFS_DIRHASH # Improve performance on big directories
options MD_ROOT # MD is a potential root device
options PROCFS # Process filesystem (requires PSEUDOFS)
options PSEUDOFS # Pseudo-filesystem framework
options GEOM_PART_GPT # GUID Partition Tables.
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 # POSIX P1003_1B real-time extensions
options KBD_INSTALL_CDEV # install a CDEV entry in /dev
options AHC_REG_PRETTY_PRINT # Print register bitfields in debug
# output. Adds ~128k to driver.
options AHD_REG_PRETTY_PRINT # Print register bitfields in debug
# output. Adds ~215k to driver.
#options ADAPTIVE_GIANT # Giant mutex is adaptive.

device apic # I/O APIC

device pci

# ATA and ATAPI devices
device ata
device atadisk # ATA disk drives
options ATA_STATIC_ID # Static device numbering

# atkbdc0 controls both the keyboard and the PS/2 mouse
device atkbdc # AT keyboard controller
device atkbd # AT keyboard
device psm # PS/2 mouse

device vga # VGA video card driver

#device splash # Splash screen and screen saver support

# syscons is the default console driver, resembling an SCO console
device sc

# Enable this for the pcvt (VT220 compatible) console driver
#device vt
#options XSERVER # support for X server on a vt console
#options FAT_CURSOR # start with block cursor

device agp # support several AGP chipsets

# Power management support (see NOTES for more options)
#device apm
# Add suspend/resume support for the i8254.
device pmtimer

# Pseudo devices.
device loop # Network loopback
device random # Entropy device
device ether # Ethernet support
device pty # Pseudo-ttys (telnet etc)
device md # Memory "disks"

# CLK_USE_I8254_CALIBRATION causes the calibrated frequency of the i8254
# clock to actually be used.
#options CLK_USE_I8254_CALIBRATION

# CPU_ELAN enables support for AMDs ElanSC520 CPU.
options CPU_ELAN
options CPU_SOEKRIS
options CPU_ELAN_XTAL=32768000
options CPU_ELAN_PPS

device bpf

SirDice
February 4th, 2011, 10:28
options COMPAT_FREEBSD4 # Compatible with FreeBSD4
This also requires COMPAT_FREEBSD5, 6 and 7.

Unless you plan on running FreeBSD 4.x binaries you can safely remove it.

opnet
February 4th, 2011, 15:52
Changed COMPAT_FREEBSD4 tp COMPAT_FREEBSD7 and it worked! Thanks.