annotate kernel/linux/linux.sh @ 1222:325631424c65

misc: bring back build function
author David Demelier <markand@malikania.fr>
date Wed, 27 Oct 2021 11:32:16 +0200
parents a47aaf9743a0
children 9867e578b1a9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
1221
a47aaf9743a0 misc: backed out changeset 4ccc42bf0284
David Demelier <markand@malikania.fr>
parents: 1220
diff changeset
29 PKGNAME=linux
a47aaf9743a0 misc: backed out changeset 4ccc42bf0284
David Demelier <markand@malikania.fr>
parents: 1220
diff changeset
30 PKGVERSION=5.3.1
a47aaf9743a0 misc: backed out changeset 4ccc42bf0284
David Demelier <markand@malikania.fr>
parents: 1220
diff changeset
31 PKGREVISION=1
a47aaf9743a0 misc: backed out changeset 4ccc42bf0284
David Demelier <markand@malikania.fr>
parents: 1220
diff changeset
32 PKGLICENSE="GPL-2.0-only"
a47aaf9743a0 misc: backed out changeset 4ccc42bf0284
David Demelier <markand@malikania.fr>
parents: 1220
diff changeset
33 PKGSUMMARY="the Linux kernel"
a47aaf9743a0 misc: backed out changeset 4ccc42bf0284
David Demelier <markand@malikania.fr>
parents: 1220
diff changeset
34 PKGDOWNLOAD="https://cdn.kernel.org/pub/linux/kernel/v5.x/$PKGNAME-$PKGVERSION.tar.xz"
a47aaf9743a0 misc: backed out changeset 4ccc42bf0284
David Demelier <markand@malikania.fr>
parents: 1220
diff changeset
35 PKGDEPENDS="bison:build elfutils:build flex:build gcc:build"
a47aaf9743a0 misc: backed out changeset 4ccc42bf0284
David Demelier <markand@malikania.fr>
parents: 1220
diff changeset
36 PKGOPTIONS="CONFIG"
1148
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
1222
325631424c65 misc: bring back build function
David Demelier <markand@malikania.fr>
parents: 1221
diff changeset
46 build()
325631424c65 misc: bring back build function
David Demelier <markand@malikania.fr>
parents: 1221
diff changeset
47 {
325631424c65 misc: bring back build function
David Demelier <markand@malikania.fr>
parents: 1221
diff changeset
48 rm -rf $PKGNAME-$PKGVERSION
325631424c65 misc: bring back build function
David Demelier <markand@malikania.fr>
parents: 1221
diff changeset
49 tar xvf $PKGNAME-$PKGVERSION.tar.xz
325631424c65 misc: bring back build function
David Demelier <markand@malikania.fr>
parents: 1221
diff changeset
50 cd $PKGNAME-$PKGVERSION
1148
d7b018839eaa kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff changeset
51
1222
325631424c65 misc: bring back build function
David Demelier <markand@malikania.fr>
parents: 1221
diff changeset
52 if [ -n "$CONFIG" ]; then
325631424c65 misc: bring back build function
David Demelier <markand@malikania.fr>
parents: 1221
diff changeset
53 cp $CONFIG .config
325631424c65 misc: bring back build function
David Demelier <markand@malikania.fr>
parents: 1221
diff changeset
54 else
325631424c65 misc: bring back build function
David Demelier <markand@malikania.fr>
parents: 1221
diff changeset
55 # TODO: add architecture support.
325631424c65 misc: bring back build function
David Demelier <markand@malikania.fr>
parents: 1221
diff changeset
56 cp ../config-amd64 .config
325631424c65 misc: bring back build function
David Demelier <markand@malikania.fr>
parents: 1221
diff changeset
57 fi
1148
d7b018839eaa kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff changeset
58
1222
325631424c65 misc: bring back build function
David Demelier <markand@malikania.fr>
parents: 1221
diff changeset
59 mkdir -p $DESTDIR/boot
325631424c65 misc: bring back build function
David Demelier <markand@malikania.fr>
parents: 1221
diff changeset
60 mkdir -p $DESTDIR/lib
325631424c65 misc: bring back build function
David Demelier <markand@malikania.fr>
parents: 1221
diff changeset
61 make \
325631424c65 misc: bring back build function
David Demelier <markand@malikania.fr>
parents: 1221
diff changeset
62 CC="$CC" \
325631424c65 misc: bring back build function
David Demelier <markand@malikania.fr>
parents: 1221
diff changeset
63 HOSTCC="$CC" \
325631424c65 misc: bring back build function
David Demelier <markand@malikania.fr>
parents: 1221
diff changeset
64 CFLAGS="$CFLAGS" \
325631424c65 misc: bring back build function
David Demelier <markand@malikania.fr>
parents: 1221
diff changeset
65 INSTALL_PATH=$DESTDIR/boot \
325631424c65 misc: bring back build function
David Demelier <markand@malikania.fr>
parents: 1221
diff changeset
66 INSTALL_MOD_PATH=$DESTDIR \
325631424c65 misc: bring back build function
David Demelier <markand@malikania.fr>
parents: 1221
diff changeset
67 all install modules_install
1148
d7b018839eaa kernel/linux: initial import, closes #1177
David Demelier <markand@malikania.fr>
parents:
diff changeset
68
1222
325631424c65 misc: bring back build function
David Demelier <markand@malikania.fr>
parents: 1221
diff changeset
69 cd ..
325631424c65 misc: bring back build function
David Demelier <markand@malikania.fr>
parents: 1221
diff changeset
70 rm -rf $PKGNAME-$PKGVERSION
325631424c65 misc: bring back build function
David Demelier <markand@malikania.fr>
parents: 1221
diff changeset
71 }