Building boot2 for the avila

Jon Loeliger jdl at jdl.com
Wed May 13 17:47:59 UTC 2009


[ Apologies for any duplicates you may see as I incorrectly
  posted to the freebsd-current list earlier.  -- jdl ]


Folks,

I'm following the instructions on the Wiki here:

    http://wiki.freebsd.org/FreeBSDAvila

After successfully building FreeBSD current using nanobsd
and placing it onto a Compact Flash, I am now trying to
build the boot2 image so that I can boot it.

The instructions say:

    Build a kernel configured to mount the file system from ad0. This is
    most easily done by copying the AVILA config file and stripping out
    the BOOTP* options.

Which I think I did, but I'm not sure.

I placed a new "BOOT2" config file in /usr/src/sys/arm/conf.

By the phrase "Build a kernel configured to ..." here, does it
really mean a whole new "make buildworld" like this:

    make KERNCONF=BOOT2 TARGET=arm TARGET_CPUTYPE=xscale \
                    TARGET_BIG_ENDIAN=true buildworld

or perhaps just:

    make KERNCONF=BOOT2 TARGET=arm TARGET_CPUTYPE=xscale \
                    TARGET_BIG_ENDIAN=true buildkernel

    make KERNCONF=BOOT2 TARGET=arm TARGET_CPUTYPE=xscale \
                    TARGET_BIG_ENDIAN=true DESTDIR=/some/where \
                    installkernel

within the existing (from nanobsd) environment?


Then the wiki page says:

    Build the second level bootstrap program by entering the arm/xscale
    build environment and building sys/boot2/ixdp425:

         make TARGET_ARCH=arm TARGET_CPUTYPE=xscale \
                              TARGET_BIG_ENDIAN=true buildenv
         cd sys/boot/arm/ixp425/boot2/
         make

The problem arises from that make:

    # make
    Warning: Object directory not changed from original /usr/src/sys/boot/arm/ixp425/boot2
    cc -O -pipe -mbig-endian -march=armv5te -D__XSCALE__ -DBOOT_STACK=0x200000-4  -I/usr/src/sys/boot/arm/ixp425/boot2/../../../common  -I/usr/src/sys/boot/arm/ixp425/boot2 -DFIXUP_BOOT_DRV -Os -ffreestanding  -I/usr/src/sys/boot/arm/ixp425/boot2/../../../..  -I/usr/src/sys/boot/arm/ixp425/boot2/../../../../arm  -DCPU_XSCALE_IXP425  -Wall -Waggregate-return   -Werror  -Wnested-externs  -Wpointer-arith -Wshadow -Wwrite-strings  -Wmissing-prototypes  -Wmissing-declarations -DBOOT_IXP425 -std=gnu99  -c arm_init.S
    cc1: error: unrecognized command line option "-mbig-endian"
    arm_init.S:0: error: bad value (armv5te) for -march= switch
    arm_init.S:0: error: bad value (armv5te) for -mtune= switch
    *** Error code 1

    Stop in /usr/src/sys/boot/arm/ixp425/boot2.

Any advice for the weary here?  If I just strip the three
offending flags from the Makefile, will it build properly?
I'm dubious, except that there are also these in the environment now:

    TARGET_CPUTYPE=xscale
    CPUTYPE=xscale
    TARGET_BIG_ENDIAN=true
    MACHINE_ARCH=arm
    MAKEOBJDIRPREFIX=/usr/obj/arm
    MAKEFLAGS= TARGET_ARCH=arm TARGET_CPUTYPE=xscale TARGET_BIG_ENDIAN=true -m /usr/src/share/mk

I feel like maybe I missed the middle part somewhere?

Thanks,
jdl
_______________________________________________
freebsd-current at freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org"


More information about the freebsd-arm mailing list