Ядро для опытных пользователей
Расширенные ядра "kernel-power" совместимые с PR1.2 и PR1.3, содержат много дополнительных возможностей(IPv6, NAT и т.д.) и исправлений ошибок. Ядра могут быть установлены через Диспетчер приложений в разделе «Система». Ставится ядро пакетом kernel-power-settings, флешер подтянется автоматически. Есть стабильная версия в extras и экспериментальная в extras-devel.
Ядро содержит дополнительные модули для IPv6, фильтрации пакетов, QoS, NAT, туннелирования, конфигурации ядра, ячеистых Wifi сетей, встроенный ext3 для загрузки с другого носителя, ext4, XFS, ReiserFS, NTFS (чтение), ISO9660, UDF, CIFS, автомонтирование , SquashFS, UnionFS, device-mapper и dm-loop, шифрование, cryptoloop, EFI разделов, кодировки UTF8, мыши + джойстика, PPP, PPTP, последовательной поддержки, USB / IP и универсальные драйверы устройства USB, информации о заряде батареи, разгоне и поддержке kexec.
Для разгона оно включает в себя большой набор возможных частот (125MHz-1.15GHz), которые вручную устанавливаются без перепрошивки нового ядра. Значения по умолчанию установлены в стандартный диапазон частот 250-600MHz. Вы также можете настроить напряжения на устройстве для энергосбережения. Все устройства отличаются.
Установка ядра
Примечание: все команды в этом разделе должны быть запущены от root'a в X-Terminal (установите пакет rootsh и введите "sudo gainroot")
Установка стабильного ядра из extras
С этим ядром вы можете изменить пределы частот, напряжения и частоты DSP. Оно требует прошивки PR1.1 или новее.
- Установите пакет kernel-power-settings (раздел «Система» в Диспетчере приложений). Автоматически установится kernel-power-flasher.
- Перезагрузить устройство.
Установка тестового ядра из extras-devel
Это версия ядра содержит дополнительные экспериментальные возможности и патчи.
Просто включите каталог Каталоги_ПО_для_Maemo#Devel_Extras extras-devel и установите в соответствии вышеописанными инструкциями.
Проверка правильности установки
Для начала проверим, что ядро на самом деле работает:
uname -r
должен вывести "2.6.28.10power-omap1" или "2.6.28.10power<версия>-omap1". Если это не произойдет, вы должны перезагрузить устройство или попробовать установить снова
apt-get install --reinstall -y kernel-power kernel-power-flasher
Перезагрузите и повторите проверку.
Обновление с более старых версий (< maemo24)
Ядро ранее называлось kernel-flasher-maemo. К сожалению, Диспетчер приложений не поддерживает пакетые переходы. Если у вас установлен один из старых пакетов, рекомендуется обновить в X-Terminal
sudo gainroot apt-get install -y kernel-power-flasher apt-get remove kernel-flasher-maemo
Если новое ядро по-прежнему не загружается, попробуйте
apt-get install --reinstall -y kernel-power kernel-power-flasher
Кроме того, посмотрите другие советы для удаления старого пакета. Убедитесь, что вы сбросили значения /etc/pmconfig на стандартные:
# Power management configuration file enable_off_mode 1 sleep_while_idle 1 sr_vdd1_autocomp 0 sr_vdd2_autocomp 0 clocks_off_while_idle 1 voltage_off_while_idle 1 scaling_governor ondemand scaling_max_freq 600000 scaling_min_freq 125000 sleep_ind 1
Удаление
Не пытайтесь деинсталлировать пакет в Диспетчере приложений! Это не будет работать.
Простой, автоматический, потенциально небезопасный способ
- Запустите значок «Deinstall Kernel-Power» из меню.
- Выключите устройство (без подключённого USB-кабеля или зарядного устройства) и включите снова.
Сложный, ручной способ
Для всех ядер наиболее безопасным способом для деинсталляции является следующее:
- Убедитесь, что у вас есть работающее подключение к Интернету (и, возможно, немного подождите, пока загрузятся обновления).
- Убедитесь, что пакет rootsh (раздел «Система») установлен.
- Закройте Диспетчер приложений.
-
Выполните следующее в X-терминале:
sudo gainroot apt-get install --reinstall -y kernel kernel-flasher
-
Если оно завершается успешно (выводит сообщения "SIGTERM received" и "Image flashed successfully"), то можно продолжить:
apt-get remove -y kernel-power kernel-power-modules
-
После успешной деинсталляции команда
ls -l /lib/modules/current
должна показать:
... /lib/modules/current -> 2.6.28-omap1
- Выключите устройство (без подключённого USB-кабеля или зарядного устройства) и включите снова.
- Ваше устройство должно загрузить оригинальное ядро.
Прошивка оригинального ядра с компьютера
Выполните следующее на вашем компьютере ( подробнее)
flasher-3.5 -f --flash-only=kernel -R -F <firmware-image>
Файл прошивки может быть, например, RX-51_2009SE_20.2010.36-2_PR_COMBINED_MR0_ARM.bin
Обновление до новой PR
Перед обновлением, всегда создавайте резервные копии. Есть два пути обновления прошивки до нового публичного релиза (PR):
- Полная перепрошивка программного обеспечения через флешер или NSU. Это самый безопасный способ (особенно для PR1.2 и PR1.3). В этом случае вы просто переустанавливаете ядро после обновления. Параметры должны быть восстановлены из резервной копировании.
- Обновление "по воздуху": это обновление только системных компонентов устройства таким образом, что вам не нужно восстановить настройки или переустанавливать приложения.
Обновление "по воздуху": Отключите каталоги extras-devel и extras-testing. Выключите autodisconnect, если установлен. Выполните обновление. Если PR не даёт новое ядро (PR1.1.1), то всё готово. Если он дает новое ядро (PR1.1 и PR1.2), то вам придется переустановить ядро со следующими командами:
sudo gainroot apt-get install --reinstall kernel-power kernel-power-modules kernel-power-flasher
Поддержка определенной версии ядра
Если не хотите что бы ядро не обновлялась из extras-* (удержать текущую версию), то попробуйте следущее:
echo "kernel-power-flasher hold kernel-power hold kernel-power-modules hold" | dpkg --set-selections
чтобы разблокировать версию:
echo "kernel-power-flasher install kernel-power install kernel-power-modules install" | dpkg --set-selections
Возможности
В дальнейшем "kernel-config" должно быть заменено на "sudo kernel-config" или "/usr/sbin/kernel-config".
Осторожные разгон и понижение напряжения
Наберите
kernel-config load ideal
Это загрузит идеальный шаблон, в котором установлены эти натройки напряжений. Они стабильны на большинстве N900, но убедитесь в стабильной работе, проиграв несколько видео и просмотрев несколько веб-страниц.
Убедитесь, что устройство стабильно на всех частотах! Затем наберите
kernel-config default ideal
для установки идеальных настроек как настроек по умолчанию. До выполнения этой команды при каждой загрузке загружались бы стандартные настройки.
Использование kernel-config
Для просмотра текущей настройки ядра используйте:
kernel-config show
Если вы загрузили старые конфигурации, или изменили текущие настройки вручную или с помощью CPUfreqUI, вы можете сохранить текущие параметры:
kernel-config save myconfig
Это автоматически сохранит его в /home/user/.kernel/myconfig и создаcт каталог, в случае необходимости (замените myconfig на любое имя). Чтобы сохранить ее в другом месте (Зачем?) используйте абсолютные пути.
Конфигурацию (здесь myconfig) можно загрузить так:
kernel-config load myconfig
Если имя файла не является абсолютным (например, "./Myconfig"), он ищется в текущем каталоге, в /home/user/.kernel и в /usr/share/kernel-power-settings/ Без указания названия файла загрязятся настройки из /etc/default/kernel-power или /usr/share/kernel-power-settings/default НЕ ИЗМЕНЯЙТЕ файлы в /usr/share/kernel-power-settings! Это шаблоны. Имена шаблонов: default, lv, ulv, xlv, ideal, starving.
kernel-config default myconfig
копирует конфигурационный файл в /etc/default/kernel-power (или делает символическую ссылку, если это файл шаблона в /usr/share/kernel-power-settings). Если вы не укажете имя файла, текущие настройки сохраняются в файл /etc/default/kernel-power. Эти настройки загружаются во время загрузки.
kernel-config limits 250 600
устанавливает лимиты частоты на [мин, макс]. Если вы напишете "-" вместо числа, будет использоваться текущее значение. Например, "kernel-config limits - 850" меняет только верхний предел на 850 МГц.
kernel-config lock freq volt dsp
(например, 500 48 400) может быть использована для проверки стабильности напряжения и частоты DSP для данной частоты CPU. Он перезаписывает текущие настройки для этой частоты и блокирует процессор, пока вы не выполните "kernel-config unlock", чтобы разблокировать его.
Файлы настройки
Вы можете отредактировать /etc/default/kernel-power или файлы в /home/user/.kernel/. Содержание шаблона по умолчанию:
# минимальная частота MINFREQ=250 # максимальная частота MAXFREQ=600 # список конфигураций частот: "частота:напряжение,частота_dsp" FREQS="0:30,90 125:30,90 250:38,180 500:48,360 550:54,400 600:60,430 700:60,430 750:60,430 805:60,430 850:60,500 900:60,500 950:60,500 1000:60,500 1100:72,520 1150:72,520" SMARTREFLEX_VDD1=0 SMARTREFLEX_VDD2=0 GOVERNOR=ondemand UP_THRESHOLD=95 SAMPLING_RATE=300000 IGNORE_NICE_LOAD=0 POWERSAVE_BIAS=0
Последовательность загрузки
Параметры ядра загружается, только если у вас нормальная перезагрузка или включение, но не после ошибки. В этом случае в файле /etc/kernel-power/.notloaded создастся уведомление и будет показано после загрузки. Настройки будут восстановлены на следующей загрузке снова, если они не приводят к ошибке еще раз.
Батарея
В ядрах версии >=maemo20 вы можете прочитать информацию о текущем заряде батареи:
modprobe bq27x00_battery cat /sys/class/power_supply/bq27200-0/capacity cat /sys/class/power_supply/bq27200-0/voltage_now cat /sys/class/power_supply/bq27200-0/current_now cat /sys/class/power_supply/bq27200-0/temp
- 'capacity' - значение в процентах уровня заряда батареи.
- 'voltage_now' - значение в мВ уровня напряжения батареи.
- 'current_now' - значение в мА потребления тока.
- 'temp' значение в °C температуры аккумулятора.
Для удаления этого модуля ядра введите:
rmmod bq27x00_battery
или перезагрузитесь.
С kernel-power-settings >=0,6 модуль может быть загружен при загрузке системы. Просто запустите один раз:
sudo gainroot echo bq27x00_battery >> /etc/modules
Mobile hotspot
Все необходимые модули включены. Читайте это для более подробной информации.
JoikuSpot
Кажется, работает. Читать этот пост.
Поддержка CIFS
Теперь вы можете подключить сетевой диск, используя протокол CIFS.
- Создайте общий доступ к папке на вашем ПК Windows, на последних версиях Windows вам придется создать учетную запись пользователя с паролем, чтобы делиться указанной папкой, не в публичной библиотеке.
- Создайте точку монтирования (каталог), желательно в /media/, чтобы вы могли получить доступ к сетевому диска через стандартный файловый менеджер.
- Смонтируйте папку на устройстве, введя в Xterm под root'ом:
mount -t cifs //netbiosname/sharename /media/sharename -o user=winusername,pass=winpassword,ip=destip,direct
Рабочий пример:
mount -t cifs //KOPC/Users/Public /home/users/MyDocs/Share -o user=lilo,pass=1234,ip=192.168.2.2,direct
Kexec (загрузка Meego и других ядер)
Все необходимые патчи kexec включены. Читайте это и этот пост для поддержки Meego.
Параметры загрузки
Существует специальный файл /etc/default/kernel-boot с дополнительными параметрами загрузки. Эта опция требует kernel-power-settings >= 0.11 и по умолчанию отключена. Эти два параметра являются экспериментальными и могут сломать устройство! Просто установите шаблон с помощью следующих команд и измените его (по умолчанию параметры отключены):
sudo gainroot cp /usr/share/kernel-power-settings/boot /etc/default/kernel-boot
Шаблон по умолчанию выглядит следующим образом:
# boot options for kernel-power-settings # fsck of /home partition before mounting? # 0=never, 1=if necessary, force=always check FSCK_HOME=0 # start USB networking and sshd early during boot # 0=off, 1=on EARLY_SSH=0
Проверка файловой системы и восстановление /home, скрипты, запускаемые перед монтированием
См. параметры загрузки для включения этой функции. Следующие операции выполняются до монтирования /home:
- Если существует, скрипт (например, для переразбивки), находящийся в /etc/kernel-power/pre-mount.once, выполнится один раз и затем бедет удалён.
- Если FSCK_HOME включена, раздел /home (первый ext3 на eMMC) будет проверен fsck при загрузке системы.
Альтернативно:
sudo gainroot echo 1 > /etc/kernel-power/force_fsck
выполнит проверку только на следующей загрузке.
sudo gainroot echo 0 > /etc/kernel-power/force_fsck
отключает её только на следующей загрузке. Если во время проверки произойдёт перезагрузка устройства, она не будет выполняться (только) в течение следующей загрузки. Все сообщения заносятся в /etc/kernel-power/pre-mount.log
IPv6
Поддержка IPv6 включена и многие пользователи успешно пользовались им. Однако, не все приложения являются совместимыми с IPv6.
Firefox и Chromium работают с ним «из коробки».
Для включения поддержки MicroB нужно перейти по адресу «about:config» и выключить опцию network.dns.disableIPv6.
Пожалуйста, добавляйте свои испытания сюда.
PPTP
Kismet
Другие файловые системы
Ядро включает в себя поддержку многих альтернативных файловых систем (включая исправления ошибок и поддержки больших файлов в ext4). Возможно, вы захотите переразметить eMMC или SD-карту, смотрите Переразбивка памяти.
Замечания
- Даже если частота 125 МГц отключена, телефон всегда будет пытаться установить минимальную частоту до 125 МГц после телефонного звонка, но это игнорируется, если вы не разрешите 125 МГц.
- Если Вы разрешите 125 МГц, также установите IGNORE_NICE_LOAD=1
- Проблема 125 МГц.
- Установка другой версии расширенного ядра просто перезапишет старую версию.
Модули стандартного ядра сохраняются, так что вы можете просто прошить стандартное ядро по USB.
- Для включения частоты 125 МГц нужно набрать
echo > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/avoid_frequencies
Кроме того, отдельные частоты могут быть отключены
echo 125000 250000 750000 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/avoid_frequencies