added rpi kernel
This commit is contained in:
parent
1c81d44858
commit
ddd1ab85ea
3 changed files with 140 additions and 0 deletions
45
pkgs/raspberrypi-linux/build.sh
Normal file
45
pkgs/raspberrypi-linux/build.sh
Normal 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
|
||||||
|
}
|
35
pkgs/raspberrypi-linux/kernel-byacc.patch
Normal file
35
pkgs/raspberrypi-linux/kernel-byacc.patch
Normal 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)
|
60
pkgs/raspberrypi-linux/reflex.patch
Normal file
60
pkgs/raspberrypi-linux/reflex.patch
Normal 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); */
|
Loading…
Reference in a new issue