Questions about openfirmware build environment

llandre r&d2 at dave-tech.it
Tue Jan 22 03:42:26 EST 2008


Hi all,

I have some questions about openfirmware build environment. I could not 
find these information on OLCP wiki.
I successfully cloned the git repository and built ofw on x86-64 host 
running CentOS, however I'd like to understand exactly how the build 
process works. At the end of the message is the complete dump.

1) During building, some *.public, *.bin and *.img files are downloaded. 
What are these files?

2) I see a couple of warnings during building of memtest module:

ld: warning: i386:x86-64 architecture of input file `random.o' is 
incompatible with i386 output

I think this is due to the missing explicit target in 
clients/memtest/Makefile. Thus the compiler is invoked with default 
settings and generates an x86-64 object file.

3) In memtset Makefile I had to comment out this line:
CCFLAGS += -fno-stack-protector
because gcc 3.4.6 does not recognize it. Is this safe?


Thanks in advance,
llandre

DAVE Electronics System House - R&D Department
web:   http://www.dave.eu
email: r&d2 at dave-tech.it



----------------------------------------------------------------------
[llandre at linuxserver2 ofw]$ git clone 
git://git.infradead.org/openfirmware.git openfirmware.git
Initialized empty Git repository in 
/home/shared/devel/neptune/sw/ofw/openfirmware.git/.git/
remote: Generating pack...
...
Resolving deltas: 100% (4926/4926), done.
[llandre at linuxserver2 ofw]$ cd openfirmware.git/cpu/x86/pc/olpc/build/
[llandre at linuxserver2 build]$ make
make[1]: Entering directory 
`/home/shared/devel/neptune/sw/ofw/openfirmware.git/cpu/x86/Linux'
cc -c -O -g -m32 -DTARGET_X86 ../../../forth/wrapper/wrapper.c -o wrapper.o
cc -c -O -g -m32 -DTARGET_X86 ../../../forth/wrapper/logger.c -o logger.o
cc -c -O -g -m32 -DTARGET_X86 -I../../../forth/wrapper/zip 
../../../forth/wrapper/zip/zipmem.c -o zipmem.o
cc -c -O -g -m32 -DTARGET_X86 -I../../../forth/wrapper/zip 
../../../forth/wrapper/zip/deflate.c -o deflate.o
cc -c -O -g -m32 -DTARGET_X86 -I../../../forth/wrapper/zip 
../../../forth/wrapper/zip/trees.c -o trees.o
cc -c -O -g -m32 -DTARGET_X86 -I../../../forth/wrapper/zip 
../../../forth/wrapper/zip/bits.c -o bits.o
cc -c -O -g -m32 -DTARGET_X86 -I../../../forth/wrapper/zip 
../../../forth/wrapper/zip/util.c -o util.o
cc -c -m32 -O0 -fpic ../../../forth/wrapper/zip/inflate.c -o inflate.o
cc -m32 -o forth wrapper.o logger.o zipmem.o deflate.o trees.o bits.o 
util.o inflate.o
make[1]: Leaving directory 
`/home/shared/devel/neptune/sw/ofw/openfirmware.git/cpu/x86/Linux'
make[1]: Entering directory 
`/home/shared/devel/neptune/sw/ofw/openfirmware.git/cpu/x86/build'
make -C ../Linux ../build/inflate.bin
make[2]: Entering directory 
`/home/shared/devel/neptune/sw/ofw/openfirmware.git/cpu/x86/Linux'
objcopy -O binary inflate.o ../build/inflate.bin
make[2]: Leaving directory 
`/home/shared/devel/neptune/sw/ofw/openfirmware.git/cpu/x86/Linux'
make[1]: Leaving directory 
`/home/shared/devel/neptune/sw/ofw/openfirmware.git/cpu/x86/build'
make[1]: Entering directory 
`/home/shared/devel/neptune/sw/ofw/openfirmware.git/clients/memtest86'
gcc -E -m32 -traditional head.S -o head.s
as -32 -o head.o head.s
gcc -c -m32 -fPIC -Wall -O -fno-strict-aliasing reloc.c
gcc -c -Wall -march=i486 -m32 -Os -fomit-frame-pointer -fno-builtin 
-ffreestanding  -fPIC main.c
gcc -c -Wall -march=i486 -m32 -Os -fomit-frame-pointer -fno-builtin 
-ffreestanding  test.c
gcc -c -Wall -march=i486 -m32 -Os -fomit-frame-pointer -fno-builtin 
-ffreestanding  -fPIC init.c
gcc -c -Wall -march=i486 -m32 -Os -fomit-frame-pointer -fno-builtin 
-ffreestanding  -fPIC lib.c
gcc -c -Wall -march=i486 -m32 -Os -fomit-frame-pointer -fno-builtin 
-ffreestanding  -fPIC patn.c
gcc -c -Wall -march=i486 -m32 -Os -fomit-frame-pointer -fno-builtin 
-ffreestanding  -fPIC screen_buffer.c
gcc -c -Wall -march=i486 -m32 -Os -fomit-frame-pointer -fno-builtin 
-ffreestanding  -fPIC config.c
gcc -c -Wall -march=i486 -m32 -Os -fomit-frame-pointer -fno-builtin 
-ffreestanding  -fPIC memsize.c
gcc    -c -o random.o random.c
gcc -c -Wall -march=i486 -m32 -Os -fomit-frame-pointer -fno-builtin 
-ffreestanding  -fPIC lfbega.c
gcc -c -Wall -march=i486 -m32 -Os -fomit-frame-pointer -fno-builtin 
-ffreestanding  -fPIC olpc.c
ld --warn-constructors --warn-common -static -T memtest_shared.lds -o 
memtest_shared head.o reloc.o main.o test.o init.o lib.o patn.o 
screen_buffer.o config.o memsize.o random.o lfbega.o olpc.o && \
ld -shared -Bsymbolic -T memtest_shared.lds -o memtest_shared head.o 
reloc.o main.o test.o init.o lib.o patn.o screen_buffer.o config.o 
memsize.o random.o lfbega.o olpc.o
ld: warning: i386:x86-64 architecture of input file `random.o' is 
incompatible with i386 output
ld: warning: i386:x86-64 architecture of input file `random.o' is 
incompatible with i386 output
objcopy -O binary memtest_shared memtest_shared.bin
ld -s -T memtest.lds -b binary memtest_shared.bin -o memtest
make[1]: Leaving directory 
`/home/shared/devel/neptune/sw/ofw/openfirmware.git/clients/memtest86'
./build olpc.rom
--- Rebuilding ec.img
--- Cmd: ${HOSTDIR}/forth ${HOSTDIR}/../build/builder.dic ../ec.bth
--- Cmd: wget -q http://dev.laptop.org/pub/ec/ec_vd08b.img -O ec.img
--- Rebuilding romreset.di
--- Cmd: ${HOSTDIR}/forth ${HOSTDIR}/../build/builder.dic ../romreset.bth
--- Rebuilding romstart.di
--- Cmd: ${HOSTDIR}/forth ${HOSTDIR}/../build/builder.dic ../romstart.bth
--- Rebuilding resume.di
--- Cmd: ${HOSTDIR}/forth ${HOSTDIR}/../build/builder.dic ../resume.bth
--- Rebuilding rmstart.img
--- Cmd: ${HOSTDIR}/forth ${HOSTDIR}/../build/builder.dic ../rmstart.bth
ROM loader: version# 8 , format# 2
--- Rebuilding paging.di
--- Cmd: ${HOSTDIR}/forth ${HOSTDIR}/../build/builder.dic ../../paging.bth
--- Rebuilding kernel.dic
--- Cmd: ${HOSTDIR}/forth ${HOSTDIR}/../build/builder.dic ../kernel.bth
--- Saving kernel.dic ---
--- Rebuilding tools.dic
--- Cmd: ${HOSTDIR}/x86forth ${BP}/cpu/x86/build/kernel.dic ../tools.bth
--- Saving tools.dic ---
--- Rebuilding basefw.dic
--- Cmd: ${HOSTDIR}/x86forth ${BP}/cpu/x86/build/tools.dic ../basefw.bth

--- Saving basefw.dic ---
--- Rebuilding fw.dic
--- Cmd: ${HOSTDIR}/x86forth ${BP}/cpu/x86/build/basefw.dic ../fw.bth
Port80: 40 gpio
Port80: 41 Probing memory
Port80: 42 MMU
Port80: 43 Reclaim dictionary
Port80: 44 PCI host bridge
Port80: 45 ISA
Port80: 46 RTC
Port80: 47 CPU nodes
Port80: 48 CMOS
Port80: 49 Null-NVRAM
Port80: 4a board revision
Port80: 4b Date to EC
Port80: 4c Wireless reset
Port80: 4d PCI properties
Port80: 4e Manufacturing data
Port80: 4f USB setup
Port80: 50 Suspend/resume
Port80: 51 wp
Port80: 52 Century
Port80: 53 Init SHA-1 variables
--- Saving fw.dic ...
--- Saving fw.img ...
--- Rebuilding sdhci.fc
--- Cmd: ${HOSTDIR}/forth ${HOSTDIR}/../build/builder.dic ../sdhci.bth
--- Rebuilding sdmmc.fc
--- Cmd: ${HOSTDIR}/forth ${HOSTDIR}/../build/builder.dic ../sdmmc.bth
--- Rebuilding ac97.fc
--- Cmd: ${HOSTDIR}/forth ${HOSTDIR}/../build/builder.dic ../ac97.bth
--- Rebuilding ohci.fc
--- Cmd: ${HOSTDIR}/forth ${HOSTDIR}/../build/builder.dic ../ohci.bth
--- Rebuilding ehci.fc
--- Cmd: ${HOSTDIR}/forth ${HOSTDIR}/../build/builder.dic ../ehci.bth
--- Rebuilding hub.fc
--- Cmd: ${HOSTDIR}/forth ${HOSTDIR}/../build/builder.dic ../hub.bth
--- Rebuilding usbnet.fc
--- Cmd: ${HOSTDIR}/forth ${HOSTDIR}/../build/builder.dic ../usbnet.bth
--- Rebuilding usbserial.fc
--- Cmd: ${HOSTDIR}/forth ${HOSTDIR}/../build/builder.dic ../usbserial.bth
--- Rebuilding usbstorage.fc
--- Cmd: ${HOSTDIR}/forth ${HOSTDIR}/../build/builder.dic ../usbstorage.bth
--- Rebuilding usbkbd.fc
--- Cmd: ${HOSTDIR}/forth ${HOSTDIR}/../build/builder.dic ../usbkbd.bth
--- Rebuilding usb8388.fc
--- Cmd: ${HOSTDIR}/forth ${HOSTDIR}/../build/builder.dic ../usb8388.bth
--- Rebuilding cafenand.fc
--- Cmd: ${HOSTDIR}/forth ${HOSTDIR}/../build/builder.dic ../cafenand.bth
--- Rebuilding cafecamera.fc
--- Cmd: ${HOSTDIR}/forth ${HOSTDIR}/../build/builder.dic ../cafecamera.bth
--- Rebuilding verify.img
--- Cmd: ${HOSTDIR}/forth ${HOSTDIR}/../build/builder.dic ../verify.bth
--- Cmd: wget -q 
http://dev.laptop.org/pub/firmware/crypto/mpkeys/os.public        -O 
os.public
--- Cmd: wget -q 
http://dev.laptop.org/pub/firmware/crypto/mpkeys/fw.public        -O 
fw.public
--- Cmd: wget -q 
http://dev.laptop.org/pub/firmware/crypto/mpkeys/fs.public        -O 
fs.public
--- Cmd: wget -q 
http://dev.laptop.org/pub/firmware/crypto/mpkeys/lease.public     -O 
lease.public
--- Cmd: wget -q 
http://dev.laptop.org/pub/firmware/crypto/mpkeys/developer.public -O 
developer.public
--- Cmd: wget -q 
http://dev.laptop.org/pub/firmware/crypto/bios_verify-0.2.img -O verify.img
--- Rebuilding usb8388.bin
--- Cmd: ${HOSTDIR}/forth ${HOSTDIR}/../build/builder.dic ../usb8388.bth
--- Cmd: rm -f usb8388.bin
--- Cmd: wget -q 
http://dev.laptop.org/pub/firmware/libertas/usb8388-5.110.20.p49.bin
--- Cmd: wget -q 
http://dev.laptop.org/pub/firmware/libertas/usb8388-5.110.20.p49.bin.md5
--- Cmd: md5sum -b usb8388-5.110.20.p49.bin | cmp - 
usb8388-5.110.20.p49.bin.md5
--- Cmd: mv usb8388-5.110.20.p49.bin usb8388.bin
--- Cmd: rm usb8388-5.110.20.p49.bin.md5
--- Rebuilding pcibridg.fc
--- Cmd: ${HOSTDIR}/forth ${HOSTDIR}/../build/builder.dic ../pcibridg.bth
--- Rebuilding olpc.rom
--- Cmd: ${HOSTDIR}/forth ${HOSTDIR}/../build/builder.dic ../olpc.bth
svn: Path '../../../../..' ends in '..', which is unsupported for this 
operation
--- Saving as q2d09.rom



More information about the Devel mailing list