how to build GENERIC kernel for orange pi

Mark Millard markmi at dsl-only.net
Wed Sep 20 08:00:06 UTC 2017


On 2017-Sep-20, at 12:32 AM, 阿金 <unto.foru13 at gmail.com> wrote:

> Hi everybody,
> 
> According to https://www.bsdcan.org/2017/schedule/events/833.en.html,
> seem need a specific source to compile GENERIC arm kernel?(if that's
> true,where could I download those specific sources?)
> I fetch source from here
> fetch http://ftp.freebsd.org/pub/FreeBSD/releases/i386/11.1-RELEASE/
> 
> make TARGET=arm TARGET_ARCH=armv6  SRCCONF=/dev/null __MAKE_CONF=/dev/null
> buildworld    <---ok
> 
> make TARGET=arm TARGET_ARCH=armv6  SRCCONF=/dev/null __MAKE_CONF=/dev/null
> KERNCONF=ALLWINNER buildkernel  <--ok
> 
> but
> make TARGET=arm TARGET_ARCH=armv6  SRCCONF=/dev/null __MAKE_CONF=/dev/null
> KERNCONF=GENERIC buildkernel
> make[1]: "/opt/11stable/usr/src/Makefile.inc1" line 158: SYSTEM_COMPILER:
> Determined that CC=cc matches the source tree.  Not bootstrapping a
> cross-compiler.
> ERROR: Missing kernel configuration file(s) (GENERIC).
> *** Error code 1
> 
> Stop.
> make[1]: stopped in /opt/11stable/usr/src
> *** Error code 1
> 
> Stop.
> make: stopped in /opt/11stable/usr/src

https://svnweb.freebsd.org/base/release/11.1.0/sys/arm/conf/

does not have a GENERIC configuration file. Nor does:

https://svnweb.freebsd.org/base/stable/11/sys/arm/conf/

GENERIC for TARGET_ARCH=armv6 is newer and is only in/for:

https://svnweb.freebsd.org/base/head/

so far. I do not know if it will ever be merged back to
stable/11 or not.

> my compile environment
> uname -v
> FreeBSD 11.1-RELEASE #0 r321309: Fri Jul 21 04:10:47 UTC 2017
> root at releng2.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC
> 
> Unto
> 
> thanks help
> 
> 2017-09-14 19:43 GMT+08:00 Emmanuel Vadot <manu at bidouilliste.com>:
> 
>> On Thu, 14 Sep 2017 14:45:28 +0800
>> ?? <unto.foru13 at gmail.com> wrote:
>> 
>>> Date: Sun, 25 Jun 2017 13:21:06 +0200
>>> From: Emmanuel Vadot <manu at bidouilliste.com>
>>> To: Johnny Sorocil <jsorocil at gmail.com>
>>> Cc: freebsd-arm at freebsd.org
>>> 
>>>> Steps to reproduce:
>>>> rm -rf /usr/obj
>>>> make -j4 TARGET_ARCH=armv6 SRCCONF=/dev/null __MAKE_CONF=/dev/null
>>>> buildworld
>>>> make -j4 TARGET_ARCH=armv6 SRCCONF=/dev/null __MAKE_CONF=/dev/null
>>>> KERNCONF=ALLWINNER buildkernel
>>>> make -j4 TARGET_ARCH=armv6 SRCCONF=/dev/null __MAKE_CONF=/dev/null
>>>> KERNCONF=ALLWINNER DESTDIR=/mnt/sd2/ installkernel
>>>> make -j4 TARGET_ARCH=armv6 SRCCONF=/dev/null __MAKE_CONF=/dev/null
>>>> KERNCONF=ALLWINNER DESTDIR=/mnt/sd2/ installworld
>>> 
>>> You should use the GENERIC kernel, I'll remove ALLWINNER as it's not
>>> needed anymore.

I think that the above reply was implicitly referencing
head (12) only for GENERIC, not even stable/11 . So
source code based on:

https://svnweb.freebsd.org/base/head/

>>> ------------------------------------------------------------
>> ---------------------
>>> But I use GENERIC kernel config get errors below
>>> 
>>> #make TARGET_ARCH=armv6 SRCCONF=/dev/null __MAKE_CONF=/dev/null
>>> KERNCONF=GENERIC buildkernel
>>> 
>>> make[1]: "/usr/src/Makefile.inc1" line 158: SYSTEM_COMPILER: Determined
>>> that CC=cc matches the source tree.  Not bootstrapping a cross-compiler.
>>> ERROR: Missing kernel configuration file(s) (GENERIC).
>>> *** Error code 1
>>> 
>>> Stop.
>>> make[1]: stopped in /usr/src
>>> *** Error code 1
>>> 
>>> Stop.
>>> make: stopped in /usr/src
>>> 
>>> Thanks help.
>> 
>> Hello,
>> 
>> You need to set TARGET=arm too.
>> The real target for armv6 is arm.armv6.

===
Mark Millard
markmi at dsl-only.net



More information about the freebsd-arm mailing list