Thesis analysing Android BINDER:
Binder vs Ashmem vs other IPC:
Thesis analysing Android BINDER:
Binder vs Ashmem vs other IPC:
Master page for Zenfone2:
fastboot flash system system.img
Above procedure is also described below:
Hardware means of “recovery mode”:
Never update SuperSU app, explained inside here:
Update Galaxy Ace GT-S5830 to Android 4.4.2 KitKat with CyanogenMod 11 ROM [How to Install]: proven working ROM for my Galaxy ACE
My procedure (different from above, assuming you are running on Linux as hosts, Android SDK installed, and “adb” is in your $PATH environment variables, otherwise just enter the full path for “adb”):
a. Download the “cm-11-20131229-UNOFFICIAL-cooper++XR.zip” file from above:
b. Connect Samsung Galaxy Ace to computer via USB, and use adb to put it into recovery mode: adb reboot recovery
c. In the menu on the phone, choose “update zip” option, and then navigate to sideload.
d. In the computer, issue “adb sideload <FULL_PATH_of_cm-11-20131229-UNOFFICIAL-cooper++XR.zip>”, and you should see percentage by percentage the CM file is being uploaded into phone.
e. After it has been uploaded and updated, choose “reboot” on the phone.
f. After it has rebooted into the new image, now go to settings, and then “about phone” and tap on the “Build Number” 7 times: developer option is enabled, and ensure adb debugging via the different option is enable (default it is NOT), and you can also choose to have “root” enable as well (SuperUser–>Allow).
Viola….a fully rooted CynogenMod KitKat 4.4.2 for Galaxy Ace!
The above page has two download link. The rule (for me) is NEVER download or run any download with “exe” as the extension. The other download is “zip” as the extension, and using “unzip” in my Linux terminal, I can see (via unzip -l ) all the contents inside – and it clearly has all the usual contents of an Android ROM image.
The advantage of the above procedure using “adb” is that different phone has different key combination of putting it in recovery mode. And from recovery mode, you have to navigate to the SD card that contained that ROM (which is the zipped file). Not always, eg, in Xiaomi Mi Tablet, you have to put it in the root directory of the internal storage, not SD card. All these procedures is rather cumbersome. The method described above just need one USB cable to connect to the host Linux computer, where you downloaded all the ROM file, and you issued the “adb reboot recovery” command to put it in recovery mode, and then the “adb sideload” command to load the ROM image into the phone/tablet: one-stop location to do everything. What is the catch? Sideloading is a feature only available in CWM recovery, so you will have to flash that using the non-sideloading means first.
Just look at the following spawned processes:
\_ init --user \_ dbus-daemon --fork --session --address=unix:abstract=/tmp/dbus-QUZeqof8X5 \_ upstart-event-bridge \_ /usr/lib/x86_64-linux-gnu/hud/window-stack-bridge \_ /usr/lib/x86_64-linux-gnu/bamf/bamfdaemon \_ upstart-dbus-bridge --daemon --session --user --bus-name session \_ upstart-file-bridge --daemon --user \_ upstart-dbus-bridge --daemon --system --user --bus-name system \_ /usr/lib/at-spi2-core/at-spi-bus-launcher | \_ /bin/dbus-daemon --config-file=/etc/at-spi2/accessibility.conf --nofork --print-address 3 \_ /usr/lib/at-spi2-core/at-spi2-registryd --use-gnome-session \_ /usr/lib/gvfs/gvfsd \_ /usr/lib/gvfs/gvfsd-fuse /run/user/1000/gvfs -f -o big_writes \_ /usr/bin/ibus-daemon --daemonize --xim | \_ /usr/lib/ibus/ibus-dconf | \_ /usr/lib/ibus/ibus-ui-gtk3 | \_ /usr/lib/ibus/ibus-engine-simple \_ /usr/lib/unity-settings-daemon/unity-settings-daemon \_ /usr/lib/ibus/ibus-x11 --kill-daemon \_ /usr/lib/x86_64-linux-gnu/hud/hud-service \_ gnome-session --session=ubuntu | \_ compiz | \_ /usr/lib/unity-settings-daemon/unity-fallback-mount-helper | \_ nautilus -n | \_ /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1 | \_ nm-applet | \_ /opt/google/chrome/chrome --type=service | \_ telepathy-indicator | \_ zeitgeist-datahub | \_ update-notifier \_ /usr/lib/unity/unity-panel-service \_ /usr/lib/x86_64-linux-gnu/indicator-keyboard-service --use-gtk \_ /usr/lib/x86_64-linux-gnu/indicator-messages/indicator-messages-service \_ /usr/lib/x86_64-linux-gnu/indicator-bluetooth/indicator-bluetooth-service \_ /usr/lib/x86_64-linux-gnu/indicator-power/indicator-power-service \_ /usr/lib/x86_64-linux-gnu/indicator-datetime/indicator-datetime-service \_ /usr/lib/x86_64-linux-gnu/indicator-sound/indicator-sound-service \_ /usr/lib/x86_64-linux-gnu/indicator-printers/indicator-printers-service \_ /usr/lib/x86_64-linux-gnu/indicator-session/indicator-session-service \_ /usr/lib/x86_64-linux-gnu/indicator-application/indicator-application-service \_ /usr/lib/evolution/evolution-source-registry \_ /usr/lib/x86_64-linux-gnu/notify-osd \_ /usr/lib/evolution/evolution-calendar-factory \_ /usr/lib/dconf/dconf-service \_ /usr/lib/gvfs/gvfs-udisks2-volume-monitor \_ /usr/lib/x86_64-linux-gnu/gconf/gconfd-2 \_ /usr/lib/gvfs/gvfs-mtp-volume-monitor \_ /usr/lib/gvfs/gvfs-gphoto2-volume-monitor \_ /usr/lib/gvfs/gvfs-afc-volume-monitor \_ /usr/lib/gvfs/gvfsd-trash --spawner :1.9 /org/gtk/gvfs/exec_spaw/0 \_ /usr/lib/gvfs/gvfsd-burn --spawner :1.9 /org/gtk/gvfs/exec_spaw/1 \_ /usr/lib/gvfs/gvfsd-metadata \_ /usr/lib/telepathy/mission-control-5 \_ /usr/bin/zeitgeist-daemon \_ /usr/lib/x86_64-linux-gnu/zeitgeist-fts | \_ /bin/cat \_ gnome-terminal \_ gnome-pty-helper \_ bash \_ ps auxwf
These processes are created simply just by logging in passed the Gnome session authentication prompt. No applications other than the gnome-terminal is started yet.
Yet, applications like Chrome can already start by itself.
Frankly this is getting really bloated, and sounds more like trojans than ever.
Simulator / Statistical generator:
and from above many other hardware theories:
Cache coherent protocol:
and many other cache coherent stuff:
This is an entire book on Computer Science:
(or this: www.bottomupcs.com/csbu.pdf)
MIT cache related course notes:
http://groups.csail.mit.edu/cag/ (MIT Computer Architecture Group)
Berkeley University related cache resources:
These are cache related resources from CMU:
These are from Princeton:
And this one contains lots of advanced stuff:
First ensure wine is installed.
sudo add-apt-repository ppa:ubuntu-wine/ppa sudo apt-get update sudo apt-get install wine1.7
Next download Java JDK 7 version 45:
(binary name is jdk-7u45-windows-x64.exe, 64-bit windows).
Install it inside Ubuntun host using wine “wine jdk-7u45-windows-x64.exe”.
Next download STM32CubeMX at st.com website (Details described here: http://www.st.com/web/catalog/tools/FM147/CL1794/SC961/SS1743/PF259242?icmp=stm32cubemx_pron_pr-stm32cubef2_apr2014&sc=stm32cube-pr2#):
Unzip it, and install it using wine: “wine SetupSTM32CubeMX-4.7.0.exe”.
After that go to the wine directory and start up the STM32CubeMX executable directly:
cd home/tthtlc/.wine/drive_c/Program Files/STMicroelectronics/STM32Cube/STM32CubeMX
Click on “New Project”:
Ok, the rest is yours.
There is another way of getting STM32CubeMX is to install it as a Eclipse plugin:
Download it at: stsw-stm32095.zip
and then install the plugin into an existing machine whcih have Eclipse installed (Eclipse 64-bit Kepler SR-1, as the link below said):
Read here for all the important links for STM32 software for MCU programming:
Another post on how to install STM32CubeMX (for windows) on Linux:
For my STM32F4-Discovery (STM32F407VGT6):
Classic article: https://lwn.net/Articles/564095/
Main differences with iptables – nftables HOWTO