mirror of
https://github.com/cirosantilli/linux-kernel-module-cheat.git
synced 2026-01-23 10:15:57 +01:00
buildroot: update to 2018.05-rc1
qemu: update to v2.12.0 The Buildroot update fixes #28 which broke the build on Ubuntu 18.04, which had error message: conflicting types for 'copy_file_range' We shouldn't normally update to -rc tags, but it fixes the build and I can't be bothered to bisect further, when 2018.05 comes we will just update again. The qemu update is kind of random, and I shouldn't have done it at the same time, but so be it. I did it because I noticed the build was broken while trying to fix .gitignores on QEMU.
This commit is contained in:
11
README.adoc
11
README.adoc
@@ -9,7 +9,7 @@
|
||||
:toclevels: 6
|
||||
:toc-title:
|
||||
|
||||
Run one command, get a QEMU or gem5 Buildroot BusyBox virtual machine built from source with several minimal Linux kernel 4.16 module development example tutorials with GDB and KGDB step debugging and minimal educational hardware models. "Tested" in x86, ARM and MIPS guests, Ubuntu 17.10 host.
|
||||
Run one command, get a QEMU or gem5 Buildroot BusyBox virtual machine built from source with several minimal Linux kernel 4.16 module development example tutorials with GDB and KGDB step debugging and minimal educational hardware models. "Tested" in x86, ARM and MIPS guests, Ubuntu 18.04 host.
|
||||
|
||||
toc::[]
|
||||
|
||||
@@ -17,7 +17,7 @@ toc::[]
|
||||
|
||||
=== Getting started Ubuntu
|
||||
|
||||
This is the most native setup, and therefore the best one if you are on one of the supported Ubuntu: 16.04 or 17.10. We will try to keep up with both the latest LTS and release.
|
||||
This is the most native setup, and therefore the best one if you are on one of the supported Ubuntu: 16.04 or 18.04.
|
||||
|
||||
Reserve 12Gb of disk and run:
|
||||
|
||||
@@ -97,6 +97,11 @@ hello /root/.profile
|
||||
|
||||
All available modules can be found in the link:kernel_module/[`kernel_module` directory].
|
||||
|
||||
We will try to support the following Ubuntu versions at least:
|
||||
|
||||
* if the the latest release is an LTS, support both the latest LTS and the previous one
|
||||
* otherwise, support both latest LTS and the latest non-LTS
|
||||
|
||||
[[docker]]
|
||||
=== Getting started Docker
|
||||
|
||||
@@ -2385,7 +2390,7 @@ cd ..
|
||||
git branch "buildroot-2017.08-linux-${last_mainline_revision}"
|
||||
git add .
|
||||
# And update the README to show off.
|
||||
git commit -m "Linux ${next_mainline_revision}"
|
||||
git commit -m "linux: update to ${next_mainline_revision}"
|
||||
# Test the heck out of it, especially kernel modules and GDB.
|
||||
./run
|
||||
git push
|
||||
|
||||
Submodule buildroot updated: 8ce27bb9fe...b19e24b9f7
@@ -1,141 +0,0 @@
|
||||
From c128c5f3c79b31d89256ffbc5c650ba613d3d52b Mon Sep 17 00:00:00 2001
|
||||
From: Adrian Perez de Castro <aperez@igalia.com>
|
||||
Date: Wed, 13 Sep 2017 17:35:24 +0300
|
||||
Subject: [PATCH] flex: Fix segfault of stage1flex when host has glibc 2.26 or
|
||||
newer
|
||||
|
||||
When the host uses glibc 2.26 or newer, Flex will try to use the
|
||||
newly-introduced reallocarray() function, but as it would not define
|
||||
_GNU_SOURCE a segmentation fault would occur later on due to the
|
||||
compiler assumming that the function is implicitly defined.
|
||||
|
||||
This issue manifests itself due to a crash of "stage1flex" during the
|
||||
Flex bootstrap:
|
||||
|
||||
./stage1flex -o stage1scan.c ./scan.l
|
||||
make[2]: *** [Makefile:1725: stage1scan.c] Segmentation fault (core dumped)
|
||||
|
||||
This imports the patch from the upstream Git repository, and adds flags
|
||||
in the .mk file to rebuild the Autotools scripts and support files. Due
|
||||
to the latter, the patch to disable the documentation is changed so it
|
||||
modifies the .am file instead.
|
||||
|
||||
Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
|
||||
[Arnout:
|
||||
- Add Adrian's Sob and upstream ref to new patch;
|
||||
- Keep patch 1 as patch 1;
|
||||
- Keep Vicente as author of path 1;
|
||||
- Add reason for autoreconf in a comment.]
|
||||
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
|
||||
---
|
||||
package/flex/0001-flex-disable-documentation.patch | 22 ++++++++++----
|
||||
...-AC_USE_SYSTEM_EXTENSIONS-in-configure.ac.patch | 35 ++++++++++++++++++++++
|
||||
package/flex/flex.mk | 6 ++++
|
||||
3 files changed, 58 insertions(+), 5 deletions(-)
|
||||
create mode 100644 package/flex/0002-build-AC_USE_SYSTEM_EXTENSIONS-in-configure.ac.patch
|
||||
|
||||
diff --git a/package/flex/0001-flex-disable-documentation.patch b/package/flex/0001-flex-disable-documentation.patch
|
||||
index 68bec128ee..b017b41385 100644
|
||||
--- a/package/flex/0001-flex-disable-documentation.patch
|
||||
+++ b/package/flex/0001-flex-disable-documentation.patch
|
||||
@@ -1,4 +1,7 @@
|
||||
-flex: disable documentation
|
||||
+From a98443c6a72d5821d4e0152311e5c3eb4cdff25c Mon Sep 17 00:00:00 2001
|
||||
+From: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
|
||||
+Date: Wed, 13 Sep 2017 17:26:48 +0300
|
||||
+Subject: [PATCH] flex: disable documentation
|
||||
|
||||
Since we prevent the flex binary to be built, we also need to prevent
|
||||
the documentation to be built, otherwise it will fail like this:
|
||||
@@ -9,11 +12,17 @@ make[2]: *** No rule to make target '../src/flex', needed by 'flex.1'.
|
||||
Stop.
|
||||
|
||||
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
|
||||
+[Adrian: patch Makefile.am instead of Makefile.in]
|
||||
+Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
|
||||
+---
|
||||
+ Makefile.am | 1 -
|
||||
+ 1 file changed, 1 deletion(-)
|
||||
|
||||
-diff -rup a/Makefile.in b/Makefile.in
|
||||
---- a/Makefile.in 2017-05-06 15:49:09.000000000 +0100
|
||||
-+++ b/Makefile.in 2017-05-10 14:35:20.152794902 +0100
|
||||
-@@ -450,7 +450,6 @@ EXTRA_DIST = \
|
||||
+diff --git a/Makefile.am b/Makefile.am
|
||||
+index 638c549..9db3420 100644
|
||||
+--- a/Makefile.am
|
||||
++++ b/Makefile.am
|
||||
+@@ -43,7 +43,6 @@ EXTRA_DIST = \
|
||||
|
||||
SUBDIRS = \
|
||||
src \
|
||||
@@ -21,3 +30,6 @@ diff -rup a/Makefile.in b/Makefile.in
|
||||
examples \
|
||||
po \
|
||||
tests \
|
||||
+--
|
||||
+2.14.1
|
||||
+
|
||||
diff --git a/package/flex/0002-build-AC_USE_SYSTEM_EXTENSIONS-in-configure.ac.patch b/package/flex/0002-build-AC_USE_SYSTEM_EXTENSIONS-in-configure.ac.patch
|
||||
new file mode 100644
|
||||
index 0000000000..06747a36e1
|
||||
--- /dev/null
|
||||
+++ b/package/flex/0002-build-AC_USE_SYSTEM_EXTENSIONS-in-configure.ac.patch
|
||||
@@ -0,0 +1,35 @@
|
||||
+From ffa886a580929f26fd5e5a40c9c5334955c48553 Mon Sep 17 00:00:00 2001
|
||||
+From: Explorer09 <explorer09@gmail.com>
|
||||
+Date: Mon, 4 Sep 2017 10:47:33 +0800
|
||||
+Subject: [PATCH] build: AC_USE_SYSTEM_EXTENSIONS in configure.ac.
|
||||
+
|
||||
+This would, e.g. define _GNU_SOURCE in config.h, enabling the
|
||||
+reallocarray() prototype in glibc 2.26+ on Linux systems with that
|
||||
+version of glibc.
|
||||
+
|
||||
+Fixes #241.
|
||||
+
|
||||
+Backported from: 24fd0551333e7eded87b64dd36062da3df2f6380
|
||||
+Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
|
||||
+---
|
||||
+ configure.ac | 2 ++
|
||||
+ 1 file changed, 2 insertions(+)
|
||||
+
|
||||
+diff --git a/configure.ac b/configure.ac
|
||||
+index 55e774b..c879fe1 100644
|
||||
+--- a/configure.ac
|
||||
++++ b/configure.ac
|
||||
+@@ -25,8 +25,10 @@
|
||||
+ # autoconf requirements and initialization
|
||||
+
|
||||
+ AC_INIT([the fast lexical analyser generator],[2.6.4],[flex-help@lists.sourceforge.net],[flex])
|
||||
++AC_PREREQ([2.60])
|
||||
+ AC_CONFIG_SRCDIR([src/scan.l])
|
||||
+ AC_CONFIG_AUX_DIR([build-aux])
|
||||
++AC_USE_SYSTEM_EXTENSIONS
|
||||
+ LT_INIT
|
||||
+ AM_INIT_AUTOMAKE([1.11.3 -Wno-portability foreign check-news std-options dist-lzip parallel-tests subdir-objects])
|
||||
+ AC_CONFIG_HEADER([src/config.h])
|
||||
+--
|
||||
+2.14.1
|
||||
+
|
||||
diff --git a/package/flex/flex.mk b/package/flex/flex.mk
|
||||
index 0196624e9a..aeac4ada87 100644
|
||||
--- a/package/flex/flex.mk
|
||||
+++ b/package/flex/flex.mk
|
||||
@@ -10,8 +10,14 @@ FLEX_INSTALL_STAGING = YES
|
||||
FLEX_LICENSE = FLEX
|
||||
FLEX_LICENSE_FILES = COPYING
|
||||
FLEX_DEPENDENCIES = $(TARGET_NLS_DEPENDENCIES) host-m4
|
||||
+
|
||||
+# 0001-flex-disable-documentation.patch
|
||||
+# 0002-build-AC_USE_SYSTEM_EXTENSIONS-in-configure.ac.patch
|
||||
+FLEX_AUTORECONF = YES
|
||||
+FLEX_GETTEXTIZE = YES
|
||||
FLEX_CONF_ENV = ac_cv_path_M4=/usr/bin/m4 \
|
||||
ac_cv_func_reallocarray=no
|
||||
+
|
||||
HOST_FLEX_DEPENDENCIES = host-m4
|
||||
|
||||
define FLEX_DISABLE_PROGRAM
|
||||
--
|
||||
2.14.1
|
||||
|
||||
2
qemu
2
qemu
Submodule qemu updated: 8dbff6d372...68f40a7074
Reference in New Issue
Block a user