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