Porting/Kernel: Difference between revisions
From Maemo Wiki
Jump to navigationJump to search
imported>pali Created page with "===================== bootreason, twl4030-adc ===================== files: /sbin/preinit /sbin/getbootstate /sbin/bsi-read TODO: finish new version of package getbootstate in c…" |
imported>pali →Porting: Add jonwil's N900 kernel usage audit |
||
| (5 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
== | == Upstream kernel with Maemo 5 == | ||
1. Kernel patches from https://github.com/pali/linux-n900 | |||
/ | |||
/ | |||
2. CSSU-Devel from http://talk.maemo.org/showthread.php?t=84292 | |||
= | 3. BME-Replacement from http://talk.maemo.org/showthread.php?t=93183 | ||
4. Fixup for wifi firmware: | |||
mkdir -p /lib/firmware/ti-connectivity | |||
/ | ln -s ../wl1251-fw.bin /lib/firmware/ti-connectivity/wl1251-fw.bin | ||
ln -s ../wl1251-nvs.bin /lib/firmware/ti-connectivity/wl1251-nvs.bin | |||
5. Fixup for Dialer application (rtcom-call-ui): | |||
Create new file /etc/event.d/userspace-fixes with content: | |||
start on started hildon-desktop | |||
hal | service | ||
console none | |||
script | |||
if ! hal-device /org/freedesktop/Hal/devices/platform_soc_audio_logicaldev_input 2> /dev/null; then | |||
hal-device --add /org/freedesktop/Hal/devices/platform_soc_audio_logicaldev_input < /dev/null | |||
hal-set-property --udi /org/freedesktop/Hal/devices/platform_soc_audio_logicaldev_input --key input.jack.type --strlist-pre "a" | |||
hal-set-property --udi /org/freedesktop/Hal/devices/platform_soc_audio_logicaldev_input --key input.jack.type --strlist-rem "a" | |||
fi | |||
end script | |||
== Porting == | |||
old paths: | ===================== | ||
/org/freedesktop/Hal/devices/platform_soc_audio_logicaldev_input | bootreason, twl4030-adc (done) | ||
===================== | |||
new paths: | |||
/org/freedesktop/Hal/devices/platform_rx51_audio_sound_card_0_logicaldev_input | files: | ||
(FIXME: will above path not chaning??) | /sbin/preinit (done) | ||
/sbin/getbootstate (done) | |||
===================== | /sbin/bsi-read (not finished, not used) | ||
gpio-switch | /etc/X11/Xsession.d/10hildon_welcome (done) | ||
===================== | /etc/init.d/fb-progress.sh (done) | ||
/usr/sbin/bme_RX-51 (done) | |||
files: | |||
/sbin/mce | old paths: | ||
/etc/event.d/cmt-act-dead | /proc/bootreason | ||
/usr/lib/mce/modules/libcamera.so | /dev/twl4030-adc | ||
/usr/sbin/softupd | |||
/usr/sbin/sscd | new paths: | ||
/usr/share/hal/fdi/policy/10osvendor/10-omap-gpio.fdi | /proc/atags | ||
/sys/class/power_supply/rx51-battery/charge_full_design | |||
old paths: | |||
/sys/devices/platform/gpio-switch/ | ===================== | ||
component_version | |||
new paths: | ===================== | ||
/sys/class/gpio/ | |||
files: | |||
FIXME: For sscd and softupd we need some LD_PRELOAD library | /etc/event.d/sgx (not needed?) | ||
/etc/init.d/softupd.rcS | |||
===================== | /etc/init.d/rcS | ||
musb_hdrc | /sbin/preinit (done) | ||
===================== | /usr/bin/testserver (not used) | ||
/usr/lib/apt/methods/http (done) | |||
files: | /usr/lib/apt/methods/https (done) | ||
sbin/mce | /usr/lib/hildon-desktop/ham-notifier-status-menu-item.so (done) | ||
usr/lib/dsme/libstate.so.0.0.0 | /usr/lib/hildon-desktop/ham-updates-status-menu-item.so (done) | ||
usr/lib/hal/hald-addon-usb-cable | /usr/lib/libossoproductinfo.so.0.7.3 (done) | ||
usr/lib/hildon-desktop/usb_plugin.so | /usr/lib/libsysinfo.so.0 | ||
usr/sbin/fmtxd | /usr/lib/mce/modules/* (done) | ||
/usr/lib/microb-engine/libxul.so (done) | |||
old paths: | /usr/sbin/hald | ||
GADGETPATH='/sys/devices/platform/musb_hdrc/gadget' | |||
LUN0='gadget-lun0' | old paths: | ||
LUN1='gadget-lun1' | /proc/component_version | ||
new paths: | new paths: | ||
GADGETPATH='/sys/devices/platform/musb-omap2430/musb-hdrc.0.auto/gadget' | /proc/cpuinfo | ||
LUN0='lun0' | |||
LUN1='lun1' | FIXME: bootmode is available only in raw /proc/atags when bootloader suppors OMAP atag table | ||
===================== | |||
hal | |||
===================== | ===================== | ||
===================== | files: | ||
usr/lib/hildon-desktop/bluetooth_headset_status_menu_item.so | |||
files: | usr/lib/librtcom-call-ui.so.0.0.0 | ||
etc/event.d/ | usr/lib/mafw-plugin/mafw-gst-renderer.so | ||
etc/event | usr/lib/telepathy/telepathy-stream-engine | ||
etc/modprobe.d/maemo.conf | usr/sbin/fmtxd | ||
/sys/devices/platform/hci_h4p/bdaddr | old paths: | ||
/org/freedesktop/Hal/devices/platform_soc_audio_logicaldev_input | |||
TODO: | |||
new paths: | |||
/org/freedesktop/Hal/devices/platform_rx51_audio_sound_card_0_logicaldev_input | |||
===================== | (FIXME: will above path not chaning??) | ||
wl12xx | |||
===================== | ===================== | ||
gpio-switch | |||
* Renamed to wl1251 | ===================== | ||
* Replace /usr/bin/wl1251-cal | |||
* Fix configuring bt coex | files: | ||
* Fix process of configuring permament mac address (maybe request_firmware ?) | /sbin/mce | ||
/etc/event.d/cmt-act-dead | |||
===================== | /usr/lib/mce/modules/libcamera.so | ||
others | /usr/sbin/softupd | ||
===================== | /usr/sbin/sscd | ||
/usr/share/hal/fdi/policy/10osvendor/10-omap-gpio.fdi | |||
/sys/kernel/reboot_mode | /opt/lib/qt4/plugins/mediaservice/libqtmedia_v4lengine.so | ||
/proc/cpuinfo (board info not available when using DT boot) | /sbin/preinit (done) | ||
/usr/bin/testserver | |||
/usr/lib/testserver/modules/handlers/* | |||
old paths: | |||
/sys/devices/platform/gpio-switch/ | |||
new paths: | |||
/sys/class/gpio/ | |||
FIXME: For sscd and softupd we need some LD_PRELOAD library | |||
===================== | |||
musb_hdrc | |||
===================== | |||
files: | |||
sbin/mce | |||
usr/lib/dsme/libstate.so.0.0.0 | |||
usr/lib/hal/hald-addon-usb-cable | |||
usr/lib/hildon-desktop/usb_plugin.so | |||
usr/sbin/fmtxd | |||
usr/lib/testserver/modules/handlers/sos_usb.so.0.0.0 | |||
usr/sbin/bme_RX-51 | |||
old paths: | |||
GADGETPATH='/sys/devices/platform/musb_hdrc/gadget' | |||
LUN0='gadget-lun0' | |||
LUN1='gadget-lun1' | |||
new paths: | |||
GADGETPATH='/sys/devices/platform/musb-omap2430/musb-hdrc.0.auto/gadget' | |||
LUN0='lun0' | |||
LUN1='lun1' | |||
looks like gadget path is changing, maybe /sys/bus is stable? | |||
GADGETPATH='/sys/bus/platform/devices/musb-hdrc.0.auto/gadget' | |||
===================== | |||
twl4030_usb | |||
===================== | |||
files: | |||
/etc/event.d/bme | |||
/sbin/mce | |||
/usr/sbin/bme_RX-51 | |||
/usr/sbin/fmtxd | |||
/usr/lib/hal/hald-addon-usb-cable | |||
/usr/lib/testserver/modules/handlers/sos_usb.so.0.0.0 | |||
old paths: | |||
/sys/class/i2c-adapter/i2c-1/1-0048/twl4030_usb/vbus | |||
new paths: | |||
/sys/class/i2c-adapter/i2c-1/1-0048/48070000.i2c:twl@48:twl4030-usb/vbus | |||
(FIXME: will above path not chaning??) | |||
===================== | |||
hci_h4p | |||
===================== | |||
files: | |||
etc/event.d/bluetooth-sysinfo | |||
etc/modprobe.d/maemo.conf | |||
usr/bin/testserver | |||
usr/lib/testserver/modules/handlers/phone_info.so.0.0.0 | |||
/sys/devices/platform/hci_h4p/bdaddr | |||
TODO: | |||
bluetooth subsystem has its own mechanism for setting mac address (need to backport new bluez tools) | |||
===================== | |||
wl12xx | |||
===================== | |||
* Renamed to wl1251 | |||
* Replace /usr/bin/wl1251-cal | |||
* Fix configuring bt coex | |||
* Fix process of configuring permament mac address (maybe request_firmware ?) | |||
* bt_coex_mode is used only in /usr/sbin/wlancond | |||
===================== | |||
others | |||
===================== | |||
/sys/kernel/reboot_mode (used by /usr/sbin/softupd) | |||
/proc/cpuinfo (board info not available when using DT boot) | |||
Upstream kernel should set reboot_mode so NOLO will know correct boot reason | |||
* touchscreen "disable" sysfs node is missing in upstream kernel | |||
* problem with default poll mask on sysfs (broke commit http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=1af3557abdef34ee036a6de4cb79e24468544b8d) | |||
hulda-child[2119]: setup_sysfs_poll:366: g_io_channel_new_file() for /sys/kernel/high_watermark failed: No such file or directory | |||
hulda-child[2119]: setup_sysfs_poll:366: g_io_channel_new_file() for /sys/kernel/low_watermark failed: No such file or directory | |||
See also N900 kernel usage audit: https://talk.maemo.org/showthread.php?t=93938 | |||
Latest revision as of 22:45, 15 January 2017
Upstream kernel with Maemo 5
1. Kernel patches from https://github.com/pali/linux-n900
2. CSSU-Devel from http://talk.maemo.org/showthread.php?t=84292
3. BME-Replacement from http://talk.maemo.org/showthread.php?t=93183
4. Fixup for wifi firmware:
mkdir -p /lib/firmware/ti-connectivity ln -s ../wl1251-fw.bin /lib/firmware/ti-connectivity/wl1251-fw.bin ln -s ../wl1251-nvs.bin /lib/firmware/ti-connectivity/wl1251-nvs.bin
5. Fixup for Dialer application (rtcom-call-ui):
Create new file /etc/event.d/userspace-fixes with content:
start on started hildon-desktop
service
console none
script
if ! hal-device /org/freedesktop/Hal/devices/platform_soc_audio_logicaldev_input 2> /dev/null; then
hal-device --add /org/freedesktop/Hal/devices/platform_soc_audio_logicaldev_input < /dev/null
hal-set-property --udi /org/freedesktop/Hal/devices/platform_soc_audio_logicaldev_input --key input.jack.type --strlist-pre "a"
hal-set-property --udi /org/freedesktop/Hal/devices/platform_soc_audio_logicaldev_input --key input.jack.type --strlist-rem "a"
fi
end script
Porting
===================== bootreason, twl4030-adc (done) ===================== files: /sbin/preinit (done) /sbin/getbootstate (done) /sbin/bsi-read (not finished, not used) /etc/X11/Xsession.d/10hildon_welcome (done) /etc/init.d/fb-progress.sh (done) /usr/sbin/bme_RX-51 (done) old paths: /proc/bootreason /dev/twl4030-adc new paths: /proc/atags /sys/class/power_supply/rx51-battery/charge_full_design ===================== component_version ===================== files: /etc/event.d/sgx (not needed?) /etc/init.d/softupd.rcS /etc/init.d/rcS /sbin/preinit (done) /usr/bin/testserver (not used) /usr/lib/apt/methods/http (done) /usr/lib/apt/methods/https (done) /usr/lib/hildon-desktop/ham-notifier-status-menu-item.so (done) /usr/lib/hildon-desktop/ham-updates-status-menu-item.so (done) /usr/lib/libossoproductinfo.so.0.7.3 (done) /usr/lib/libsysinfo.so.0 /usr/lib/mce/modules/* (done) /usr/lib/microb-engine/libxul.so (done) /usr/sbin/hald old paths: /proc/component_version new paths: /proc/cpuinfo FIXME: bootmode is available only in raw /proc/atags when bootloader suppors OMAP atag table ===================== hal ===================== files: usr/lib/hildon-desktop/bluetooth_headset_status_menu_item.so usr/lib/librtcom-call-ui.so.0.0.0 usr/lib/mafw-plugin/mafw-gst-renderer.so usr/lib/telepathy/telepathy-stream-engine usr/sbin/fmtxd old paths: /org/freedesktop/Hal/devices/platform_soc_audio_logicaldev_input new paths: /org/freedesktop/Hal/devices/platform_rx51_audio_sound_card_0_logicaldev_input (FIXME: will above path not chaning??) ===================== gpio-switch ===================== files: /sbin/mce /etc/event.d/cmt-act-dead /usr/lib/mce/modules/libcamera.so /usr/sbin/softupd /usr/sbin/sscd /usr/share/hal/fdi/policy/10osvendor/10-omap-gpio.fdi /opt/lib/qt4/plugins/mediaservice/libqtmedia_v4lengine.so /sbin/preinit (done) /usr/bin/testserver /usr/lib/testserver/modules/handlers/* old paths: /sys/devices/platform/gpio-switch/ new paths: /sys/class/gpio/ FIXME: For sscd and softupd we need some LD_PRELOAD library ===================== musb_hdrc ===================== files: sbin/mce usr/lib/dsme/libstate.so.0.0.0 usr/lib/hal/hald-addon-usb-cable usr/lib/hildon-desktop/usb_plugin.so usr/sbin/fmtxd usr/lib/testserver/modules/handlers/sos_usb.so.0.0.0 usr/sbin/bme_RX-51 old paths: GADGETPATH='/sys/devices/platform/musb_hdrc/gadget' LUN0='gadget-lun0' LUN1='gadget-lun1' new paths: GADGETPATH='/sys/devices/platform/musb-omap2430/musb-hdrc.0.auto/gadget' LUN0='lun0' LUN1='lun1' looks like gadget path is changing, maybe /sys/bus is stable? GADGETPATH='/sys/bus/platform/devices/musb-hdrc.0.auto/gadget' ===================== twl4030_usb ===================== files: /etc/event.d/bme /sbin/mce /usr/sbin/bme_RX-51 /usr/sbin/fmtxd /usr/lib/hal/hald-addon-usb-cable /usr/lib/testserver/modules/handlers/sos_usb.so.0.0.0 old paths: /sys/class/i2c-adapter/i2c-1/1-0048/twl4030_usb/vbus new paths: /sys/class/i2c-adapter/i2c-1/1-0048/48070000.i2c:twl@48:twl4030-usb/vbus (FIXME: will above path not chaning??) ===================== hci_h4p ===================== files: etc/event.d/bluetooth-sysinfo etc/modprobe.d/maemo.conf usr/bin/testserver usr/lib/testserver/modules/handlers/phone_info.so.0.0.0 /sys/devices/platform/hci_h4p/bdaddr TODO: bluetooth subsystem has its own mechanism for setting mac address (need to backport new bluez tools) ===================== wl12xx ===================== * Renamed to wl1251 * Replace /usr/bin/wl1251-cal * Fix configuring bt coex * Fix process of configuring permament mac address (maybe request_firmware ?) * bt_coex_mode is used only in /usr/sbin/wlancond ===================== others ===================== /sys/kernel/reboot_mode (used by /usr/sbin/softupd) /proc/cpuinfo (board info not available when using DT boot) Upstream kernel should set reboot_mode so NOLO will know correct boot reason * touchscreen "disable" sysfs node is missing in upstream kernel * problem with default poll mask on sysfs (broke commit http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=1af3557abdef34ee036a6de4cb79e24468544b8d) hulda-child[2119]: setup_sysfs_poll:366: g_io_channel_new_file() for /sys/kernel/high_watermark failed: No such file or directory hulda-child[2119]: setup_sysfs_poll:366: g_io_channel_new_file() for /sys/kernel/low_watermark failed: No such file or directory See also N900 kernel usage audit: https://talk.maemo.org/showthread.php?t=93938