-
Notifications
You must be signed in to change notification settings - Fork 45
/
gen_arch.sh
executable file
·94 lines (89 loc) · 2.43 KB
/
gen_arch.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#!/bin/bash
# $Id$
get_official_arch() {
if [ "${CMD_ARCHOVERRIDE}" != '' ]
then
ARCH=${CMD_ARCHOVERRIDE}
else
if [ "${ARCH_OVERRIDE}" != '' ]
then
ARCH=${ARCH_OVERRIDE}
else
ARCH=`uname -m`
case "${ARCH}" in
i?86)
ARCH="x86"
;;
mips|mips64)
ARCH="mips"
;;
arm*)
ARCH=arm
;;
*)
;;
esac
fi
fi
if [ "${CMD_UTILS_ARCH}" != '' ]
then
UTILS_ARCH=${CMD_UTILS_ARCH}
else
if [ "${UTILS_ARCH}" != '' ]
then
UTILS_ARCH=${UTILS_ARCH}
fi
fi
# sparc64 klibc is b0rked, so we force to 32
if [ "${ARCH}" = 'sparc64' ]
then
UTILS_ARCH='sparc'
fi
ARCH_CONFIG="${GK_SHARE}/arch/${ARCH}/config.sh"
[ -f "${ARCH_CONFIG}" ] || gen_die "${ARCH} not yet supported by genkernel. Please add the arch-specific config file, ${ARCH_CONFIG}"
}
set_kernel_arch() {
KERNEL_ARCH=${ARCH}
case ${ARCH} in
ppc|ppc64)
if [ "${VER}" -ge "3" ]
then
KERNEL_ARCH=powerpc
elif [ "${VER}" -eq "2" -a "${PAT}" -ge "6" ]
then
if [ "${PAT}" -eq "6" -a "${SUB}" -ge "16" ] || [ "${PAT}" -gt "6" ]
then
KERNEL_ARCH=powerpc
fi
fi
;;
x86)
if [ "${VER}" -ge "3" ]
then
KERNEL_ARCH=x86
elif [ "${VER}" -eq "2" -a "${PAT}" -ge "6" ] || [ "${VER}" -gt "2" ]
then
if [ "${PAT}" -eq "6" -a "${SUB}" -ge "24" ] || [ "${PAT}" -gt "6" ]
then
KERNEL_ARCH=x86
else
KERNEL_ARCH=i386
fi
fi
;;
x86_64)
if [ "${VER}" -ge "3" ]
then
KERNEL_ARCH=x86
elif [ "${VER}" -eq "2" -a "${PAT}" -ge "6" ] || [ "${VER}" -gt "2" ]
then
if [ "${PAT}" -eq "6" -a "${SUB}" -ge "24" ] || [ "${PAT}" -gt "6" ]
then
KERNEL_ARCH=x86
fi
fi
;;
esac
export KERNEL_ARCH
print_info 2 "KERNEL_ARCH=${KERNEL_ARCH}"
}