Показаны сообщения с ярлыком kernel. Показать все сообщения
Показаны сообщения с ярлыком kernel. Показать все сообщения

среда, 17 августа 2016 г.

VMWare 12.1.1. на ядре 4.6.4 и 4.7


Для запуска VMWare на Ubuntu 16.04 на ядрах выше 4.2 необходимо пропатчить ядро.
Для 4.6.4 нашел в сети вот этот патч


#!/bin/bash
usr=`whoami`
if [ "$usr" != "root" ]; then
    echo "Run $0 ar superuser"
    exit 1
fi

WORKDIR=/tmp/vmw
SRCDIR=/usr/lib/vmware/modules/source
MODDIR=/lib/modules/`uname -r`/kernel/misc
mkdir $WORKDIR
mkdir $MODDIR
cp $SRCDIR/vmmon.tar $WORKDIR/
cp $SRCDIR/vmnet.tar $WORKDIR/
cd $WORKDIR
tar -xf vmmon.tar
tar -xf vmnet.tar
cd vmnet-only
# cat netif.c | sed -r 's/dev->trans_start = jiffies/netif_trans_update(dev)/g' > netif.c1
# mv netif.c1 netif.c
cat userif.c | sed -r 's/get_user_pages/get_user_pages_remote/g' > userif.c1
mv userif.c1 userif.c
make
cp *.ko $MODDIR/
cd ../vmmon-only/linux
cat hostif.c | sed -r 's/get_user_pages/get_user_pages_remote/g' > hostif.c1
mv hostif.c1 hostif.c
cd ../
make
cp *.ko $MODDIR/
depmod -a
modprobe vmnet
modprobe vmmon
rm -R $WORKDIR
Скрипт сохранить в любой каталог, дать права на исполнение и запустить под root.
Для ядер 4.6.7 этот патч не работает.

Для ядра 4.7 запускаем этот патч:
#!/bin/bash
usr=`whoami`
if [ "$usr" != "root" ]; then
  echo "Run $0 ar superuser"
  exit 1
fi
WORKDIR=/tmp/vmw
SRCDIR=/usr/lib/vmware/modules/source
MODDIR=/lib/modules/`uname -r`/kernel/misc
mkdir $WORKDIR
mkdir $MODDIR
cp $SRCDIR/vmmon.tar $WORKDIR/
cp $SRCDIR/vmnet.tar $WORKDIR/
cd $WORKDIR
tar -xf vmmon.tar
tar -xf vmnet.tar
cd vmnet-only
cat netif.c | sed -r 's/dev->trans_start = jiffies/netif_trans_update(dev)/g' > netif.c1
mv netif.c1 netif.c
cat userif.c | sed -r 's/get_user_pages/get_user_pages_remote/g' > userif.c1
mv userif.c1 userif.c
make
cp *.ko $MODDIR/
cd ../vmmon-only/linux
cat hostif.c | sed -r 's/get_user_pages/get_user_pages_remote/g' > hostif.c1
mv hostif.c1 hostif.c
cd ../
make
cp *.ko $MODDIR/
depmod -a
modprobe vmnet
modprobe vmmon
rm -R $WORKDIR
Ветка обсуждения на rutracker.

суббота, 11 августа 2012 г.

How to delete old kernels

Очень просто.
Я сохранил скрипт под именем del_old_kernels.sh

#!/bin/bash 
for K in $(ls /boot/ | grep vmlinuz | sed 's@vmlinuz-@linux-image-@g' | grep -v `uname -r`)
do
  aptitude remove $K
done
update-grub
Затем дал права скрипту на исполнение, установил aptitude и запустил скрипт.

chmod +x del_old_kernels.sh sudo apt-get install aptitude sudo ./del_old_kernels.sh

Полезные ссылки:

среда, 3 февраля 2010 г.

Работа над ошибками.

Статья Ubuntu Karmic. Устранение бага wifi power management не актуальна. В ядре 2.6.32.7 (2.6.32-02063207-generic) устранено много багов. В том числе включена поддержка powersave для iwlagn (intel 5100). После установки нового ядра нужно проверить фунциональность, как указано в конце статьи.

суббота, 16 января 2010 г.

Как смонтировать образ iso на ReadyNAS Duo.

