Hi,
The Linaro team is pleased to announce the availability of the 11.05
Beta-2 images. These are still early developer images but we encourage
all with supported hardware to use and test them by downloading from:
http://releases.linaro.org/platform/linaro-n/
Highlights of this release include:
* This milestone includes a first release of the Linaro Android
evaluation images for Beagle XM and Panda.
* Efforts from the Android team include:
* Generic AOSP builds with Linaro components.
* The Linaro Android 2.6.38 kernel.
* Toolchain packages based on Linaro toolchain release of March.
Initial benchmarks for this toolchain can be found at
https://wiki.linaro.org/JimHuang/Sandbox/LinaroToolchainAndroidBenchmarking
* An Android platform code branch for direct evaluation of the
Linaro toolchain.
* Initial low hanging fruit optimisations; integrated and upstreamed
to AOSP (16 patch sets currently).
* Mouse support for developer convenience on the Panda image.
* The 0xBenchmark package comes pre-integrated into the builds for
benchmarking and demos.
* Four images based on Ubuntu 11.04 including ubuntu-desktop, nano,
developer and ALIP.
* linaro-image-tools support for installing Android images on an SDcard
* Support for 11 different developer boards including the newly added
Freescale iMX53 LoCo board.
Using the Android-based images
=============================
The Android-based images come in three parts, system, userdata and boot.
These need to be combined to form a complete Android install. For an
explanation of how to do this please see:
https://wiki.linaro.org/Platform/Android/InstallImages
If you are interested in getting the source and building these images
yourself please see the following pages:
https://wiki.linaro.org/Platform/Android/GetSourcehttps://wiki.linaro.org/Platform/Android/BuildSource
Using the Ubuntu-based images
=============================
The Ubuntu-based images consist of two parts. A hardware pack which can
be found under the ./hwpacks directory which contains hardware specific
packages such as the kernel and bootloader. The second part is the roofs
which is combined with the hardware pack to create a complete image. For
information on how to create an image please see:
http://wiki.linaro.org/Releases/MilestoneBuilds
Comparisons
===========
A comparison of packages from the ubuntu-desktop beta and beta2 images
can be found at:
http://people.linaro.org/~jamiebennett/comparisons/comparisons-linaro-11.05…
Getting involved
================
More information on Linaro in general and the 11.05 plans can be
found at:
* Homepage: http://www.linaro.org
* Wiki: http://wiki.linaro.org
* 11.05: http://wiki.linaro.org/Releases/1105
Also subscribe to the important Linaro mailing lists and join our IRC
channels to stay on top of Linaro developments:
* Announcements:
http://lists.linaro.org/mailman/listinfo/linaro-announce
* Development:
http://lists.linaro.org/mailman/listinfo/linaro-dev
* IRC:
#linaro on irc.linaro.org or irc.freenode.net
#linaro-android irc.linaro.org or irc.freenode.net
Issues with this release
========================
For any errata issues please see:
http://wiki.linaro.org/Releases/1105/Beta2#Issues
Bug reports for this release should be filed in Launchpad against the
individual packages that are affected, if a suitable package cannot be
identified, feel free to assign them to:
http://www.launchpad.net/linaro
Regards,
Jamie.
--
Linaro Release Manager | Platform Project Manager
Hi,
https://bugs.launchpad.net/ubuntu/+source/linux-ti-omap4/+bug/633227
seems to suggest we can now use 1GB of RAM on a Panda board.
Creating a new image using the following images and hwpacks for my Panda :
BOARD=panda linaro-media-create --rootfs ext4 --mmc /dev/mmcblk1
--binary linaro-n-developer-tar-20110426-0.tar.gz --hwpack
hwpack_linaro-panda_20110426-0_armel_supported.tar.gz --dev panda
I see that :
root@linaro:~# uname -a
Linux liliput-panda 2.6.38-1002-linaro-omap #3-Ubuntu SMP Fri Apr 15
14:00:54 UTC 2011 armv7l armv7l armv7l GNU/Linux
root@linaro:~# free -m
total used free shared buffers cached
Mem: 662 538 123 0 14 494
-/+ buffers/cache: 30 631
Swap: 0 0 0
Is there something else that I'm missing here ?
cheers
Ramana
On behalf of the Linaro Infrastructure team I'm pleased to announce the
release of Linaro Image Tools 0.4.5.
Linaro Image Tools offer a set of tools for use with Linaro images.
This release features installing Linaro Android images. These images can
be found on https://android-build.linaro.org/
Please note that Android image support still is considered experimental,
meaning that the command line interface is subject to change.
The source tarball is available from:
https://launchpad.net/linaro-image-tools/trunk/0.4.5
Thanks,
Mattias Backman
Tegra's I2C driver has a unique feature built in (although not mainlined
yet); it can multiplex the I2C bus onto different sets of pins using the
Tegra pinmux module, and hence can register more than 1 I2C bus with the
I2C core for each controller. The exact number of busses registers, and
the pinmux settings to be used, are provided by platform data. See:
http://git.chromium.org/git/kernel-next.git chromeos-2.6.38
include/linux/i2c-tegra.h
arch/arm/mach-tegra/board-seaboard.c
If I understand the direction of devicetree on ARM, there should be a
single devicetree node for the Tegra I2C controller, which will get
matched up with a static platform device registration in e.g.
mach-tegra/board-dt.c
I can easily see how to provide the appropriate platform data to the
Tegra I2C driver, by definining the appropriate fields in a custom
devicetree binding.
To cater for the multiple child busses, the simplest solution seems to
be to define each child node's reg property to be a tuple, <sub_bus_id,
i2c_address> (c.f. existing <i2c_address>). E.g.:
IIC0: i2c@00000000 {
compatible = "nvidia,tegra250-iic";
#address-cells = <2>;
#size-cells = <0>;
bus_muxes = <pinmuxid_1 pinmux_value_1 pinmuxid_2 pinmux_value_2>;
rtc@68 {
compatible = "stm,m41t80";
reg = <0 0x68>;
};
sttm@48 {
compatible = "ad,ad7414";
reg = <1 0x48>;
};
};
The problem is then that of_i2c_register_devices won't work well for the
Tegra I2C controller, since it enforces that each child node's reg
property be a single value, the I2C address.
To solve this, should we:
a) Have each mux'd bus have a separate devicetree node underneath the
main I2C device, e.g.:
IIC0: i2c@00000000 {
compatible = "nvidia,tegra250-iic";
// @0 doesn't really end up matching a
// reg property within the child though
bus@0 {
#address-cells = <1>;
#size-cells = <0>;
pinmux_group = <N>;
pinmux_value = <M>;
rtc@68 {
compatible = "stm,m41t80";
reg = <0x68>;
};
}
bus@1 {
#address-cells = <1>;
#size-cells = <0>;
pinmux_group = <N>;
pinmux_value = <M>;
sttm@48 {
compatible = "ad,ad7414";
reg = <0x48>;
};
}
};
Then, the bus@0 or bus@1 nodes could be placed into adap->dev.of_node,
since the devices are hung off there.
b)
Implement custom devicetree child enumeration code in the Tegra I2C
driver to replace of_i2c_register_devices, which implements the
two-entry reg format. The first devicetree example in this email could
then be used.
c)
Perhaps remove the bus mux functionality from the Tegra I2C driver, and
implement a separate I2C mux driver for it.
I'm not sure if devicetree has a defined representation for I2C bus
muxes, and even if it does, since the mux control isn't accessed by I2C
registers (as most standalone I2C bus muxes are), but rather Tegra-
specific pinmux API calls, I'm not quite sure how to represent it in
device-tree.
Thanks for any thoughts!
--
nvpublic
Enclosed you'll find a link to the agenda, notes and actions from the
Linaro Developer Platforms Weekly Status meeting held on April 27th
in #linaro-meeting on irc.freenode.net at 15:00 UTC.
https://wiki.linaro.org/Platform/DevPlatform/Meetings/2011-04-27
Action carried over was:
* hrw to write improved test cases for QA tracker, to cover
https://wiki.linaro.org/Platform/Ubuntu/EvaluationBuild/MemberDeliverables
New Actions:
* tgall_foo to seed a wiki page to discuss how to approach 1111 TR P1
(LEB as base for product builders)
Regards,
Tom (tgall_foo)
Developer Platforms Team
"We want great men who, when fortune frowns will not be discouraged."
- Colonel Henry Knox
w) tom.gall att linaro.org
w) tom_gall att vnet.ibm.com
h) tom_gall att mac.com
Enclosed you'll find a link to the agenda, minutes, actions and IRC logs
from the
Linaro kernel working group weekly meetings of April 25, 2011.
https://wiki.linaro.org/WorkingGroups/Kernel/Meetings/2011-04-25
== Summary ==
* Introduce Deepak Saxena (AKA dsaxena1), who will be taking over the
Kernel WG lead starting on May 1st.
* Cycle 11.11 planning - See
https://wiki.linaro.org/Cycles/1111/TechnicalTopics/Kernel for technical
requirements description
* K9 One UDS Session for Improve Linux Kernel RAS
* K8 One UDS session for Improve Linux Kernel General Performance
* K7 One UDS session for Improve Linux Storage performance
* K6 One UDS session for monthly releases to be combined with validation
discussion - Nico & Paul Larson
* K5 One UDS session Standard Architecture and H/W support - Nico, Dave,
Tixy
* K4 Android - John
* K3 boot architecture Grant already registered a session
* K2 Grant is covering the sessions
* K1 One UDS session for planning
* K1.1 5 daily sessions for ARM / Linux interface 1.5-3 hours each (as a
mini-summit)
* Paul to cover for John at UDS
Regards,
Mounir
Otherwise, some applications which expect touchscreen device would crash
due to lacking of related resources.
This change is essential to LEB.
---
tasks/fake-ts/Android.mk | 29 +++++++++++++++++
tasks/fake-ts/fake-ts.c | 76 ++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 105 insertions(+), 0 deletions(-)
create mode 100644 tasks/fake-ts/Android.mk
create mode 100644 tasks/fake-ts/fake-ts.c
diff --git a/tasks/fake-ts/Android.mk b/tasks/fake-ts/Android.mk
new file mode 100644
index 0000000..27a9298
--- /dev/null
+++ b/tasks/fake-ts/Android.mk
@@ -0,0 +1,29 @@
+# Copyright (C) 2011 Linaro Ltd.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LOCAL_PATH:= $(call my-dir)
+
+ifneq ($(TARGET_SIMULATOR),true)
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := faketsd
+LOCAL_MODULE_TAGS := optional
+
+LOCAL_SRC_FILES := fake-ts.c
+LOCAL_PRELINK_MODULE := false
+
+include $(BUILD_EXECUTABLE)
+
+endif # !TARGET_SIMULATOR
diff --git a/tasks/fake-ts/fake-ts.c b/tasks/fake-ts/fake-ts.c
new file mode 100644
index 0000000..b5ec551
--- /dev/null
+++ b/tasks/fake-ts/fake-ts.c
@@ -0,0 +1,76 @@
+/*
+ * Copyright (C) 2009 0xlab - http://0xlab.org/
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
+ * express or implied.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ */
+
+#include <stdio.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <string.h>
+
+#include <linux/uinput.h>
+
+/* look up source file system/core/init/devices.c for exact node */
+#define UINPUT_DEV "/dev/uinput"
+
+#define DEV_NAME "Fake Touchscreen"
+
+static int uinput_fd = 0;
+
+static void uinput_touch_init(const char* uinput_dev,
+ const char* dev_name)
+{
+ struct uinput_user_dev dev;
+
+ uinput_fd = open(uinput_dev, O_WRONLY);
+ if (uinput_fd <= 0) {
+ perror("Error opening uinput device.\n");
+ return;
+ }
+ memset(&dev, 0, sizeof(dev));
+ strcpy(dev.name, dev_name);
+ write(uinput_fd, &dev, sizeof(dev));
+
+ /* touch screen event */
+ ioctl(uinput_fd, UI_SET_EVBIT, EV_ABS);
+ ioctl(uinput_fd, UI_SET_ABSBIT, ABS_X);
+ ioctl(uinput_fd, UI_SET_ABSBIT, ABS_Y);
+ ioctl(uinput_fd, UI_SET_EVBIT, EV_KEY);
+ ioctl(uinput_fd, UI_SET_KEYBIT, BTN_TOUCH);
+
+ /* register userspace input device */
+ ioctl(uinput_fd, UI_DEV_CREATE, 0);
+}
+
+static void uinput_touch_deinit()
+{
+ if (uinput_fd > 0) {
+ close(uinput_fd);
+ }
+}
+
+int main(int argc, char* argv[])
+{
+ uinput_touch_init(UINPUT_DEV, DEV_NAME);
+
+ while (1) {
+ sleep(60);
+ }
+
+ uinput_touch_deinit();
+
+ return 0;
+}
+
--
1.7.4.1