added rpi kernel

This commit is contained in:
Ella-0 2021-06-19 14:02:01 +00:00
parent 1c81d44858
commit ddd1ab85ea
3 changed files with 140 additions and 0 deletions

View file

@ -0,0 +1,45 @@
pkgver=rpi-5.10.y
pkgname=raspberrypi-linux
ext="dev"
fetch() {
curl "https://raw.githubusercontent.com/kisslinux/website/master/site/dist/kernel-no-perl.patch" -o kernel-no-perl.patch
curl -L "https://github.com/raspberrypi/linux/archive/refs/heads/rpi-5.10.y.tar.gz" -o $pkgname-$pkgver.tar.gz
tar -xf $pkgname-$pkgver.tar.gz
mv linux-$pkgver $pkgname-$pkgver
cd $pkgname-$pkgver
patch -p1 < ../kernel-no-perl.patch
patch -p1 < ../../kernel-byacc.patch
patch -p1 < ../../reflex.patch
}
build() {
cd $pkgname-$pkgver
gmake ARCH=arm64 CC=cc HOSTCC=cc LEX=reflex YACC=yacc LLVM=1 LLVM_IAS=1 bcm2711_defconfig
gmake ARCH=arm64 CC=cc HOSTCC=cc LEX=reflex YACC=yacc LLVM=1 LLVM_IAS=1
}
package() {
cd $pkgname-$pkgver
install -d $pkgdir/boot
gmake ARCH=arm64 CC=cc HOSTCC=cc LEX=reflex YACC=yacc LLVM=1 LLVM_IAS=1 INSTALL_PATH=$pkgdir/boot install
gmake ARCH=arm64 CC=cc HOSTCC=cc LEX=reflex YACC=yacc LLVM=1 LLVM_IAS=1 INSTALL_MOD_PATH=$pkgdir/ modules_install
}
package_dev() {
cd $pkgname-$pkgver
if stat /usr/bin/rsync 2>/dev/null /dev/null; then
gmake ARCH=arm64 CC=cc HOSTCC=cc LEX=reflex YACC=yacc LLVM=1 LLVM_IAS=1 INSTALL_HDR_PATH=$pkgdir/usr headers_install
else
gmake ARCH=arm64 CC=cc HOSTCC=cc LEX=reflex YACC=yacc LLVM=1 LLVM_IAS=1 headers
find -name '.*' -exec rm {} \;
rm usr/include/Makefile
cp -r usr/include $pkgdir/usr
fi
}
license() {
cd $pkgname-$pkgver
cat COPYING
}

View file

@ -0,0 +1,35 @@
diff --git a/scripts/Makefile.host b/scripts/Makefile.host
index 4c51c95d40f4..64e98e1d4825 100644
--- a/scripts/Makefile.host
+++ b/scripts/Makefile.host
@@ -11,7 +11,7 @@ $(obj)/%.lex.c: $(src)/%.l FORCE
# YACC
# ---------------------------------------------------------------------------
quiet_cmd_bison = YACC $(basename $@).[ch]
- cmd_bison = $(YACC) -o $(basename $@).c --defines=$(basename $@).h -t -l $<
+ cmd_bison = $(YACC) -b $(basename $(basename $@)) -d -t -l $<
$(obj)/%.tab.c $(obj)/%.tab.h: $(src)/%.y FORCE
$(call if_changed,bison)
--- a/scripts/genksyms/Makefile
+++ b/scripts/genksyms/Makefile
@@ -14,7 +14,7 @@
ifeq ($(findstring 1,$(KBUILD_EXTRA_WARN)),)
quiet_cmd_bison_no_warn = $(quiet_cmd_bison)
- cmd_bison_no_warn = $(YACC) --version >/dev/null; \
+ cmd_bison_no_warn = $(YACC) -V >/dev/null; \
$(cmd_bison) 2>/dev/null
$(obj)/pars%.tab.c $(obj)/pars%.tab.h: $(src)/pars%.y FORCE
--- a/scripts/genksyms/lex.l
+++ b/scripts/genksyms/lex.l
@@ -19,6 +19,8 @@
#include "genksyms.h"
#include "parse.tab.h"
+extern YYSTYPE yylval;
+
/* We've got a two-level lexer here. We let flex do basic tokenization
and then we categorize those basic tokens in the second stage. */
#define YY_DECL static int yylex1(void)

View file

@ -0,0 +1,60 @@
--- a/scripts/kconfig/lexer.l
+++ b/scripts/kconfig/lexer.l
@@ -3,9 +3,10 @@
* Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
*/
%option nostdinit noyywrap never-interactive full ecs
-%option 8bit nodefault yylineno
+%option 8bit nodefault
%x ASSIGN_VAL HELP STRING
%{
+int yylineno = 0;
#include <assert.h>
#include <limits.h>
--- a/scripts/dtc/dtc-lexer.l
+++ b/scripts/dtc/dtc-lexer.l
@@ -3,7 +3,7 @@
* (C) Copyright David Gibson <dwg@au1.ibm.com>, IBM Corporation. 2005.
*/
-%option noyywrap nounput noinput never-interactive
+%option noyywrap nounput noinput never-interactive stack
%x BYTESTRING
%x PROPNODENAME
@@ -270,7 +270,8 @@
yyin = current_srcfile->f;
- yypush_buffer_state(yy_create_buffer(yyin, YY_BUF_SIZE));
+// yypush_buffer_state(yy_create_buffer(yyin, YY_BUF_SIZE));
+ yy_push_state(yy_create_buffer(yyin, YY_BUF_SIZE));
}
@@ -279,7 +280,8 @@
if (srcfile_pop() == 0)
return false;
- yypop_buffer_state();
+// yypop_buffer_state();
+ yy_pop_state();
yyin = current_srcfile->f;
return true;
--- a/scripts/genksyms/genksyms.c
+++ b/scripts/genksyms/genksyms.c
@@ -822,10 +822,10 @@
}
{
extern int yydebug;
- extern int yy_flex_debug;
+ /* extern int yy_flex_debug; */
yydebug = (flag_debug > 1);
- yy_flex_debug = (flag_debug > 2);
+ /* yy_flex_debug = (flag_debug > 2); */
debugfile = stderr;
/* setlinebuf(debugfile); */