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 ==
bootreason, twl4030-adc
=====================


files:
1. Kernel patches from https://github.com/pali/linux-n900
/sbin/preinit
/sbin/getbootstate
/sbin/bsi-read


TODO: finish new version of package getbootstate in cssu
2. CSSU-Devel from http://talk.maemo.org/showthread.php?t=84292


=====================
3. BME-Replacement from http://talk.maemo.org/showthread.php?t=93183
component_version
=====================


files:
4. Fixup for wifi firmware:
/etc/event.d/sgx
/etc/init.d/softupd.rcS
/etc/init.d/rcS


old paths:
mkdir -p /lib/firmware/ti-connectivity
/proc/component_version
ln -s ../wl1251-fw.bin /lib/firmware/ti-connectivity/wl1251-fw.bin
ln -s ../wl1251-nvs.bin /lib/firmware/ti-connectivity/wl1251-nvs.bin


new paths:
5. Fixup for Dialer application (rtcom-call-ui):
/proc/cpuinfo


FIXME: bootmode is available only in raw /proc/atags when bootloader suppors OMAP atag table
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


files:
== Porting ==
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
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
 
TODO: Need to RE usb_plugin.so library
=====================
 
hal
=====================
=====================
hci_h4p
=====================
files:
 
usr/lib/hildon-desktop/bluetooth_headset_status_menu_item.so
files:
usr/lib/librtcom-call-ui.so.0.0.0
etc/event.d/bluetooth-sysinfo
usr/lib/mafw-plugin/mafw-gst-renderer.so
etc/event.replace.d/bluetooth-sysinfo
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:
possibly use request_firmware in kernel driver for asking for mac address
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