source: scripts/cross-scripts/cross-san-kern-hdrs.sh@ 236a72e

clfs-1.2 clfs-2.1 clfs-3.0.0-systemd clfs-3.0.0-sysvinit systemd sysvinit
Last change on this file since 236a72e was 617118d, checked in by Jim Gifford <clfs@…>, 19 years ago

r561@server (orig r559): root | 2005-06-05 02:38:49 -0700
Fixed Directory Structure

  • Property mode set to 100755
File size: 3.1 KB
Line 
1#!/bin/bash
2
3# cross-lfs sanitized kernel header installation
4# ----------------------------------------------
5# $LastChangedBy$
6# $LastChangedDate$
7# $LastChangedRevision$
8# $HeadURL$
9#
10
11# install kernel headers
12
13cd ${SRC}
14LOG=sanitised-kernel-headers.log
15unpack_tarball linux-libc-headers-${LINUX_LIBC_HDRS_VER} &&
16cd ${PKGDIR}
17
18# Setup ownership and permissions properly
19# TODO: This assumes you are root...
20#chown -R 0 *
21#chgrp -R 0 *
22
23# Setup permissions
24find . -type d | xargs chmod 755
25find . -type f | xargs chmod 644
26
27max_log_init sanitised-kernel-headers ${LINUX_LIBC_HDRS_VER} '' ${INSTLOGS} ${LOG}
28
29# Install the headers.
30
31# If we are using sanitised headers,
32# install the sanitised ones into
33# ${TGT_TOOLS}/include
34if [ "${USE_SYSROOT}" = "Y" ]; then
35 INSTALL_PREFIX="${LFS}/usr"
36else
37 INSTALL_PREFIX="${TGT_TOOLS}"
38fi
39KERN_HDR_DIR=${INSTALL_PREFIX}/include
40
41# If we are doing a biarch build we will need the kernel headers for
42# both architectures and will have to create stub headers in include/asm
43
44test "Y" = "${MULTIARCH}" &&
45{
46 case ${TGT_ARCH} in
47 x86_64 | x86-64 )
48 ARCH1_SWITCH=__x86_64__
49 ARCH1=x86_64
50 ARCH2=i386
51 ;;
52 sparc* | ultrasparc* )
53 ARCH1_SWITCH=__arch64__
54 ARCH1=sparc64
55 ARCH2=sparc
56 ;;
57 ppc* | powerpc* )
58 ARCH1_SWITCH=__powerpc64__
59 ARCH1=ppc64
60 ARCH2=ppc
61 ;;
62 s390* )
63 ARCH1_SWITCH=__s390x__
64 ARCH1=s390x
65 ARCH2=s390
66 ;;
67 mips* )
68 ARCH1=mips
69 ;;
70 esac
71
72 # TODO: This needs to be done better
73 # Here we are handling the case of mips, where only the one set of
74 # asm headers are provided (and needed) for multi-arch.
75 if [ -z "${ARCH1_SWITCH}" ]; then
76 mkdir -p ${KERN_HDR_DIR}/asm
77 yes | cp -Rp include/asm-${ARCH1}/* ${KERN_HDR_DIR}/asm
78 else
79 mkdir -p ${KERN_HDR_DIR}/asm
80 yes | cp -Rp include/asm-${ARCH1} ${KERN_HDR_DIR}
81 yes | cp -Rp include/asm-${ARCH2} ${KERN_HDR_DIR}
82
83 # Create stubs ( see build-init.x.x.x.sh )
84 create_kernel_stubs ${ARCH1} ${ARCH1_SWITCH} ${ARCH2} ${KERN_HDR_DIR}
85 fi
86
87} || {
88 # Install kernel headers in
89 # ${TGT_TOOLS}/include
90 # TODO: this needs to be done better...
91 case ${TGT_ARCH} in
92 i?86 ) ARCH=i386 ;;
93 x86_64 | x86-64 ) ARCH=x86_64 ;;
94 powerpc | ppc ) ARCH=ppc ;;
95 powerpc64 | ppc64 ) ARCH=ppc64 ;;
96 sparc64* | ultrasparc* ) ARCH=sparc64 ;;
97 sparc* ) ARCH=sparc ;;
98 s390 ) ARCH=s390 ;;
99 s390x ) ARCH=s390x ;;
100 mips* ) ARCH=mips ;;
101 arm* ) ARCH=arm ;;
102 * ) ARCH=${TGT_ARCH} ;;
103 esac
104
105 mkdir -p ${KERN_HDR_DIR}/asm
106 yes | cp -Rp include/asm-${ARCH}/* ${KERN_HDR_DIR}/asm
107 # TODO: probably more here to do for arm...
108
109 # This should be replaced by a var, for the moment defaulting to
110 # ebsa285
111 case ${TGT_ARCH} in
112 arm* ) ln -sf arch-ebsa285 ${KERN_HDR_DIR}/asm/arch ;;
113 esac
114
115}
116
117yes | cp -Rp include/linux ${KERN_HDR_DIR}
118
Note: See TracBrowser for help on using the repository browser.