Предистория.
В моей сети успешно трудится великолепный RAID ReadyNAS Duo.
Скачал я как то с torrents.ru библиотеку траума, которая была в виде образа iso размером 29 GB. Зачем ее разархивировать, не лучше ли ее смонтировать как файловую систему?
Но оказалось, что в штатной установке нет необходимых драйверов. На команду mount выдается вот такое сообщение:
mount: unknown filesystem type 'udf'
Это несложно исправить. Нужно всего-навсего скомпилировать недостающий модуль. Итак:

Убедиться, что уже установлено и работает подключение к устройству по ssh: http://axa-ru.blogspot.com/2009/05/telnet-readynas-duo.html

  1. Установить компилятор и необходимые бибилиотеки. (http://www.readynas.com/?p=145)
    # apt-get update # apt-get install libc6-dev gcc gdb libtag1-dev uuid-dev libncurses5-dev libglib2.0-dev
    На прошивке RAIDiator 4.1.7 [1.00a043] уже установлена библиотека uuid-dev и возможно получение ошибки ее инсталляции. В этом случае не устанавливайте uuid-dev.

  2. Загрузить и распаковать дистрибутив ядра и утилит.

    # mkdir -p /c/media/stuff/rnd # cd /c/media/stuff/rnd # wget http://www.readynas.com/download/GPL/RNR4_RND4_RND2_4.1.7_WW_src.zip # unzip RNR4_RND4_RND2_4.1.7_WW_src.zip # cd linux-2.6.17.14
  3. Настроить опции компиляции

    # make menuconfig

    File systems ---> CD-ROM/DVD Filesystems --->


  4. Установить опцию нативной компиляции
    В файле arch/padre/Makefile заменить CROSS_COMPILE = на CROSS_COMPILE ?=

  5. Скомпилировать модули ядра.

    rnd:/c/home/akhromov/staff/rnd/linux-2.6.17.8# make modules make: Circular arch/padre/kernel/asm-offsets.s <- prepare dependency dropped. HOSTCC scripts/basic/fixdep HOSTCC scripts/basic/split-include HOSTCC scripts/basic/docproc HOSTCC scripts/kconfig/conf.o HOSTCC scripts/kconfig/kxgettext.o HOSTCC scripts/kconfig/mconf.o HOSTCC scripts/kconfig/zconf.tab.o HOSTLD scripts/kconfig/conf scripts/kconfig/conf -s arch/padre/Kconfig arch/padre/Kconfig:107:warning: type of 'OBSOLETE_INTERMODULE' redefined from 'tristate' to 'boolean' arch/padre/Kconfig:180:warning: 'select' used by config symbol 'PADRE_FLASH' refer to undefined symbol 'MTD_NAND_ECC' net/bluetooth/hidp/Kconfig:4:warning: 'select' used by config symbol 'BT_HIDP' refer to undefined symbol 'INPUT' fs/Kconfig:1724:warning: 'select' used by config symbol 'CIFS_UPCALL' refer to undefined symbol 'CONNECTOR' drivers/usb/host/Kconfig:68:warning: 'select' used by config symbol 'USB_OHCI_HCD' refer to undefined symbol 'ISP1301_OMAP' drivers/usb/Kconfig:100:warning: 'select' used by config symbol 'USB_USS720' refer to undefined symbol 'PARPORT_NOT_PC' drivers/usb/misc/sisusbvga/Kconfig:18:warning: 'select' used by config symbol 'USB_SISUSBVGA_CON' refer to undefined symbol 'FONT_8x16' drivers/usb/gadget/Kconfig:161:warning: 'select' used by config symbol 'USB_GADGET_OMAP' refer to undefined symbol 'ISP1301_OMAP' # # using defaults found in .config # SPLIT include/linux/autoconf.h -> include/config/* HOSTCC scripts/genksyms/genksyms.o HOSTCC scripts/genksyms/lex.o HOSTCC scripts/genksyms/parse.o HOSTLD scripts/genksyms/genksyms CC scripts/mod/empty.o HOSTCC scripts/mod/mk_elfconfig MKELF scripts/mod/elfconfig.h HOSTCC scripts/mod/file2alias.o HOSTCC scripts/mod/modpost.o HOSTCC scripts/mod/sumversion.o HOSTLD scripts/mod/modpost HOSTCC scripts/kallsyms CHK include/linux/version.h CC arch/padre/kernel/asm-offsets.s CHK include/asm-padre/asm_offsets.h UPD include/asm-padre/asm_offsets.h GEN include/asm-padre/asm-offsets.h CC [M] fs/fat/cache.o CC [M] fs/fat/dir.o CC [M] fs/fat/fatent.o CC [M] fs/fat/file.o CC [M] fs/fat/inode.o CC [M] fs/fat/misc.o LD [M] fs/fat/fat.o CC [M] fs/fuse/dev.o CC [M] fs/fuse/dir.o CC [M] fs/fuse/file.o CC [M] fs/fuse/inode.o CC [M] fs/fuse/control.o fs/fuse/control.c: In function `fuse_ctl_add_dentry': fs/fuse/control.c:100: warning: assignment discards qualifiers from pointer target type LD [M] fs/fuse/fuse.o CC [M] fs/hfs/bitmap.o CC [M] fs/hfs/bfind.o CC [M] fs/hfs/bnode.o CC [M] fs/hfs/brec.o CC [M] fs/hfs/btree.o CC [M] fs/hfs/catalog.o CC [M] fs/hfs/dir.o CC [M] fs/hfs/extent.o CC [M] fs/hfs/inode.o CC [M] fs/hfs/attr.o CC [M] fs/hfs/mdb.o CC [M] fs/hfs/part_tbl.o CC [M] fs/hfs/string.o CC [M] fs/hfs/super.o CC [M] fs/hfs/sysdep.o CC [M] fs/hfs/trans.o LD [M] fs/hfs/hfs.o CC [M] fs/hfsplus/super.o CC [M] fs/hfsplus/options.o CC [M] fs/hfsplus/inode.o CC [M] fs/hfsplus/ioctl.o CC [M] fs/hfsplus/extents.o CC [M] fs/hfsplus/catalog.o CC [M] fs/hfsplus/dir.o CC [M] fs/hfsplus/btree.o CC [M] fs/hfsplus/bnode.o CC [M] fs/hfsplus/brec.o CC [M] fs/hfsplus/bfind.o CC [M] fs/hfsplus/tables.o CC [M] fs/hfsplus/unicode.o CC [M] fs/hfsplus/wrapper.o CC [M] fs/hfsplus/bitmap.o CC [M] fs/hfsplus/part_tbl.o LD [M] fs/hfsplus/hfsplus.o CC [M] fs/isofs/namei.o CC [M] fs/isofs/inode.o CC [M] fs/isofs/dir.o CC [M] fs/isofs/util.o CC [M] fs/isofs/rock.o CC [M] fs/isofs/export.o CC [M] fs/isofs/joliet.o CC [M] fs/isofs/compress.o LD [M] fs/isofs/isofs.o CC [M] fs/msdos/namei.o LD [M] fs/msdos/msdos.o CC [M] fs/nls/nls_cp437.o CC [M] fs/nls/nls_cp850.o CC [M] fs/nls/nls_cp852.o CC [M] fs/nls/nls_cp866.o CC [M] fs/nls/nls_cp932.o CC [M] fs/nls/nls_euc-jp.o CC [M] fs/nls/nls_cp936.o CC [M] fs/nls/nls_cp949.o CC [M] fs/nls/nls_cp950.o CC [M] fs/udf/balloc.o CC [M] fs/udf/dir.o CC [M] fs/udf/file.o CC [M] fs/udf/ialloc.o CC [M] fs/udf/inode.o CC [M] fs/udf/lowlevel.o CC [M] fs/udf/namei.o CC [M] fs/udf/partition.o CC [M] fs/udf/super.o CC [M] fs/udf/truncate.o CC [M] fs/udf/symlink.o CC [M] fs/udf/fsync.o CC [M] fs/udf/crc.o CC [M] fs/udf/directory.o CC [M] fs/udf/misc.o CC [M] fs/udf/udftime.o CC [M] fs/udf/unicode.o LD [M] fs/udf/udf.o CC [M] fs/vfat/namei.o LD [M] fs/vfat/vfat.o CC [M] drivers/block/aoe/aoeblk.o CC [M] drivers/block/aoe/aoechr.o CC [M] drivers/block/aoe/aoecmd.o CC [M] drivers/block/aoe/aoedev.o CC [M] drivers/block/aoe/aoemain.o CC [M] drivers/block/aoe/aoenet.o LD [M] drivers/block/aoe/aoe.o CC [M] drivers/net/mii.o CC [M] drivers/net/8139too.o drivers/net/8139too.c: In function `__rtl8139_cleanup_dev': drivers/net/8139too.c:721: warning: implicit declaration of function `ioport_unmap' drivers/net/8139too.c: In function `rtl8139_init_board': drivers/net/8139too.c:837: warning: implicit declaration of function `ioport_map' drivers/net/8139too.c:837: warning: assignment makes pointer from integer without a cast CC [M] drivers/net/r8169.o CC [M] drivers/net/e1000/e1000_main.o CC [M] drivers/net/e1000/e1000_hw.o CC [M] drivers/net/e1000/e1000_ethtool.o CC [M] drivers/net/e1000/e1000_param.o LD [M] drivers/net/e1000/e1000.o CC [M] drivers/net/wireless/rt2500/rtmp_main.o drivers/net/wireless/rt2500/rtmp_main.c:89: warning: `wireless_hotplug' defined but not used CC [M] drivers/net/wireless/rt2500/mlme.o CC [M] drivers/net/wireless/rt2500/connect.o CC [M] drivers/net/wireless/rt2500/sync.o CC [M] drivers/net/wireless/rt2500/assoc.o CC [M] drivers/net/wireless/rt2500/auth.o CC [M] drivers/net/wireless/rt2500/auth_rsp.o CC [M] drivers/net/wireless/rt2500/rtmp_data.o CC [M] drivers/net/wireless/rt2500/rtmp_init.o CC [M] drivers/net/wireless/rt2500/sanity.o CC [M] drivers/net/wireless/rt2500/rtmp_wep.o CC [M] drivers/net/wireless/rt2500/rtmp_info.o CC [M] drivers/net/wireless/rt2500/eeprom.o CC [M] drivers/net/wireless/rt2500/rtmp_tkip.o CC [M] drivers/net/wireless/rt2500/wpa.o CC [M] drivers/net/wireless/rt2500/md5.o LD [M] drivers/net/wireless/rt2500/rt2500.o CC [M] drivers/scsi/scsi.o CC [M] drivers/scsi/hosts.o CC [M] drivers/scsi/scsi_ioctl.o CC [M] drivers/scsi/constants.o CC [M] drivers/scsi/scsicam.o CC [M] drivers/scsi/scsi_error.o CC [M] drivers/scsi/scsi_lib.o CC [M] drivers/scsi/scsi_scan.o CC [M] drivers/scsi/scsi_sysfs.o CC [M] drivers/scsi/scsi_devinfo.o CC [M] drivers/scsi/scsi_sysctl.o CC [M] drivers/scsi/scsi_proc.o CC [M] drivers/scsi/sd.o LD [M] drivers/scsi/scsi_mod.o LD [M] drivers/scsi/sd_mod.o CC [M] drivers/scsi/sg.o CC [M] drivers/usb/class/usblp.o CC [M] drivers/usb/host/ehci-hcd.o CC [M] drivers/usb/host/uhci-hcd.o CC [M] drivers/usb/input/hid-core.o CC [M] drivers/usb/input/hiddev.o LD [M] drivers/usb/input/usbhid.o CC [M] drivers/usb/misc/usbtest.o CC [M] drivers/usb/net/rtl8150.o CC [M] drivers/usb/storage/scsiglue.o CC [M] drivers/usb/storage/protocol.o CC [M] drivers/usb/storage/transport.o CC [M] drivers/usb/storage/usb.o CC [M] drivers/usb/storage/initializers.o CC [M] drivers/usb/storage/shuttle_usbat.o CC [M] drivers/usb/storage/sddr09.o CC [M] drivers/usb/storage/sddr55.o CC [M] drivers/usb/storage/freecom.o CC [M] drivers/usb/storage/dpcm.o CC [M] drivers/usb/storage/datafab.o CC [M] drivers/usb/storage/jumpshot.o CC [M] drivers/usb/storage/alauda.o LD [M] drivers/usb/storage/usb-storage.o CC [M] lib/zlib_inflate/infblock.o CC [M] lib/zlib_inflate/infcodes.o CC [M] lib/zlib_inflate/inffast.o CC [M] lib/zlib_inflate/inflate.o CC [M] lib/zlib_inflate/inflate_sync.o CC [M] lib/zlib_inflate/inftrees.o CC [M] lib/zlib_inflate/infutil.o CC [M] lib/zlib_inflate/inflate_syms.o LD [M] lib/zlib_inflate/zlib_inflate.o Building modules, stage 2. MODPOST CC drivers/block/aoe/aoe.mod.o LD [M] drivers/block/aoe/aoe.ko CC drivers/net/8139too.mod.o LD [M] drivers/net/8139too.ko CC drivers/net/e1000/e1000.mod.o LD [M] drivers/net/e1000/e1000.ko CC drivers/net/mii.mod.o LD [M] drivers/net/mii.ko CC drivers/net/r8169.mod.o LD [M] drivers/net/r8169.ko CC drivers/net/wireless/rt2500/rt2500.mod.o LD [M] drivers/net/wireless/rt2500/rt2500.ko CC drivers/scsi/scsi_mod.mod.o LD [M] drivers/scsi/scsi_mod.ko CC drivers/scsi/sd_mod.mod.o LD [M] drivers/scsi/sd_mod.ko CC drivers/scsi/sg.mod.o LD [M] drivers/scsi/sg.ko CC drivers/usb/class/usblp.mod.o LD [M] drivers/usb/class/usblp.ko CC drivers/usb/host/ehci-hcd.mod.o LD [M] drivers/usb/host/ehci-hcd.ko CC drivers/usb/host/uhci-hcd.mod.o LD [M] drivers/usb/host/uhci-hcd.ko CC drivers/usb/input/usbhid.mod.o LD [M] drivers/usb/input/usbhid.ko CC drivers/usb/misc/usbtest.mod.o LD [M] drivers/usb/misc/usbtest.ko CC drivers/usb/net/rtl8150.mod.o LD [M] drivers/usb/net/rtl8150.ko CC drivers/usb/storage/usb-storage.mod.o LD [M] drivers/usb/storage/usb-storage.ko CC fs/fat/fat.mod.o LD [M] fs/fat/fat.ko CC fs/fuse/fuse.mod.o LD [M] fs/fuse/fuse.ko CC fs/hfs/hfs.mod.o LD [M] fs/hfs/hfs.ko CC fs/hfsplus/hfsplus.mod.o LD [M] fs/hfsplus/hfsplus.ko CC fs/isofs/isofs.mod.o LD [M] fs/isofs/isofs.ko CC fs/msdos/msdos.mod.o LD [M] fs/msdos/msdos.ko CC fs/nls/nls_cp437.mod.o LD [M] fs/nls/nls_cp437.ko CC fs/nls/nls_cp850.mod.o LD [M] fs/nls/nls_cp850.ko CC fs/nls/nls_cp852.mod.o LD [M] fs/nls/nls_cp852.ko CC fs/nls/nls_cp866.mod.o LD [M] fs/nls/nls_cp866.ko CC fs/nls/nls_cp932.mod.o LD [M] fs/nls/nls_cp932.ko CC fs/nls/nls_cp936.mod.o LD [M] fs/nls/nls_cp936.ko CC fs/nls/nls_cp949.mod.o LD [M] fs/nls/nls_cp949.ko CC fs/nls/nls_cp950.mod.o LD [M] fs/nls/nls_cp950.ko CC fs/nls/nls_euc-jp.mod.o LD [M] fs/nls/nls_euc-jp.ko CC fs/udf/udf.mod.o LD [M] fs/udf/udf.ko CC fs/vfat/vfat.mod.o LD [M] fs/vfat/vfat.ko CC lib/zlib_inflate/zlib_inflate.mod.o LD [M] lib/zlib_inflate/zlib_inflate.ko rnd:/c/home/akhromov/staff/rnd/linux-2.6.17.8#

  6. Установить драйверы.

    # mkdir /lib/modules/2.6.17.14ReadyNAS/kernel/fs/udf # mkdir /lib/modules/2.6.17.14ReadyNAS/kernel/lib # mkdir /lib/modules/2.6.17.14ReadyNAS/kernel/fs/isofs # cp /media/staff/rnd/linux-2.6.17.14/fs/udf/udf.ko /lib/modules/2.6.17.14ReadyNAS/kernel/fs/udf # cp /media/staff/rnd/linux-2.6.17.14/lib/zlib_inflate/zlib_inflate.ko /lib/modules/2.6.17.14ReadyNAS/kernel # cp /media/staff/rnd/linux-2.6.17.14/fs/isofs/isofs.ko /lib/modules/2.6.17.14ReadyNAS/kernel/fs/isofs # insmod /lib/modules/2.6.17.14ReadyNAS/kernel/fs/udf/udf.ko # insmod /lib/modules/2.6.17.14ReadyNAS/kernel/zlib_inflate.ko # insmod /lib/modules/2.6.17.14ReadyNAS/kernel/fs/isofs/isofs.ko

Собственно теперь можно и смонтировать образ iso диска (для этого я все и затевал)
# mkdir /c/media/traum # mount -o loop /media/Book/Traum.213.lrf/traum_2.13_lrf.iso /c/media/traum
Все. Теперь по smb доступен наш архив .iso



Получить доступ с рабочей станции из под gnome через nfs я пока не смог.
Знающие люди говорят это баг в ядре: http://www.linux.org.ru/view-message.jsp?msgid=4461325&lastmod=1264089416813.
Если у кого есть соображения - буду признателен.

Если нет подходящей темы, открывайте новую.

суббота, 14 ноября 2009 г.

В репозитории Ubuntu вышло новое стабильное ядро с номером v2.6.31.6.

Устанавливается как обычно.
$ wget -c http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.31.6/linux-headers-2.6.31-02063106_2.6.31-02063106_all.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.31.6/linux-headers-2.6.31-02063106-generic_2.6.31-02063106_i386.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.31.6/linux-image-2.6.31-02063106-generic_2.6.31-02063106_i386.deb $ sudo dpkg -i linux-headers-2.6.31-02063106_2.6.31-02063106_all.deb linux-headers-2.6.31-02063106-generic_2.6.31-02063106_i386.deb linux-image-2.6.31-02063106-generic_2.6.31-02063106_i386.deb

Улучшены скорость загрузки и остановки, которые составляют сейчас 30 и 16 секунд (на моей машинке).

Из минусов перестает работать управление яркостью по горячим клавишам.

Если нет подходящей темы, открывайте новую.

среда, 16 сентября 2009 г.

x200s. 2 бага после установки ядра 2.6.30

После установки нового ядра возникло 2 бага
  1. Яркость дисплея регулируется с очень мелким шагом
    Вроде как, причина здесь в установке параметров xrand BACKLIGHT_CONTROL.
    После загрузки он принимает значение combination

    Чтобы исправить это, нужно выполнить следующую команду:
    $ xrandr --output LVDS --set BACKLIGHT_CONTROL legacy
  2. При работе от батареи яркость дисплея уменьшается через 30 секунд
    Здесь причина - gnome-screensaver
    HOWTO: Replace gnome-screensaver with xscreensaver

четверг, 10 сентября 2009 г.

x200s. HowTo

Как включить trackpoint scroll в Ubuntu 8.10,9.04 и 9.10

http://psung.blogspot.com/2008/09/scrolling-with-thinkpads-trackpoint-in.html

четверг, 6 августа 2009 г.

x200s/x220. Увеличение времени работы от батарей.

Статья в процессе . . .
По мере обнаружения новых возможностей я буду редактировать эту статью.
В настоящее время весь материал проверен и дал положительные результаты.
Если есть вопросы, предложения, замечания - задавайте. Всегда рад обсудить.

Что у нас есть?
  • Lenovo ThinkPad x200s 74663TG. Проверено на Ubuntu 9.04, 9.10, 10.04, 10.10
  • Lenovo ThinkPad x220 4290RW1. Проверено на Ubuntu 11.04, 11.10

Видно, что разработчиками ядра была проведена работа по уменьшению потребления энергии. Мне удалось настроить систему так, что на Lenovo Thinkpad x200s с ядром 2.6.35-31-generic-pae при включенном wi-fi и запущеном firefox в idle минимальное потребление составляло 4.1 Вт. Типичное - около 5 Вт.


Для Lenovo Thinkpad x220 4290RW1 под Ubuntu 11.04 с ядром 2.6.38 показатели чуть скромнее: около 8,3 Вт. Типичный уровень потребления 9 Вт. Это лучше чем в Windows 7, где потребление составляет 10-11 Вт.
На скриншоте ниже показан powertop и snapshot Power Manager, сделанный из под Windows7.


Для той же Lenovo Thinkpad x220 4290RW1 под Ubuntu 11.10 с ядром 3.0.0.13: около 7 Вт. Типичный уровень потребления 9 Вт.



Для той же Lenovo Thinkpad x220 4290RW1 под Ubuntu 11.10 с кастомным ядром 3.1.5-pf.: около 6 Вт. Типичный уровень потребления 8 Вт.


Игра Emilia Pinball дает потребляемую мощность около 21 Вт. Я думаю, столько же даст Quake.

Теория и исследования


Что делать?

  1. Обновить BIOS
  2. Отключить в BIOS неиспользуемые устройства

  3. Установить новое ядро
  4. Настроить x server (xorg.conf)
  5. Настроить режимы видеокарты
  6. Перенести временные файлы в RAM
  7. Отключить запись логов
  8. Для SSD минимизировать запись на диск.
  9. Настроить laptop_mode (Ubuntu 9.04) или pm-utils (≥ 9.10).
  10. Включить управление скоростью вентилятора.
  11. Настроить работу программ
  12. Отключить некритичные сервисы.
  13. Если возможно, настроить точку доступа.



Полезные ссылки:


Upd 04/11/2011

пятница, 24 июля 2009 г.

Установка ядра 2.6.30 ubuntu

(Продолжение. Начало статьи)

Хотя эта статья была актуальна для Ubuntu версии до 10.04, я решил ее оставить в ознакомительных целях.
... и как оказалось не зря.

Не все ёгурты одинаково полезны ядра одинаково расходуют электричество. Совсем недавно известный линуксовый сайт Phoronix провел пару исследований о зависимости расхода электричества от верси ядра:

Как видно из представленного графика лучшее, с точки зрения сохранения энергии, ядро 2.6.34. Но оно достаточно старое и может не поддерживать новое оборудование. Поскольку "нужно ехать, а не шашечки" стоит попробавть это ядро.
К сожалению в моем Thinkpad x220 с этим ядром не определился адаптер дисплея, клавиатура и bluetooth.
А в x200s оно работает очень хорошо.

В ядрах поставляемых с Ubuntu 10.10, 11.04 отключен флаг CONFIG_PM_ADVANCED_DEBUG этот флаг позволяет программам типа powertop собирать дополнительную диагностическую информацию. Чтобы установить этот флаг нужно ядро перекомпилировать.

Установка ядра из архива ubuntu


Наиболее простой, надежный и предпочтительный способ.

Выберите приглянувшееся ядро из архива http://kernel.ubuntu.com/~kernel-ppa/mainline

$ wget -c \ http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.30.5/linux-headers-2.6.30-02063005_2.6.30-02063005_all.deb \ http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.30.5/linux-headers-2.6.30-02063005-generic_2.6.30-02063005_i386.deb \ http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.30.5/linux-image-2.6.30-02063005-generic_2.6.30-02063005_i386.deb $ sudo dpkg -i \ linux-headers-2.6.30-02063005_2.6.30-02063005_all.deb \ linux-headers-2.6.30-02063005-generic_2.6.30-02063005_i386.deb \ linux-image-2.6.30-02063005-generic_2.6.30-02063005_i386.deb


Компиляция ядра


В нашем случае смысла не имеет. Большинство патчей, указанных в http://www.lesswatts.org/ уже присутствуют в новом ядре. А те, которые не включены - на потребление влияют слабо.
Все течет, все меняется. И поменялось мое отношение к необходимости компиляции ядра. В борьбе за ватты у меня на ядре 3.1 с патчем 3.1.5-pf получилось потребление в режиме idle чуть больше 6 Вт.


Инструкция по копиляции с наложением указанного патча находится здесь: HowTo: Собираем ядро 3.1 с патчами pf-kernel.
Патч здесь: patch-3.1.5.bz2


Полезные ссылки: