Как исключить модуль nouveau из загрузки LiveCD? ОС: Kubuntu 14.04.1 i386.
Как исключить модуль из загрузки (LiveCD)
В параметры ядра nouveau.blacklist=yes не помогает?
kostik87, сейчас попробую.
kostik87, нет.
nomodeset в те же параметры ядра.
Просто параметр
blacklist=nouveau
Вот выдержка из сценария init в initramfs LiveCD Ubuntu-14.04:
Показать
# Parse command line options
for x in $(cat /proc/cmdline); do
case $x in
init=*)
init=${x#init=}
;;
root=*)
ROOT=${x#root=}
case $ROOT in
LABEL=*)
ROOT="${ROOT#LABEL=}"
# support any / in LABEL= path (escape to \x2f)
case "${ROOT}" in
*/*)
if command -v sed >/dev/null 2>&1; then
ROOT="$(echo ${ROOT} | sed 's,/,\\x2f,g')"
else
if [ "${ROOT}" != "${ROOT#/}" ]; then
ROOT="\x2f${ROOT#/}"
fi
if [ "${ROOT}" != "${ROOT%/}" ]; then
ROOT="${ROOT%/}\x2f"
fi
IFS='/'
newroot=
for s in $ROOT; do
newroot="${newroot:+${newroot}\\x2f}${s}"
done
unset IFS
ROOT="${newroot}"
fi
esac
ROOT="/dev/disk/by-label/${ROOT}"
;;
UUID=*)
ROOT="/dev/disk/by-uuid/${ROOT#UUID=}"
;;
/dev/nfs)
[ -z "${BOOT}" ] && BOOT=nfs
;;
esac
;;
rootflags=*)
ROOTFLAGS="-o ${x#rootflags=}"
;;
rootfstype=*)
ROOTFSTYPE="${x#rootfstype=}"
;;
rootdelay=*)
ROOTDELAY="${x#rootdelay=}"
case ${ROOTDELAY} in
*[![:digit:].]*)
ROOTDELAY=
;;
esac
;;
resumedelay=*)
RESUMEDELAY="${x#resumedelay=}"
;;
loop=*)
LOOP="${x#loop=}"
;;
loopflags=*)
LOOPFLAGS="-o ${x#loopflags=}"
;;
loopfstype=*)
LOOPFSTYPE="${x#loopfstype=}"
;;
cryptopts=*)
cryptopts="${x#cryptopts=}"
;;
nfsroot=*)
NFSROOT="${x#nfsroot=}"
;;
netboot=*)
NETBOOT="${x#netboot=}"
;;
ip=*)
IP="${x#ip=}"
;;
boot=*)
BOOT=${x#boot=}
;;
ubi.mtd=*)
UBIMTD=${x#ubi.mtd=}
;;
resume=*)
RESUME="${x#resume=}"
;;
resume_offset=*)
resume_offset="${x#resume_offset=}"
;;
noresume)
noresume=y
;;
panic=*)
panic="${x#panic=}"
case ${panic} in
*[![:digit:].]*)
panic=
;;
esac
;;
quiet)
quiet=y
;;
ro)
readonly=y
;;
rw)
readonly=n
;;
debug)
debug=y
quiet=n
exec >/run/initramfs/initramfs.debug 2>&1
set -x
;;
debug=*)
debug=y
quiet=n
set -x
;;
break=*)
break=${x#break=}
;;
break)
break=premount
;;
blacklist=*)
blacklist=${x#blacklist=}
;;
netconsole=*)
netconsole=${x#netconsole=}
;;
BOOTIF=*)
BOOTIF=${x#BOOTIF=}
;;
hwaddr=*)
BOOTIF=${x#BOOTIF=}
;;
recovery)
recovery=y
;;
esac
done
nomodeset в те же параметры ядра.
Это заблокирует загрузку модуля или просто отключит KMS у модуля nouveau?
nouveau без KMS не сможет работать, так что это заблокирует его.
nouveau без KMS не сможет работать, так что это заблокирует его.
Без kms не сможет работать драйвер xorg-server`а, а модуль загружен будет. Посмотрите выдержку из сценария init в initrd, в котором обрабатываются параметры, переданные ядру, смотрите моё предыдущее сообщение.
Параметр nomodeset не помог. Теперь черный экран. Надо было просто подождать. Теперь все ок. Параметр nomodeset помог. Спасибо.
Параметр nomodeset не помог. Теперь черный экран.
К параметрам ядра
blacklist=nouveau
После чего сработает вот этот скрипт и модули, указанные в параметре ядра blacklist будут добавлены в /etc/modprobe.d/initramfs.conf, что собственно заблокирует загрузку модуля.
#!/bin/sh
PREREQ=""
prereqs()
{
echo "$PREREQ"
}
case $1 in
# get pre-requisites
prereqs)
prereqs
exit 0
;;
esac
# blacklist vga16fb when vga= or video= given
for x in $(cat /proc/cmdline); do
case ${x} in
vga=*|video=*)
echo "blacklist vga16fb" >> /etc/modprobe.d/initramfs.conf
;;
esac
done
# sanity check
[ -z "${blacklist}" ] && exit 0
# write blacklist to modprobe.d
IFS=','
for b in ${blacklist}; do
echo "blacklist $b" >> /etc/modprobe.d/initramfs.conf
done
kostik87, сейчас протестирую.