40 |
fi |
fi |
41 |
done |
done |
42 |
|
|
43 |
|
# fetch cmdline |
44 |
|
for argv in $* |
45 |
|
do |
46 |
|
case $1 in |
47 |
|
--liveroot) shift; cmdliveroot="$1" ;; |
48 |
|
--imageroot) shift; cmdimageroot="$1" ;; |
49 |
|
--installroot) shift; cmdinstallroot="$1" ;; |
50 |
|
--filesystem) shift; cmdformatfilesystem="$1" ;; |
51 |
|
--help) |
52 |
|
echo "$0 options:" |
53 |
|
echo " --liveroot [path] - override default liveroot" |
54 |
|
echo " --imageroot [path] - override default imageroot" |
55 |
|
echo " --installroot [path] - override default installroot" |
56 |
|
echo " --filesystem [fstype] - override default filesystem used to format the disk" |
57 |
|
exit 0 ;; |
58 |
|
esac |
59 |
|
shift |
60 |
|
done |
61 |
|
|
62 |
### System/Config Version |
### System/Config Version |
63 |
VERSION="%VERSIONTAG%" |
VERSION="%VERSIONTAG%" |
64 |
TITLE="${DEFAULT_TITLE} - ${VERSION}" |
TITLE="${DEFAULT_TITLE} - ${VERSION}" |
66 |
# initialize global variables so they are exportable |
# initialize global variables so they are exportable |
67 |
# some sane defaults |
# some sane defaults |
68 |
INSTALL_METHOD="" |
INSTALL_METHOD="" |
69 |
LIVEROOT="${DEFAULT_LIVEROOT}" |
if [[ -n ${cmdliveroot} ]] |
70 |
IMAGEROOT="${DEFAULT_IMAGEROOT}" |
then |
71 |
INSTALLROOT="${DEFAULT_INSTALLROOT}" |
LIVEROOT="${cmdliveroot}" |
72 |
|
else |
73 |
|
LIVEROOT="${DEFAULT_LIVEROOT}" |
74 |
|
fi |
75 |
|
if [[ -n ${cmdimageroot} ]] |
76 |
|
then |
77 |
|
IMAGEROOT="${cmdimageroot}" |
78 |
|
else |
79 |
|
IMAGEROOT="${DEFAULT_IMAGEROOT}" |
80 |
|
fi |
81 |
|
if [[ -n ${cmdinstallroot} ]] |
82 |
|
then |
83 |
|
INSTALLROOT="${cmdinstallroot}" |
84 |
|
else |
85 |
|
INSTALLROOT="${DEFAULT_INSTALLROOT}" |
86 |
|
fi |
87 |
KERNELPKG="${DEFAULT_KERNELPKG}" |
KERNELPKG="${DEFAULT_KERNELPKG}" |
88 |
KERNELOPTS="${DEFAULT_KERNELOPTS}" |
KERNELOPTS="${DEFAULT_KERNELOPTS}" |
89 |
GRUBLEGACYOPTS="" |
GRUBLEGACYOPTS="" |
91 |
FDISKPARTIONBELOW256MB=0 |
FDISKPARTIONBELOW256MB=0 |
92 |
SPECIALDEVICE="" |
SPECIALDEVICE="" |
93 |
FORMFACTOR="${DEFAULT_FORMFACTOR}" |
FORMFACTOR="${DEFAULT_FORMFACTOR}" |
94 |
FORMAT_FILESYSTEM="${DEFAULT_FILESYSTEM}" |
if [[ -n ${cmdformatfilesystem} ]] |
95 |
|
then |
96 |
|
FORMAT_FILESYSTEM="${cmdformatfilesystem}" |
97 |
|
else |
98 |
|
FORMAT_FILESYSTEM="${DEFAULT_FILESYSTEM}" |
99 |
|
fi |
100 |
FLASHDISK=0 |
FLASHDISK=0 |
101 |
|
|
102 |
# TOTALLINES=linecount of ${CDIMAGENAME}-tarball -1 ! |
# TOTALLINES=linecount of ${CDIMAGENAME}-tarball -1 ! |
193 |
run_hardware_detection() |
run_hardware_detection() |
194 |
{ |
{ |
195 |
local hwinfo |
local hwinfo |
|
|
|
196 |
hwinfo="$(hwinfo --bios --storage --pci --gfxcard --sys)" |
hwinfo="$(hwinfo --bios --storage --pci --gfxcard --sys)" |
197 |
|
|
198 |
# check for special devices/clients: |
# check for special devices/clients: |
240 |
export GRUBLEGACYOPTS="" |
export GRUBLEGACYOPTS="" |
241 |
fi |
fi |
242 |
|
|
243 |
|
# check for i845 Chipsets and enable KMS and use 915 drm driver later in initrd |
244 |
|
if [[ ! -z $(echo "${hwinfo}" | grep -i i845) ]] |
245 |
|
then |
246 |
|
export SPECIALDEVICE="i845" |
247 |
|
# unset default video=1024x768 opt or the drm driver breaks |
248 |
|
export KERNELOPTS="quiet" |
249 |
|
export GRUBLEGACYOPTS="" |
250 |
|
# enable full kms support |
251 |
|
export GRUB2GFXPAYLOAD="keep" |
252 |
|
fi |
253 |
|
|
254 |
|
# check for radeon gfxcards |
255 |
|
if [[ ! -z $(echo "${hwinfo}" | grep -i radeon) ]] |
256 |
|
then |
257 |
|
# enable full kms support |
258 |
|
export GRUB2GFXPAYLOAD="keep" |
259 |
|
fi |
260 |
|
|
261 |
|
# requires nomsi to prevent massive IRQ error spam |
262 |
|
# see: http://ubuntuforums.org/showthread.php?t=1234983 |
263 |
|
if [[ ! -z $(echo "${hwinfo}" | grep -i 'P5VD2-X') ]] || [[ ! -z $(echo "${hwinfo}" | grep -i 'VT8237') ]] || [[ ! -z $(echo "${hwinfo}" | grep -i 'VX700') ]] |
264 |
|
then |
265 |
|
export SPECIALDEVICE="nomsi" |
266 |
|
export KERNELOPTS="${KERNELOPTS} pci=nomsi,noaer" |
267 |
|
fi |
268 |
|
|
269 |
# check for special devices/clients: |
# check for special devices/clients: |
270 |
# check for laptops and activate cpufreq scaling |
# check for laptops and activate cpufreq scaling |
271 |
if [[ $(echo "${hwinfo}" | grep 'Formfactor:' | sed 's:.*Formfactor\:\ \"\(.*\)\":\1:') = laptop ]] |
if [[ $(echo "${hwinfo}" | grep 'Formfactor:' | sed 's:.*Formfactor\:\ \"\(.*\)\":\1:') = laptop ]] |
604 |
zotac*) message+=$"\n\Z2Zotac device detected.\Zn" ;; |
zotac*) message+=$"\n\Z2Zotac device detected.\Zn" ;; |
605 |
rangee) message+=$"\n\Z2Rangee device detected.\Zn" ;; |
rangee) message+=$"\n\Z2Rangee device detected.\Zn" ;; |
606 |
maxdata) message+=$"\n\Z2Maxdata device detected.\Zn" ;; |
maxdata) message+=$"\n\Z2Maxdata device detected.\Zn" ;; |
607 |
|
i845) message+=$"\n\Z2Intel i845 VGA device detected.\Zn" ;; |
608 |
|
nomsi) message+=$"\n\Z2Mainboard with P5VD2-X/VT8237/VX700 chipset detected.\Zn" |
609 |
|
message+=$"\n\Z2Disabling Message Signaled Interrupts (MSI) capability of the kernel.\Zn" ;; |
610 |
*) message+=$"\n\ZnCommon device detected.\Zn" ;; |
*) message+=$"\n\ZnCommon device detected.\Zn" ;; |
611 |
esac |
esac |
612 |
if [[ ${FORMFACTOR} = laptop ]] |
if [[ ${FORMFACTOR} = laptop ]] |