Mercurial > vanilla
annotate kernel/linux/linux.sh @ 1149:ee4b956157fe
kernel/linux-headers: rename from lib/linux-headers
author | David Demelier <markand@malikania.fr> |
---|---|
date | Wed, 25 Sep 2019 21:10:00 +0200 |
parents | d7b018839eaa |
children | 6710613b88b9 |
rev | line source |
---|---|
1148
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 #!/bin/sh |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 # |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 # Copyright (c) 2019 David Demelier <markand@malikania.fr> |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
4 # |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 # Permission to use, copy, modify, and/or distribute this software for any |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
6 # purpose with or without fee is hereby granted, provided that the above |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 # copyright notice and this permission notice appear in all copies. |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
8 # |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
9 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
10 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
11 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
12 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
13 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
14 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
15 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
16 # |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
17 |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
18 # |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
19 # User notes |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
20 # ---------- |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
21 # |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
22 # The Linux kernel is built without modifications as if `make defconfig` was |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
23 # used. |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
24 # |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
25 # You can provide your own kernel configuration with the CONFIG option which |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
26 # should point to your custom file. |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
27 # |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
28 |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
29 PKGNAME=linux |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
30 PKGVERSION=5.3.1 |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
31 PKGREVISION=1 |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
32 PKGLICENSE="GPLv20" |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
33 PKGSUMMARY="the Linux kernel" |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
34 PKGDOWNLOAD="https://cdn.kernel.org/pub/linux/kernel/v5.x/$PKGNAME-$PKGVERSION.tar.xz" |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
35 PKGDEPENDS="bison:build elfutils:build flex:build gcc:build" |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
36 PKGOPTIONS="CONFIG" |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
37 |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
38 : ${CHOST:=$(uname -m)-linux-musl} |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
39 : ${CBUILD:=$(uname -m)-linux-musl} |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
40 : ${CC:=gcc} |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
41 : ${CFLAGS:=-O2} |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
42 : ${LDFLAGS:=} |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
43 : ${LIBS:=} |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
44 : ${CONFIG:=} # Note: path to kernel config file. |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
45 |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
46 build() |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
47 { |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
48 rm -rf $PKGNAME-$PKGVERSION |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
49 tar xvf $PKGNAME-$PKGVERSION.tar.xz |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
50 cd $PKGNAME-$PKGVERSION |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
51 |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
52 if [ -n "$CONFIG" ]; then |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
53 cp $CONFIG .config |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
54 else |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
55 # TODO: add architecture support. |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
56 cp ../config-amd64 .config |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
57 fi |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
58 |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
59 mkdir -p $DESTDIR/boot |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
60 mkdir -p $DESTDIR/lib |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
61 make \ |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
62 CC="$CC" \ |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
63 HOSTCC="$CC" \ |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
64 CFLAGS="$CFLAGS" \ |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
65 INSTALL_PATH=$DESTDIR/boot \ |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
66 INSTALL_MOD_PATH=$DESTDIR \ |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
67 all install modules_install |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
68 |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
69 cd .. |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
70 rm -rf $PKGNAME-$PKGVERSION |
d7b018839eaa
kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
71 } |