1 |
#!/bin/bash |
#!/bin/bash |
2 |
|
# $Header: /home/cvsd/magellan-cvs/magellan-src/installer/hwdetection.sh,v 1.7 2007-10-15 20:49:40 niro Exp $ |
3 |
|
|
4 |
## hwdetection, needs >= sys-apps/hwinfo |
## hwdetection, needs >= sys-apps/hwinfo |
5 |
|
|
6 |
|
# hwinfo wrapper to use hwinfo with sudo if requested |
7 |
|
hwinfo() |
8 |
|
{ |
9 |
|
local use_sudo="" |
10 |
|
case ${SUDO} in |
11 |
|
yes|y|true|1) use_sudo=sudo ;; |
12 |
|
esac |
13 |
|
|
14 |
|
${use_sudo} /usr/sbin/hwinfo $@ |
15 |
|
} |
16 |
|
|
17 |
# get_hwinfo $hw_item |
# get_hwinfo $hw_item |
18 |
get_hwinfo() |
get_hwinfo() |
19 |
{ |
{ |
20 |
|
local enable_desc="0" |
21 |
|
|
22 |
|
if [[ $1 = --with-description ]] || [[ $1 = -d ]] |
23 |
|
then |
24 |
|
enable_desc=1 |
25 |
|
shift |
26 |
|
fi |
27 |
|
|
28 |
local item="$1" |
local item="$1" |
29 |
local all |
local all |
30 |
local i |
local i |
31 |
|
|
32 |
|
# handle special items |
33 |
|
case ${item} in |
34 |
|
memory) get_hwinfo_memory; return ;; |
35 |
|
smp) get_hwinfo_smp; return ;; |
36 |
|
esac |
37 |
|
|
38 |
all=$(hwinfo --short --"${item}") |
all=$(hwinfo --short --"${item}") |
39 |
|
|
40 |
declare -i i=0 |
declare -i i=0 |
44 |
(( i++ )) |
(( i++ )) |
45 |
[ ${i} -eq 1 ] && continue |
[ ${i} -eq 1 ] && continue |
46 |
|
|
47 |
echo "${device};${description}" |
if [[ ${enable_desc} = 1 ]] |
48 |
|
then |
49 |
|
echo "${device};${description}" |
50 |
|
else |
51 |
|
echo "${device}" |
52 |
|
fi |
53 |
done <<< "${all}" |
done <<< "${all}" |
54 |
} |
} |
55 |
|
|
56 |
|
|
57 |
|
# special memory case |
58 |
|
get_hwinfo_memory() |
59 |
|
{ |
60 |
|
local memory=$(hwinfo --memory | grep "Memory Size" | cut -d: -f2 | sed "s:\ ::") |
61 |
|
echo "${memory}" |
62 |
|
} |
63 |
|
|
64 |
|
|
65 |
|
# special smp case |
66 |
|
get_hwinfo_smp() |
67 |
|
{ |
68 |
|
local smp=$(hwinfo --smp | grep "SMP support:" | cut -d: -f2 | sed "s:\ ::") |
69 |
|
echo "${smp}" |
70 |
|
} |
71 |
|
|
72 |
|
|
73 |
# get_driver_modules $hw_item |
# get_driver_modules $hw_item |
74 |
get_driver_modules() |
get_driver_modules() |
75 |
{ |
{ |
93 |
local i |
local i |
94 |
for i in $(hwinfo --"${item}" | grep "Driver Modules:" | cut -d: -f2 ) |
for i in $(hwinfo --"${item}" | grep "Driver Modules:" | cut -d: -f2 ) |
95 |
do |
do |
96 |
eval $(echo "${i}" | sed -e "s:\":modules=\"\${modules}\ :" -e "s:\",\ \":\ :") |
eval $(echo "${i}" | sed -e "s:\":modules=\"\${modules}\ :" -e "s:,:\ :") |
97 |
done |
done |
98 |
echo "${modules}" |
echo "${modules}" |
99 |
} |
} |
200 |
#get_driver_modules all |
#get_driver_modules all |
201 |
|
|
202 |
# network |
# network |
203 |
#get_hwinfo netcard |
#get_hwinfo --with-description netcard |
204 |
#get_driver_modules netcard |
#get_driver_modules netcard |
205 |
|
|
206 |
#get_hwinfo disk |
#get_hwinfo disk |