ubuntu 在 R40e 上 還有 Debian 在 Sempron 2600 上

2013年12月12日 星期四

開始使用囉,5s



電力也沒有很優呀。
充了一晚上的電,100% 開始...
開著 waze, 以前 tx 用掉 20 幾 % 的路程。
5s 用掉 30 出頭,剩下 68%.

然後就開啟 wifi 了。
就看 一些 social network app: g+. fb. twitter, feedly.
從 9:00 用到 11:30。
掉到 10% 警告。

也就是說用 wifi 瀏覽網頁,3hr 用掉 58%.

感覺跟 TX 一樣呀。

UI 不用說,這種平面的設計,button, 訊息 區分得不清楚。
所以有時候看到個 "好" 字,都不知道是不是可以按的 button。

唯一比較厲害的有兩部份:
  • 反應:拍照,啟動 ap都是立即動作。
  • touch keyboard : 雖然螢幕小,但是按鍵都正確。
注音輸入真的超。超。超難用。。。

2013年12月3日 星期二

"No such file or directory" -- 可是 file 明明就在

執行一個程式,卻說 :
/bin/sh: no such file or directory
這是因為 loader 無法載入的關係。
並不一定是找不到檔案。

ref: http://unix.stackexchange.com/questions/13391/getting-not-found-message-when-running-a-32-bit-binary-on-a-64-bit-system/13409#13409

When you fail to execute a file that depends on a “loader”, the error you get may refer to the loader rather than the file you're executing.

The loader of a dynamically-linked native executable is the part of the system that's responsible for loading dynamic libraries. It's something like /lib/ld.so or /lib/ld-linux.so.2, and should be an executable file.
The loader of a script is the program mentioned on the shebang line, e.g. /bin/sh for a script that begins with #!/bin/sh. (Bash and zsh give a message “bad interpreter” instead of “command not found” in this case.)

The error message is rather misleading in not indicating that the loader is the problem. Unfortunately, fixing this
would be hard because the kernel interface only has room for reporting a numeric error code, not for also indicating that the error in fact concerns a different file. Some shells do the work themselves for scripts (reading the #! line on the script and re-working out the error condition), but none that I've seen attempt to do the same for native binaries.

ldd won't work on the binaries either because it works by setting some special environment variables and then running the program, letting the loader do the work. strace wouldn't provide any meaningful information either, since it wouldn't report more than what the kernel reports, and as we've seen the kernel can't report everything it knows.

This situation often arises when you try to run a binary for the right system (or family of systems) and superarchitecture but the wrong subarchitecture. Here you have ELF binaries on a system that expects ELF binaries, so the kernel loads them just fine. They are i386 binaries running on an x86_64 processor, so the instructions make sense and get the program to the point where it can look for its loader. But the program is a 32-bit program (as the file output indicates), looking for the 32-bit loader /lib/ld-linux.so.2, and you've presumably only installed the 64-bit loader /lib64/ld-linux-x86-64.so.2 in the chroot.

You need to install the 32-bit runtime system in the chroot: the loader, and all the libraries the programs need. On Debian amd64, the 32-bit loader is in the libc6-i386 package. You can install a bigger set of 32-bit libraries by installing ia32-libs.

這常常發生在, 64 bit 系統,沒有裝 32 bit library,在 run 32bit 執行檔時,...

2013年12月2日 星期一

build android with Ant

現在 各distribution 附的都是 ant1.9 (wheezy, 13.10..)
但是有附 ant1.7

安裝 distribution default ant :
apt-get install ant


之後 build:
產生 make file:
$ android update project --path .
build:
 $ ant release

       [dx]
       [dx] UNEXPECTED TOP-LEVEL EXCEPTION:
       [dx] java.nio.BufferOverflowException
       [dx]     at java.nio.Buffer.nextPutIndex(Buffer.java:499)
       [dx]     at java.nio.HeapByteBuffer.putShort(HeapByteBuffer.java:296)
       [dx]     at com.android.dex.Dex$Section.writeShort(Dex.java:818)
       [dx]     at com.android.dex.Dex$Section.writeTypeList(Dex.java:870)
       [dx]     at com.android.dx.merge.DexMerger$3.write(DexMerger.java:437)
       [dx]     at com.android.dx.merge.DexMerger$3.write(DexMerger.java:423)
       [dx]     at com.android.dx.merge.DexMerger$IdMerger.mergeUnsorted(DexMerger.java:317)
       [dx]     at com.android.dx.merge.DexMerger.mergeTypeLists(DexMerger.java:423)
       [dx]     at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:163)
       [dx]     at com.android.dx.merge.DexMerger.merge(DexMerger.java:187)
       [dx]     at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:439)
       [dx]     at com.android.dx.command.dexer.Main.runMonoDex(Main.java:287)
       [dx]     at com.android.dx.command.dexer.Main.run(Main.java:230)
       [dx]     at com.android.dx.command.dexer.Main.main(Main.java:199)
       [dx]     at com.android.dx.command.Main.main(Main.java:103)
google 一下: 大意是說.. android sdk 的 Android SDK Build-tools 19 跟 22.3 版,只有y9測試過 build api 4.4,
所以 build 2.3 就會 fail 了。

所以解決方法就是安裝 Android SDK Build-tools 18.1.1 :
  • 啟動 android sdk manager (console: $ android)
  • Tools -- Android SDK Build-tools , check 18.1.1
裝完後,
再指定使用 18.1.1 來 build:
在 project.properties 加一行: sdk.buildtools=18.1.1
其他:

2013年11月27日 星期三

android recovery .. image & source

recovery 在 android/bootable/recovery

/etc 目錄下有 init.rc,這就是後來 recovery image root 的 init.rc

這個 init.rc 很簡單,除了 uevent, console 以外。
就只有 launch 一個 service:
service recovery /sbin/recovery

這個 recovery 的 source code 就在 android/bootable/recovery/recovery.c

2013年11月26日 星期二

kernel reboot

以 arm 來看..
arch/arm/kernel/process.c:
void arm_machine_restart(char mode, const char *cmd)
{
        .....

        /*
         * Now call the architecture specific reboot code.
         */
        arch_reset(mode, cmd);
這個 arch_reset( ),是 implement 在 mach/system.h
mach 是在 arch/arm/mach-XXX/include 下。

所以每一個 mach-XXX 都有自己的 implememt。



往上看..
void (*arm_pm_restart)(char str, const char *cmd) = arm_machine_restart;
EXPORT_SYMBOL_GPL(arm_pm_restart);
..
void machine_restart(char *cmd)
{
        machine_shutdown();
        arm_pm_restart(reboot_mode, cmd);
}

這是在 kernel/sys.c 中呼叫:
void kernel_restart(char *cmd)
{
        kernel_restart_prepare(cmd);
        if (!cmd)
                printk(KERN_EMERG "Restarting system.\n");
        else
                printk(KERN_EMERG "Restarting system with command '%s'.\n", cmd);
        kmsg_dump(KMSG_DUMP_RESTART);
        machine_restart(cmd);
}
EXPORT_SYMBOL_GPL(kernel_restart);

然後是這個:
/*
 * Reboot system call: for obvious reasons only root may call it,
 * and even root needs to set up some magic numbers in the registers
 * so that some mistake won't make this reboot the whole machine.
 * You can also set the meaning of the ctrl-alt-del-key here.
 *
 * reboot doesn't sync: do that yourself before calling this.
 */
SYSCALL_DEFINE4(reboot, int, magic1, int, magic2, unsigned int, cmd,
                void __user *, arg)
{
        ...
        switch (cmd) {
        case LINUX_REBOOT_CMD_RESTART:
                kernel_restart(NULL);
                break;
        ...
        case LINUX_REBOOT_CMD_RESTART2:
                if (strncpy_from_user(&buffer[0], arg, sizeof(buffer) - 1) < 0) {
                        ret = -EFAULT;
                        break;
                }
                buffer[sizeof(buffer) - 1] = '\0';

                kernel_restart(buffer);
                break;
        ...
轉成 syscall 介面 (reboot)


User Space: bionic

libc/include/sys/reboot.h
extern int reboot(int  reboot_type);
extern int __reboot(int, int, int, void *);

在 android framework 中..
framework/base/core/jni/android_os_Power.cpp:
static void android_os_Power_reboot(JNIEnv *env, jobject clazz, jstring reason)
{
    sync();
#ifdef HAVE_ANDROID_OS
    if (reason == NULL) {
        reboot(RB_AUTOBOOT);
    } else {
        const char *chars = env->GetStringUTFChars(reason, NULL);
        __reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2,
                 LINUX_REBOOT_CMD_RESTART2, (char*) chars);
        env->ReleaseStringUTFChars(reason, chars);  // In case it fails.
    }
    jniThrowIOException(env, errno);
#endif
}

2013年11月25日 星期一

http://roger.steneteg.org/299/mount-mtp-device-on-debian-7-wheezy/ dh_make 和fakeroot build deb 的方法挺神奇的。

2013年11月21日 星期四

try ubuntu 13.10 -- for building android 2.3.7

都選 english,裝完開機後 會出現要你裝完剩下的 language,這時後可以加上 Chinese(Traditional)

裝完 4G
java6 比較麻煩,要加入 ppa.
ref : How to Install Oracle Java JDK 6 in Ubuntu 13.10 Saucy Salamander
大概就是
#sudo add-apt-repository ppa:webupd8team/java
#sudo apt-get update
#sudo apt-get install oracle-java6-installer
 會出現確認按鍵,之後開始 download...
#sudo apt-get install oracle-java6-set-default
以後要刪除的話...
#sudo apt-get purge oracle-java6-installer
然後 follow 這一篇, 改 default gcc 為 4.4
之後把需要的 build tool 都裝起來 (ref: google android)
現在用到5G

repo sync 完用掉 16G.


try build...

說缺 libgmp.so.3, 是 package libgmp3c2
只好 ref: http://packages.ubuntu.com/search?keywords=libgmp3c2
加入舊版 repo 到 sources.list:
deb http://cz.archive.ubuntu.com/ubuntu quantal main universe 
再 apt-get update, apt-get install libgmp3c2


出現 error: Dalvik 有不認識 rilm==> 加 include resource.h

/usr/include/zlib.h:34: fatal error: zconf.h: No such file or directory

因為 ubuntu 13.10 把 zconf.h 改放到 /usr/include/x86_64 下了。
所以手動建 link 到 /usr/include

build 玩用掉 21G

2013年11月18日 星期一

i2c register in linux

linux kernel 在 register i2c device 時,會一一去 check 同一個 i2c 中,是不是有child 跟你的 id 一樣,
如果有,就 Failed regiser i2c device

driver/i2c/i2c-core.c

i2c_check_addr_busy( )

static int __i2c_check_addr_busy(struct device *dev, void *addrp)
{
        struct i2c_client       *client = i2c_verify_client(dev);
        int                     addr = *(int *)addrp;

        if (client && client->addr == addr)
                return -EBUSY;
        return 0;
}

... 應該要 print 一下 client->name.
這樣才知道 誰衝突了。

2013年11月14日 星期四

糟糕,哪台 e431 今天說:
Message from syslogd@squeeze at Nov 14 18:38:17 ...
 kernel:[35971.171859] journal commit I/O error
然後有 "beeeeee!"

2013年11月11日 星期一

wheezy... dell n1418

安裝很順利,就是在選target disk 時,要注意外接 esata 和內建的差別。
我的 esata 是 /dev/sdb

最後安裝 grub 時,他說有偵測到 內建 hd 的 win7,
並且說可以卻安裝。
但是這是把 grub 裝到內建 hd。
這樣會 fail
-- 雖然 grub 可以正確 boot win7,但是沒有外接 esata 的話,grub 會說 fail

所以要選 no,然後手動輸入... /dev/sdb
說是裝在 sdb 的master boot record
-- 所以一開始的安裝位置要記起來,是 sdb, 還是 sdc

裝完啟動後 gnome3 boot fail -- 說是 display driver 有問題。
lspci 看一下... VGA 是..
VGA Compatile controller: Advanced Micro Device [AMD] nee ATI Madison [Radeon HD 5000M Series]

google 一下 'HD5000M wheezy' 一樣出現那一頁...ATIProprietary

follow link ..
在 source 中加入 non-free:
# Debian 7 "Wheezy"
deb http://http.debian.net/debian/ wheezy main contrib non-free


安裝 fglrx 和 build module 時需要的 kernel header:
# aptitude update
# aptitude -r install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') fglrx-driver
install 過程會出現要作 aticonfig 的提示,紀錄一下,裝完作一次。

裝完後,follow 剛剛的指示:
$sudo aticonfig --initial
>
做完後重開。
正確進入 gnome3 (雖然 gnome3 也沒比較好用..)


for building android..
sudo apt-get install gcc-4.4 g++-4.4 gcc-4.4-multilib g++-4.4-multilib

update-alternatives, set 4.4 higher priority: --- seems not necessary.
ref : this

just use commands:
make CC=gcc-4.4 CXX=g++-4.4 
to build android,.. ..結果 webkit , webcore 出現問題,大概是 webkit 有字己的 Makefile,沒有吃環境變數,
所以還是要改:
charles-chang@whell:~/speedsnail/android/external/webkit$ git diff
diff --git a/WebCore/dom/make_names.pl b/WebCore/dom/make_names.pl
index 083e309..4494ee7 100755
--- a/WebCore/dom/make_names.pl
+++ b/WebCore/dom/make_names.pl
@@ -47,7 +47,7 @@ my %tags = ();
 my %attrs = ();
 my %parameters = ();
 my $extraDefines = 0;
-my $preprocessor = "/usr/bin/gcc -E -P -x c++";
+my $preprocessor = "/usr/bin/gcc -E -x c++";



Still have problems .. so, use update-alternatives to choose the default gcc versions:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 50 --slave /usr/bin/g++ g++ /usr/bin/g++-4.4 --slave /usr/bin/gcov gcov /usr/bin/gcov-4.4

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 40 --slave /usr/bin/g++ g++ /usr/bin/g++-4.7 --slave /usr/bin/gcov gcov /usr/bin/gcov-4.7
OK, check..
sudo update-alternatives --config gcc
There are 2 choices for the alternative gcc (providing /usr/bin/gcc).

  Selection    Path              Priority   Status
------------------------------------------------------------
* 0            /usr/bin/gcc-4.4   50        auto mode
  1            /usr/bin/gcc-4.4   50        manual mode
  2            /usr/bin/gcc-4.7   40        manual mode

Press enter to keep the current choice[*], or type selection number: 


一樣時間快了 8 hr 的問題。
一樣是 ref local(bios) time。
但是 wheezy 時間設定已經不用 rc.S,改用/etc/adjtime
所以/etc/adjtime 的最後一行由 UTC 改為 LOCAL 就可以。
-- 還要記得改 bios


中文輸入:
用 gcin 和 酷音。
就安裝 gcin-chewing 就可以,他會順便安裝 im config

裝完到 application -- system tool --- input method 選 gcin 就可以。
然後要重開機,輸入語系切換才會在右下出現。

再到 application -- system tool -- 中文輸入 選酷音,結果很難用。
因為 backspace 好像沒有動作,要切回英文才有用。
所以還是用 詞音。
使用 就一般。右shift 可以切換 中英。
但是 default 最後選 標點符號會自動 輸入,要記得 uncheck 調。
這樣就一樣了。



virtualbox, ref: https://www.virtualbox.org/wiki/Linux_Downloads
把 apt/source.list 加入virtualbox dep,然後 download key,
就可以 install virtualbox 了。



字型:
sudo apt-get install ttf-wqy-zenhei ttf-wqy-microhei xfonts-wqy
sudo  apt-get install ttf-arphic-ukai ttf-arphic-uming




wifi
follow 以前 squeeze 的作法 (http://r40eubuntu.blogspot.tw/2011/12/enable-dell-inspiron-n4010-wireless.html)

到 debian wiki 去。
apt-get install firmware-brcm80211
然後 modprobe -r brcmsmac

lsmod 看一下有沒有 load 進去。
iwconfig 可以列出 wlan0

好像稍等一下,gnome3 右上的 network manager 就會出現 wireless

.... 連線一陣子,就不通了。
重開機竟然開不了,好像是 display driver 卡住。

只好進 mantain mode, 然後用 ctrl-D 繼續開機。
開進系統後,按下螢幕 tool 就變成花畫面。
猜是 display driver 和 wifi 衝突。
只好移除 (rmmod, purge) 這個 package.

2013年11月6日 星期三

adb shell ls 顯示亂碼

只有在 windows 系統cmd上用 adb 才會有這個問題。
是 shell 的color code 導致。
windows cmd 不認識這個。

解決方法就是叫 shell 不要使用 color:
# export LS_COLORS=none

可以寫在 init.rc 裡。

ref: http://forum.geeksphone.com/index.php?topic=1093.0

2013年10月31日 星期四

http://members.storm.ca/~capi/ordi/Dell-XPS-L501X_DebianSqueeze64-storm.html

https://wiki.debian.org/NvidiaGraphicsDrivers#Debian_6.0_.22Squeeze.22

https://wiki.debian.org/GraphicsCard

http://forums.debian.net/viewtopic.php?f=17&t=72645

http://askubuntu.com/questions/39487/possible-missing-firmware-lib-firmware-rtl-nic-rtl8105e-1-fw-for-module-r8169-w

http://kirrus.co.uk/2011/10/possible-missing-firmware-on-debian-squeeze/

2013年10月29日 星期二

Som Hero ROMS ..

沒有中文的安裝 cime apk for hero 就可以有中文輸入法。


ref: All roms, kernels, recoveries in one place (UPDATED 19.9.2012)
另外 Cht_hami_a2sd_20120324_signed.zip 這個好像是OTA 修改版,有 root,但是只有 2.1

  • Rose_V6 : 2.3.3 w sense ,簡體中文,流暢。但是沒有 logcat
  • SalsaSense 4.0 : 開很久,第一次化開又重開很久,2.3.3, sense 4.0, 沒中文。流暢度還好。 logcat OK

2013年10月28日 星期一

e2fsck show progress bar

e2fsck .. 可以用 -C 叫他show progress bar

如果已經在 run 了,
可以不用停掉他,就用
sudo killall -USR1 e2fsck
叫他 show progress bar

2013年10月23日 星期三

然後是那個千年系統時間問題。
永遠差 8 hrs (時區有設對)

是因為 system 把 BIOS 時間認作是 GMT 時間。

所以要改一下 /etc/default/rcS
把 UTC 改 no..




run gconf-edit, 把 nutilus 的 auto mout disable 掉。


加入 http://www.deb-multimedia.org 後...

The following NEW packages will be installed:
  libavutil50{a} libfaac0{a} libmp3lame0{a} librtmp0{a} libva-x11-1{a} libva1{a} libx264-118{a} libxvidcore4{a} 
The following packages will be upgraded:
  libavcodec52 libavformat52 libdrm-intel1 libdrm-radeon1 libdrm2 libpostproc51 libswscale0 libvpx0 
8 packages upgraded, 8 newly installed, 0 to remove and 1 not upgraded.
Need to get 5,737 kB of archives. After unpacking 4,686 kB will be used.
.. 其實只是要裝標準的 acroreader.


sudo aptitude install flashplugin-nonfre


英文字型:

sudo apt-get install sun-java6-fonts ttf-liberation  ttf-xfree86-nonfree
sudo apt-get install console-terminus ttf-dejavu  ttf-inconsolata xfonts-terminus

然後 terminal選 incolsola


.vimrc 是..
hi DiffAdd term=reverse cterm=bold ctermbg=green ctermfg=white
hi DiffChange term=reverse cterm=bold ctermbg=cyan ctermfg=black
hi DiffText term=reverse cterm=bold ctermbg=gray ctermfg=black
hi DiffDelete term=reverse cterm=bold ctermbg=red ctermfg=black
syntax on
:set smartindent
:set ls=2
colorscheme pablo
:set ffs=unix


firefox for amd64 . debian

debian squeeze, amd64, 安裝firefox 要用 64bit (x86_64)。
在 firefox download page 的都不是 64。
所以執起來會有一堆 lib, XPCOM load 不到的問題。

x86_64 版是用 google 找到的...
http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/latest/linux-x86_64/

download, 解開,執行... OK

Office NB : lenovo E431

公司發的 NB : lenovo e431


災難是那個 touchpad -- button 跟 pad 合併在一起。
所以按button 時,會 移動 一下游標..
真是災難呀!!

枉費那個 tackpoint....
-- 這不知道是那一格無腦的工程師設計出來的..
-- 超。無。腦。

2013年10月18日 星期五

Xperia tx ...

內含16g,但是只有10g可以用。
可以插卡,但是常常發生 拍照後系統卡住。
猜測是因為外部SD Card與FAT的關係。
把相機改存內部就ok

另外發現內部儲存copy 的速度蠻快的。
用 mount 看一下,是 ext4.。

內部 SDCARD mount 在 sdcard, sdcard_0。
外部 mount 在 ext_sd,sdcard_1。

看起來好像是用 link 的方式支援多種access 位置。
還有在 storage 中可以設定是把 SDCARD 還是內部當作 default SDCard.

在3G 最高速 (H+) 連線下載時,即使有家外部電源,
一樣會耗電池的電。
也就是說,,電池電壓會降。


2013年10月17日 星期四

repo ....

所以正確的作法,應該是在 manifest create 一個自己的branch ,
在其中指定 每個 project 使用的 branch。

這樣靠 repo init -b 來切換 project

同時可以用 repo sync 來同步 server。

2013年10月16日 星期三

uart terminal with log -- microcom

https://github.com/Oliviers-OSS/microcom

這是一個簡單的 uart terminal program,支援 log。

拿 debian squeeze 的 microcom,結果 log 一直是 0。
所以只好拿 source 下來 build

這個版本叫出 command 的 key 不一樣。
squeeze 的是 Ctrl-\

這格是 ~

啟動的時候要指定 device,否則會卡住。
$ microcom -D /dev/ttyUSB0

本來 speed 啟動後再設,但是這樣很麻煩,所以就改 source : microcom.c ,把 default 改 115200


build 就 download zip,解開,...
$ ./configure
$ make

這樣就 OK,產生 microcom 了。

使用就..
$ ./microcom -D /dev/ttyUSB0
~   叫出 menu
l   log on
... 操作....
~ 叫出 menu
x 退出


log 會是 microcom.log

2013年10月15日 星期二

訂了Linux journal

一年分,597.
要注意,這是自動訂閱。每一年會自動扣款,除非你取消。

電子書有兩種模式。雜誌含文字。
文字模式可以調整字的大小。

2013年10月14日 星期一

raspberry pi, usb-uart, console

raspberry pi 有提供 serial console。
但是是 TTL level 的,所以不能直接接 usb-uart cable。

露天有一堆 TTL level 的 usb-uart , 我找這一家,有附 度幫 線的... http://goods.ruten.com.tw/item/show?21110299701205

raspberry pi 的盒子裡其實有附一張 gpio list。
可惜我掉了。
ref : http://benosteen.wordpress.com/2012/04/24/raspberry-pis-onboard-serial-connection/

這一篇比較清楚: Raspberry Pi Serial Communication: What, Why, and a Touch of How

買的是 3.3 volt版。
接上 GND. TX. RX

插進 pc 後, kernel messge 有顯示 /dev/ttyUSB0。
啟動 minicom。
雖然 default 就是 用 8N1 115200, /dev/ttyUSB0。
但是開啟後是亂碼。
再設定一次 minicom 的通訊參數後,就 OK了。
出現 raspberry pi 的 login prompt...

2013年10月3日 星期四

LocationManager 最簡單的 code..

就只是打開 gps 這個 provider,然後取得 location 資料,
把他印在 locat 中 (不是印在 View)

是 抄 這裡的 -- 在 Android 裡取得目前的位置(LocationManager)

改掉,保留最少的部份。
也不從 螢幕輸出 ...
雖然很簡單,也放到 github 了... https://github.com/checko/New0917-LocationManger-Logcat

2013年9月28日 星期六

Samsung hdtv adaptor

是買給note ( gt n7000 ) 用的。
結果插上去不會動。
電視沒顯示。

那sensation 測試反而正常。 (viper rom )
後來看到有人說 note ics 4.04 反而不能用hdmi 了。

又有人說  要插好 hdmi 線,打開電視,然後note重新開機。
照作,ㄐㄧㄡOK了。
而且之後插拔也都OK,不用重開機。

Otali. 太長了

的10 Wㄉㄉ
的,本來要還這個15w 的,
結果太長,卡到燈罩。







2013年9月24日 星期二

2013年9月23日 星期一

follow : http://forum.xda-developers.com/showthread.php?t=2115520

repo init -u git://github.com/Team-Hydra/android.git -b cm-10.1
repo sync

然後
. build/envsetup.sh
./vendor/cm/get-prebuilts
lunch cm_pyramid-userdebug
mka bacon

中間那個 get-prebuilts 如果照原來的,用 source 作,會出現 permission deny,所以無法 download prebuilt 。

然後 build 就出現 需要 GLIBC_2.14 的錯誤。
/bin/sh: GLIBC_2.14 not found

因為 ubuntu 10.04 的 glibc 是 2.10

follow 這一篇..http://blog.csdn.net/cpplang/article/details/8462768

就是 download source, built 然後指定 ld path

所以變成 build glibc_2.14.

一樣 download glibc_2.14, configure & make .. 出現問題..
說是 awk 的 regulator expression error

這是 mawk 的問題,換成 gawk 就 OK.
換..
In file included from ../sysdeps/unix/sysv/linux/syslog.c:10:
../misc/syslog.c: In function ‘__vsyslog_chk’:
../misc/syslog.c:123: sorry, unimplemented: inlining failed in call to ‘syslog’: function body not available
../misc/syslog.c:155: sorry, unimplemented: called from here
說這是 ubuntu 的問題。變更 build option 就可以....
http://ubuntuforums.org/archive/index.php/t-1001811.html

所以 configure 時加上 CFLAGS..
CFLAGS="-O2 -U_FORTIFY_SOURCE -fno-stack-protector" 

也就是..
cd build
CFLAGS="-O2 -U_FORTIFY_SOURCE -fno-stack-protector" ../configure --prefix=/opt/glibc-2.14
make

就 OK 了。


ref: 回到 build... 先是要找到是誰要用 GLIBC_2.14...
fail log 是:
host StaticLib: libclangStaticAnalyzerFrontend (/home/charles-chang/cyanogen/Team-Hydra/out/host/linux-x86/obj
/STATIC_LIBRARIES/libclangStaticAnalyzerFrontend_intermediates/libclangStaticAnalyzerFrontend.a)
prebuilts/tools/gcc-sdk/ar crsP  /home/charles-chang/cyanogen/Team-Hydra/out/host/linux-x86/obj/STATIC_LIBRARIES
/libclangStaticAnalyzerFrontend_intermediates/libclangStaticAnalyzerFrontend.a /home/charles-chang/cyanogen/Team-Hydra/out
/host/linux-x86/obj/STATIC_LIBRARIES/libclangStaticAnalyzerFrontend_intermediates/AnalysisConsumer.o /home/charles-chang/cyanogen
/Team-Hydra/out/host/linux-x86/obj/STATIC_LIBRARIES/libclangStaticAnalyzerFrontend_intermediates/CheckerRegistration.o 
/home/charles-chang/cyanogen/Team-Hydra/out/host/linux-x86/obj/STATIC_LIBRARIES/libclangStaticAnalyzerFrontend_intermediates
/FrontendActions.o
  CC      scripts/mod/empty.o
/bin/sh: GLIBC_2.14 not found (required by /home/charles-chang/cyanogen/Team-Hydra/prebuilt/linux-x86/toolchain/linaro-
arm-cortex-a8/bin/arm-cortex_a8-linux-gnueabi-gcc) -I/home/charles-chang/cyanogen/Team-Hydra/kernel/htc/msm8660/arch/arm/include 
-Iarch/arm/include/generated -Iinclude  -I/home/charles-chang/cyanogen/Team-Hydra/kernel/htc/msm8660/include -include 
include/generated/autoconf.h  -I/home/charles-chang/cyanogen/Team-Hydra/kernel/htc/msm8660/scripts/mod -Iscripts/mod 
-D__KERNEL__ -mlittle-endian   -I/home/charles-chang/cyanogen/Team-Hydra/kernel/htc/msm8660/arch/arm/mach-msm/include -Wall 
-Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-
security -fno-delete-null-pointer-checks -Wno-unused-variable -O3 -mabi=aapcs-linux -mno-thumb-interwork -funwind-tables 
-D__LINUX_ARM_ARCH__=7 -march=armv5t -Wa,-march=armv7-a -msoft-float -Uarm -fomit-frame-pointer  -fgcse-lm -fgcse-sm -fsched-
spec-load -fforce-addr -ffast-math -fsingle-precision-constant -mtune=cortex-a8 -march=armv7-a -mfpu=neon -ftree-vectorize 
-funswitch-loops -fgcse-lm -fgcse-sm -fsched-spec-load -fforce-addr -ffast-math -fsingle-precision-constant -mtune=cortex-a8 
-marm -march=armv7-a -mfpu=neon -ftree-vectorize -mvectorize-with-neon-quad -D"KBUILD_STR(s)=#s" 
-D"KBUILD_BASENAME=KBUILD_STR(empty)"  -D"KBUILD_MODNAME=KBUILD_STR(empty)" -c -o scripts/mod/empty.o /home/charles-
chang/cyanogen/Team-Hydra/kernel/htc/msm8660/scripts/mod/empty.c;    scripts/basic/fixdep scripts/mod/.empty.o.d scripts/mod
/empty.o /home/charles-chang/cyanogen/Team-Hydra/kernel/htc/msm8660/scripts/gcc-wrapper.py: not found
make[4]: *** [scripts/mod/empty.o] Error 1
make[3]: *** [scripts/mod] Error 2
make[2]: *** [scripts] Error 2
make[2]: *** Waiting for unfinished jobs....

?? 所以是 ? linaro ?

所以試著 run 一下 linaro 的 arm-cortex_a8-linux-genuabi-gcc
果然出現..
./arm-cortex_a8-linux-gnueabi-gcc: /lib/libc.so.6: version `GLIBC_2.14' not found 
(required by ./arm-cortex_a8-linux-gnueabi-gcc)

2013年9月22日 星期日

測試一下

奇怪,不行輸入,修改。然後
睛。

Wertt, hjjkjg,
Jhhggf, fghhjj

2013年9月17日 星期二

build kernel for hero - flykernel

很好心的人..
[Kernel] Flykernel-13 "Back from the Grave"
把他的 kernel source 放在 github,還寫了 howto.. https://github.com/erasmux/hero-2.6.29-flykernel/wiki/HOWTO:-Build-the-kernel

以下都是 copy 的...
拿 source code:
git clone git://github.com/erasmux/hero-2.6.29-flykernel.git 

config..
make ARCH=arm hero_defconfig

build..
make -j8 ARCH=arm CROSS_COMPILE=PATH_TO_TOOLCHAIN/bin/arm-none-eabi-

build 好的 zipped kernel image 會在 arch/arm/boot/zImage


要作出可以燒進 ROM 的 image 有一點麻煩...
他說要參考.. HOWTO: Unpack, Edit, and Re-Pack Boot Images
大概就是 ... 從別人的 update image 中抽出 root ramdisk。
再把他和你 build 好的 kernel 合併在一起。

mkbootimg --cmdline 'no_console_suspend=1 console=null' --kernel your-kernel-file --ramdisk newramdisk.cpio.gz -o mynewimage.img 

他的 ref:

Hero, a lot of roms. (again).

因為需要 wifi proxy support,所以又開始刷 ROM.
先是最多人用的 .. [ROM]Elelinux-7.2-Hero-v3.9 Android 2.3.7 (2012-07-03)]
gapp 也包含在裡面,燒完 OK..
開進去是中文(!!),但是 Wifi 沒有 proxy support..

所以換 這個:[ROM] ICS 4.0.3 With working camera [UPDATE 01.05.2012]

有點頓,Wifi 有 proxy 設定,但是設定後好像不會動。Browser 還是出不去。


另外有兩個 ROM (CM10, MIUI) 都刷不進去,說是 signature incorrect 問題。
所以只好 改 CWM。

回想一下 hero 的 recovery 是要在系統中用 flash_image 來燒。

所以 follow : http://www.stefan-seelmann.de/wiki/freeyourandroid
download recovery image

用 adb push 到 /mnt/sdcard
在用 flash_image 來燒..
flash_image recovery /mnt/sdcard/recovery-clockwork-2.5.0.70-hero.img


... 慘了...忘了先燒回原廠 ROM,,, 因為 RA 的 backup, CWM 不能 restore...

2013年9月16日 星期一

N bits color LVDS transmitter

LVDS 是 Low Voltage Differential Signaling
所以有
  • Low voltage , 只有 +-0.3volt
  • Differential signal
低壓 -- 降低 EMI, 與增加頻寬。
差動 -- 排除雜訊。

在 LCD Panel 上,由於通常 panel 走線很長,還有因為解析度高,資料頻寬變高。
所以也用 LVDS 作為 interface。

LCD Panel 還有一項,因為 RGB 每個顏色,都有可能用 6~8 bit,所以接線數很高。
這樣layout 很不方便。

因為這樣,LVDS 用在 panel 上時,增加一個特性,
就是把 parallel 信號改為 serial 信號。


一個 LCD Panel 的 LVDS transmitter chip 有以下特性 : 低壓,差動,序列 傳送。

但是這個 parallel -- serial 的規定好像沒有統一,
有些是 7 個parallel bit 轉成一個 serial。
有些是 8 個。

實際上使用,要看 panel。
panel 是用哪一種serial 的接收序列,
transmitter 端就要照作。



大概是為了兼顧 6bit, 8 bit 的需求吧,所以有一款 transmitter 是用 7bit 一個 serial port。
這樣用在 666 的 format 時,6x3+3 = 21。
使用 3 組 serial 就夠 (7x3)。

用在 888 時,8x3+3 = 27
使用 4 組 serial (7x4)

一個 chip 要符合 以上兩種情況。
於是 bit arrange 就變得分散。
就是以 666 為主,
888 每個 color多的 2bit,都塞在另一個 serial channel 中。
所以 bit arrangement 變成 不連續。

  • R0.R1.R2.R3.R4.R5.G0
  • G1.G2.G3.G4.G5.B0.B1
  • B2.B3.B4.B5.HSync,VSync,DE
  • R6.R7.G6.G7.B6.B7. --

2013年9月12日 星期四

sensation , MIUI

上次的 Viper , 剛開始用 還 OK (應該說不錯)。
但是用幾天後,系統變得很不穩,到了不堪用的程度。
只好再換。

先是換這個: [ROM] MIUI JB V5 - 3.9.6 - 06-09-2013 - [miuiandroid.com]
上面有特別說明先安裝miui 就好,開完機再裝 gapp。
照作,
但是裝完 miui 後開機,輸入完 PIN.. 一下就說 android.XXX 有問題,就重開機。
又進 PIN ...

所以到miui 官網。
下載 【HTC Sensation】 最新版本:3.2.22

這版是 ICS (4.0),可以正常開啟。可以使用。
但是安裝 20121011 的 gapp,google play 一直當機重開。

只好安裝 miui_pyramid_3.8.30_4u4y38f7rt_4.1.zip

這是 4.1 的,可以開機,之後安裝 20121011 的 gapp 也 OK可以使用。
安裝完 google play 後,開始裝 google 的 app.
問題:好像只會從 Wifi Download,所以定要有 Wifi 連線, app 才裝得起來。即使有 uncheck wifi downloadd only 也一樣。


miui 跟 android 差異很大,
desktop ui layout 跟 iOS 比較像,只有主畫面,不斷延伸,沒有 android 特殊的 "全部軟體"按鍵。
miui 有自己的 app market, account, backup , cloude storage。
所有的 app 也都有自己的一套。
幾乎是 google 的 service 都有一份。

可以說,不用 google account 也可以正常使用,達到一般 android 的所有功能。

查了一下 m01,好像不用刷 gapp,而是要在 miui 商店安裝 google 軟體安裝器。
這樣就有 google service

另外,這個好像是 miui 官方 網站。

看了一下,原來這版還是 開發版 ..是 V5

很奇怪的是,在 google play 上 install facebook。
然後竟然 miui store 告訴我facebook 有更新?
還有 他有自己的 candy crush saga。跟 google play 的開機畫面不一樣,不過都無法 connect facebook 帳號。




  • 一堆遊戲不能 run,或是 run 起來無法 connenct 帳號: happy street, candy crush.. 到 3.9.22 版 OK.
  • ingress 正常
  • google map 的 dialog 有時候會不見,但是 4.2 的map 閃動問題只有啟動的時候會閃一下
  • 錄影有時候會 fail, 錄出一種一條一條的影片,完全不能看,但是有時候又可以 <== 這是致命的。 (查到是 mode 轉換,要是刊起直接錄影就 OK,先拍照再錄影就fail
  • V5 版不能使用 sdcard 當作安裝空間,即使是 android4.1,也不 support 把 app 移到 SD
  • 3.9.22 版,竟然不能安裝 google plus,說是 媒體庫 找不到..

2013年9月9日 星期一

sensation . Viper

最後不知道怎樣,裝到這一個: [ROM][JB][Sense 4+][11.08] Team Venom presents: ViperS 3.1.2 - always one step

install 是漂亮的全UI,也是一包做完,包含 gapp 和 sense。
中間有 apk 選項,可以移掉不需要的。
--- 我有選 deSense
這種 rom, camera 和一些 setting 都是用 hTC 的,所以比較沒有問題。
但是 Camera 好像是新版本,跟ics htc 的不一樣。
instagrame 的錄影模式也可以開啟。


覺得 字體 好小
default launcher 我選 novalauncher..
android 是 4.1.1
Sense 4+
kernel 是 3.4.10 SebastinaFM-1.0.2

好像加了一堆東西..

ap 開啟好像都頓一下。


  • 使用兩天,出現Chrome 開網頁死當,按 HOME, back, power key 沒反應, 10 sec 後拔電池重開。
  • 發現我刪掉太多東西,內建計算機,相簿.
  • 又發生 data connection fail, 按下 power 鍵想關機重開,結果關機dialog show 不出來,android system 重開。
    只好拔電池。

這一版因為是 Sense4+ 所以啟動後,符合 這個 ,所以得到 23G 的空間。

miui 因為種種原因..,又因為ooxx,所以裝回這個版本。
這次沒有 deSENSE,所以開啟用的是 hTC 的 launcher (有比較好?)。

  • instagram 不能用進階相機和高解析圖像, 系統會 reboot
  • 曾經發生過,拍照開啟flash,節過一拍就 power off..要拔掉電池才能重新 power on
  • 長按 power button 直接 reboot,沒辦法關機 --- 這個到venom tweak 去把 long press power menu 的 reboot option 關掉後就OK了。

mount external ext4 sd card partition

如果是用 CM10.1,因為內建 ext4 support (不是都內建?)
所以只要把 SDCARD partition 成兩個,把第二個 format 成 ext4。
然後再mount 進來,
最後建 link 到原來 SDCARD 要 mount 的位置。

這樣,android 系統就會把這個 ext4 partition 當作是外部 sd card.

ref: External SD card with ext4 under Android (CM10.1)

2013年9月7日 星期六

中古nexus 7 一代

賣家用霧面保護貼 ,
看起來還不錯。
稍微重一點 

耗電有點大。
充電很慢,要用原廠附的比較快。

2013年9月6日 星期五

Sony sbh20 bt 耳機

上個月買的,特價900,
配對的時候,手機開搜尋,然後耳機的play 要一直按著,手機才會搜尋到,
一旦配對過,以後Powers  on 就自動連線。
當然˙有 免持功能,有麥克風,很清楚,大聲(配mic 設計有問題的sensation剛好)

sensation - try 10.2..

既試試看

時會

都要換 sd card ..就..

上次的 CWM 4.0.1 裝 CM10.2 好像有問題,連試兩個版本的都是開到開機動畫後就重新開機。
所以只好試著更新 recovery.
本想更新 CWM 5.0.2 (sensation 的 最update 版),可惜沒有包裝好的 RM58IMG.zip 格式。
-- 連 CWM sensation 目錄都刪除了
所以只好用 CWM Touch 版 (5.8.--)

用這個版本的recovery,wipe data, cache , advance-dalvik-cache 後,
安裝 [ROM][Android 4.3] CM10.2 with PMEM [9/03/2013] [624MB RAM]
可以開機了..

--

電池控制還是有點問題

擺一個晚上,10hrs 不動,掉70%.

平時開開關關,掉電,,

還有用電用到自動關機後,插電也看不起來。,,,後來拔電池才開起來。

Google map 還是有閃動問題。

錄影無法對焦。


Xd該串 p158 有討論道電池問題,ㄕ說是gps off 導致 wakelock 沒釋放,

把 gps 保持開啟,在 screen-off 的情況下,好像停止耗電了。
在 平時 使用還是一樣耗電。

看 pps,播放到一半 reboot...
重開後繼續看...約 3min 後又 reboot...
就這樣,...三次...我就不看了。


一堆軟體不能 run... 所以可能還是要換。
人選:

又買了兩張16g, adata &kingston

所以這次買16g,,一張都3白多,,,

2013年9月5日 星期四

Adata 32g 壞了 <-- 錯怪他了..

好像才用幾個月而已


ref: http://r40eubuntu.blogspot.tw/2013/06/sensation.html .. 所以是 6 月買的...才用3 個月


錯怪他了,用讀卡機讀是 OK 的。
只是sensation 不能讀。連 mount 都不行。
但是 sensation 可以正確mount tranent 2G

比較奇怪的是,這三個月來,sensation 一直都是在用這片 adata 的呀..
為什麼到最近才開始有這個問題?

開機的 dmesg 有這個 error:
[    9.152099] mmc1: mmc_sd_init_card() failure (err = -110)
[    9.152252] mmc1: error -110 whilst initialising SD card
[    9.162872] msm_sdcc_setup_vreg: Disabling SD slot power

手動插拔一次:
[  726.061126] mmc1: Slot status change detected (1 -> 0)
[  734.746582] mmc1: Slot status change detected (0 -> 1)
[  734.752410] msm_sdcc_setup_vreg: Enabling SD slot power
[  741.736236] [GSNR][MPU3050][TIMERIRQ]stop_timerirq: data->period = 20, data->run = 0
[  741.749023] [GSNR][MPU3050][TIMERIRQ]start_timerirq: data->period = 20
[  741.769378] [GSNR][MPU3050][TIMERIRQ]stop_timerirq: data->period = 20, data->run = 1
[  741.798980] [GSNR][MPU3050][TIMERIRQ]start_timerirq: data->period = 200
[  741.799224] MPL-accODR: 25000 
[  741.820159] [GSNR][MPU3050][TIMERIRQ]stop_timerirq: data->period = 200, data->run = 1
[  741.848968] [GSNR][MPU3050][TIMERIRQ]start_timerirq: data->period = 20
[  741.849151] MPL-accODR: 25000 
[  742.063140] mmc1: host does not support reading read-only switch. assuming write-enable.
[  742.065246] mmc1: new high speed SDHC card at address 59b4
[  742.066528] mmcblk1: mmc1:59b4 SD    30.0 GiB 
[  742.068878]  mmcblk1: p1
這樣就 OK 了....
但是
  • 為什麼開機第一次 detect 一定 fail ?
  • 為什麼剛開始發生問題是在使用中,突然出現 sd card 退出 ?


換一個 2G sd (none sdhc), 一開機就 probe 到,而且就在 internal mmc probe 之後..
[    2.167205] mmc0: new high speed MMC card at address 0001
[    2.167694] mmcblk0: mmc0:0001 MLL00M 2.25 GiB 
[    2.187561]  mmcblk0: p1 p2 p3 p4 < p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 p27 p28 p29 p30 p31 p32 >
[    2.195953] msm_sdcc_setup_vreg: Enabling SD slot power
[    2.202697] [BATT] htc_batt_get_battery_adc , vref:19630, battid_adc:1057, battid:53
[    2.202850]  at 2124017893 (1970-01-01 00:00:02.123865322 UTC)
[    2.202941] [BATT] htc_battery_probe(): finish at 2124262006 (1970-01-01 00:00:02.124109435 UTC)
[    2.203521] init_rq_attribs: Initialize done.
[    2.203613] no pmic restart interrupt specified
[    2.204772] rtc-pm8xxx rtc-pm8xxx: setting system clock to 2013-09-05 08:53:52 UTC (1378371232)
[    2.205017] Warning: unable to open an initial console.
[    2.205261] Freeing init memory: 216K
[    2.207916] init (1): /proc/1/oom_adj is deprecated, please use /proc/1/oom_score_adj instead.
[    2.294616] mmc1: host does not support reading read-only switch. assuming write-enable.
[    2.298034] mmc1: new high speed SD card at address e624
[    2.298492] mmcblk1: mmc1:e624 SU02G 1.84 GiB 
[    2.304260]  mmcblk1: p1

..只。好。當。作。是。挑。卡。...

2013/10/28

真的是壞了。
使用 Xperia TX,都是正常使用,一陣子後自動退卡。
開機都能偵測到。
用一陣子後都會自動退卡。

--- 便宜果然....

2013年9月3日 星期二

lcd 的電源控制有點麻煩,有多組,而且有一定的 sequence。
為了分離 code & data,所以把所有 power control pin 的定義放在一個檔。
另外操作的動作放到另外一個。
code 用 structure 來存取 定義。

定義的部份只有一個 function code: register_panel( ),讓 另一個 負責動作的 source 來呼叫。
caller 傳入一個 structure pointer 和 panel type (?),然後 register_panel( )

看似不錯,但是萬一這個 interface structure 沒有辦法包含到的動作,這樣就變得麻煩。
列如:某 panel 有reset 要作...

2013年9月2日 星期一

repo : how to tag entire repo

g+ 上看到的。
如何把整個 repo 作 tag。

COPY:
Yes, exactly, you overwite the default.xml. But you should probably
do it on a branch, so maybe:

cd .repo/manifests
git checkout -b my-tag-name
repo manifest -r -o default.xml

git commit -a -m "tag ..."

and then push the branch, my-tag-name, back to your manifest project.
Later you can get back to this "tagged point" by doing:

repo init -b my-tag-name ...

After pushing your tag branch, you might want to switch your
manifest project back to the default branch and delete the tag
branch, to avoid confusing repo:

cd .repo/manifests
git checkout default
git branch -D my-tag-name


ref:

2013年9月1日 星期日

換墨水

又換了兩支,看來下一次要換紅色

這款霧面防水相紙不錯,
列印就選霧面就ok

2013年8月30日 星期五

FAQ ? build ics 時,出現:
UNEXPECTED TOP-LEVEL ERROR:
java.lang.OutOfMemoryError: Java heap space
用 make showcommands 來看:
out/host/linux-x86/bin/dx -JXms16M -JXmx1536M --dex --output=out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/noproguard.classes-with-local.dex    --core-library out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/noproguard.classes.jar

UNEXPECTED TOP-LEVEL ERROR:
java.lang.OutOfMemoryError: Java heap space


修改:
diff --git a/core/definitions.mk b/core/definitions.mk
index a562f1f..6f872ba 100644
--- a/core/definitions.mk
+++ b/core/definitions.mk
@@ -1549,7 +1549,7 @@ define transform-classes.jar-to-dex
 @echo "target Dex: $(PRIVATE_MODULE)"
 @mkdir -p $(dir $@)
 $(hide) $(DX) \
-    $(if $(findstring windows,$(HOST_OS)),,-JXms16M -JXmx1536M) \
+    $(if $(findstring windows,$(HOST_OS)),,-JXms2G -JXmx4G) \
     --dex --output=$@ \
     $(incremental_dex) \
     $(if $(NO_OPTIMIZE_DX), \


ref:

2013年8月27日 星期二

machine_is_XXX( )

kernel code 裡面一堆 machine_is_xxx(),讓程式知道現在是 run 在什麼 機器上。
這麼奇怪的 function 也是用很奇怪的 方式 做出來的。

先是..arch/arm/tools/mach-types
# Database of machine macros and numbers
#
# This file is linux/arch/arm/tools/mach-types
#
# Up to date versions of this file can be obtained from:
#
#   http://www.arm.linux.org.uk/developer/machines/download.php
#
# Please do not send patches to this file; it is automatically generated!
# To add an entry into this database, please see Documentation/arm/README,
# or visit:
#
#   http://www.arm.linux.org.uk/developer/machines/?action=new
#
# Last update: Sun Feb 19 14:16:29 2012
#
# machine_is_xxx        CONFIG_xxxx             MACH_TYPE_xxx           number
#
ebsa110                 ARCH_EBSA110            EBSA110                 0
riscpc                  ARCH_RPC                RISCPC                  1
nexuspci                ARCH_NEXUSPCI           NEXUSPCI                3
ebsa285                 ARCH_EBSA285            EBSA285                 4
netwinder               ARCH_NETWINDER          NETWINDER               5
cats                    ARCH_CATS               CATS                    6
tbox                    ARCH_TBOX               TBOX                    7
co285                   ARCH_CO285              CO285                   8
clps7110                ARCH_CLPS7110           CLPS7110                9
archimedes              ARCH_ARC                ARCHIMEDES              10
a5k                     ARCH_A5K                A5K                     11
etoile                  ARCH_ETOILE             ETOILE                  12
lacie_nas               ARCH_LACIE_NAS          LACIE_NAS               13
clps7500                ARCH_CLPS7500           CLPS7500                14
shark                   ARCH_SHARK              SHARK                   15
brutus                  SA1100_BRUTUS           BRUTUS                  16
personal_server         ARCH_PERSONAL_SERVER    PERSONAL_SERVER         17
itsy                    SA1100_ITSY             ITSY                    18
l7200                   ARCH_L7200              L7200                   19
pleb                    SA1100_PLEB             PLEB                    20
integrator              ARCH_INTEGRATOR         INTEGRATOR              21
h3600                   SA1100_H3600            H3600                   22
..
有一堆 support 的列表..

然後..arch/arm/tools/Makefile
#
# linux/arch/arm/tools/Makefile
#
# Copyright (C) 2001 Russell King
#

include/generated/mach-types.h: $(src)/gen-mach-types $(src)/mach-types
        @echo '  Generating $@'
        @mkdir -p $(dir $@)
        $(Q)$(AWK) -f $^ > $@ || { rm -f $@; /bin/false; }
叫 AWK script : gen-mach-types來處理 mach-types 這個檔案。
產生 : include/generated/mach-types.h
/*
 * This was automagically generated from arch/arm/tools/mach-types!
 * Do NOT edit
 */

#ifndef __ASM_ARM_MACH_TYPE_H
#define __ASM_ARM_MACH_TYPE_H

#ifndef __ASSEMBLY__
/* The type of machine we're running on */
extern unsigned int __machine_arch_type;
#endif

/* see arch/arm/kernel/arch.c for a description of these */
#define MACH_TYPE_EBSA110              0
#define MACH_TYPE_RISCPC               1
#define MACH_TYPE_NEXUSPCI             3
#define MACH_TYPE_EBSA285              4
#define MACH_TYPE_NETWINDER            5
#define MACH_TYPE_CATS                 6
#define MACH_TYPE_TBOX                 7
#define MACH_TYPE_CO285                8
#define MACH_TYPE_CLPS7110             9
#define MACH_TYPE_ARCHIMEDES           10
#define MACH_TYPE_A5K                  11
#define MACH_TYPE_ETOILE               12
#define MACH_TYPE_LACIE_NAS            13
#define MACH_TYPE_CLPS7500             14
#define MACH_TYPE_SHARK                15
#define MACH_TYPE_BRUTUS               16
#define MACH_TYPE_PERSONAL_SERVER      17
#define MACH_TYPE_ITSY                 18
#define MACH_TYPE_L7200                19
#define MACH_TYPE_PLEB                 20
#define MACH_TYPE_INTEGRATOR           21
#define MACH_TYPE_H3600                22
#define MACH_TYPE_IXP1200              23
.....
#ifdef CONFIG_ARCH_EBSA110
# ifdef machine_arch_type
#  undef machine_arch_type
#  define machine_arch_type     __machine_arch_type
# else
#  define machine_arch_type     MACH_TYPE_EBSA110
# endif
# define machine_is_ebsa110()   (machine_arch_type == MACH_TYPE_EBSA110)
#else
# define machine_is_ebsa110()   (0)
#endif

#ifdef CONFIG_ARCH_RPC
# ifdef machine_arch_type
#  undef machine_arch_type
#  define machine_arch_type     __machine_arch_type
# else
#  define machine_arch_type     MACH_TYPE_RISCPC
# endif
# define machine_is_riscpc()    (machine_arch_type == MACH_TYPE_RISCPC)
#else
# define machine_is_riscpc()    (0)
#endif

#ifdef CONFIG_ARCH_NEXUSPCI
# ifdef machine_arch_type
#  undef machine_arch_type
#  define machine_arch_type     __machine_arch_type
# else
#  define machine_arch_type     MACH_TYPE_NEXUSPCI
# endif
# define machine_is_nexuspci()  (machine_arch_type == MACH_TYPE_NEXUSPCI)
#else
# define machine_is_nexuspci()  (0)
#endif

這樣就產生了所有的 machine_is_xxx()


然後就是 bootloader 傳來 machine_arch_type 這個變數: http://r40eubuntu.blogspot.tw/2013/06/machinearchtype-kernel.html

linux Makefile..

linux 的 Makefile 同時包含說明在裡面..

像..
# kbuild supports saving output files in a separate directory.
# To locate output files in a separate directory two syntaxes are supported.
# In both cases the working directory must be the root of the kernel src.
# 1) O=
# Use "make O=dir/to/store/output/files/"
#
# 2) Set KBUILD_OUTPUT
# Set the environment variable KBUILD_OUTPUT to point to the directory
# where the output files shall be placed.
# export KBUILD_OUTPUT=dir/to/store/output/files/
# make
#
# The O= assignment takes precedence over the KBUILD_OUTPUT environment
# variable.
說明,可以在 build 的時候用 O= 指定輸出位置,
不然就可以宣告環境變數 KBUILD_OUTOUT


cross compiling
設定 ARCH 和 CROSS_COMPILE, Makefile 就會知道..
# Cross compiling and selecting different set of gcc/bin-utils
# ---------------------------------------------------------------------------
#
# When performing cross compilation for other architectures ARCH shall be set
# to the target architecture. (See arch/* for the possibilities).
# ARCH can be set during invocation of make:
# make ARCH=ia64
# Another way is to have ARCH set in the environment.
# The default ARCH is the host where make is executed.

# CROSS_COMPILE specify the prefix used for all executables used
# during compilation. Only gcc and related bin-utils executables
# are prefixed with $(CROSS_COMPILE).
# CROSS_COMPILE can be set on the command line
# make CROSS_COMPILE=ia64-linux-
# Alternatively CROSS_COMPILE can be set in the environment.
# A third alternative is to store a setting in .config so that plain
# "make" in the configured kernel build directory always uses that.
# Default value for CROSS_COMPILE is not to prefix executables
# Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile


然後下面是 help 的內容..
make help 的輸出..
Cleaning targets:
  clean    - Remove most generated files but keep the config and
                    enough build support to build external modules
  mrproper   - Remove all generated files + config + various backup files
  distclean   - mrproper + remove editor backup and patch files

Configuration targets:
  config   - Update current config utilising a line-oriented program
  nconfig         - Update current config utilising a ncurses menu based program
  menuconfig   - Update current config utilising a menu based program
  xconfig   - Update current config utilising a QT based front-end
  gconfig   - Update current config utilising a GTK based front-end
  oldconfig   - Update current config utilising a provided .config as base
  localmodconfig  - Update current config disabling modules not loaded
  localyesconfig  - Update current config converting local mods to core
  silentoldconfig - Same as oldconfig, but quietly, additionally update deps
  randconfig   - New config with random answer to all options
  defconfig   - New config with default answer to all options
  allmodconfig   - New config selecting modules when possible
  allyesconfig   - New config where all options are accepted with yes
  allnoconfig   - New config where all options are answered with no

Other generic targets:
  all    - Build all targets marked with [*]
* vmlinux   - Build the bare kernel
* modules   - Build all modules
  modules_install - Install all modules to INSTALL_MOD_PATH (default: /)
  firmware_install- Install all firmware to INSTALL_FW_PATH
                    (default: $(INSTALL_MOD_PATH)/lib/firmware)
  dir/            - Build all files in dir and below
  dir/file.[oisS] - Build specified target only
  dir/file.lst    - Build specified mixed source/assembly target only
                    (requires a recent binutils and recent build (System.map))
  dir/file.ko     - Build module including final link
  modules_prepare - Set up for building external modules
  tags/TAGS   - Generate tags file for editors
  cscope   - Generate cscope index
  kernelrelease   - Output the release version string
  kernelversion   - Output the version stored in Makefile
  headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH
                    (default: /home/charles-chang/cv3k10.3/kernel_imx/usr)

Static analysers
  checkstack      - Generate a list of stack hogs
  namespacecheck  - Name space analysis on compiled kernel
  versioncheck    - Sanity check on version.h usage
  includecheck    - Check for duplicate included header files
  export_report   - List the usages of all exported symbols
  headers_check   - Sanity check on exported headers
  headerdep       - Detect inclusion cycles in headers

Kernel packaging:
  rpm-pkg         - Build both source and binary RPM kernel packages
  binrpm-pkg      - Build only the binary kernel package
  deb-pkg         - Build the kernel as an deb package
  tar-pkg         - Build the kernel as an uncompressed tarball
  targz-pkg       - Build the kernel as a gzip compressed tarball
  tarbz2-pkg      - Build the kernel as a bzip2 compressed tarball

Documentation targets:
 Linux kernel internal documentation in different formats:
  htmldocs        - HTML
  pdfdocs         - PDF
  psdocs          - Postscript
  xmldocs         - XML DocBook
  mandocs         - man pages
  installmandocs  - install man pages generated by mandocs
  cleandocs       - clean all generated DocBook files

Architecture specific targets (arm):
* zImage        - Compressed kernel image (arch/arm/boot/zImage)
  Image         - Uncompressed kernel image (arch/arm/boot/Image)
* xipImage      - XIP kernel image, if configured (arch/arm/boot/xipImage)
  uImage        - U-Boot wrapped zImage
  bootpImage    - Combined zImage and initial RAM disk
                  (supply initrd image via make variable INITRD=)
  install       - Install uncompressed kernel
  zinstall      - Install compressed kernel
                  Install using (your) ~/bin/installkernel or
                  (distribution) /sbin/installkernel or
                  install to $(INSTALL_PATH) and run lilo

  acs5k_defconfig          - Build for acs5k
  acs5k_tiny_defconfig     - Build for acs5k_tiny
  afeb9260_defconfig       - Build for afeb9260
  am200epdkit_defconfig    - Build for am200epdkit
  am3517_evm_defconfig     - Build for am3517_evm
  ams_delta_defconfig      - Build for ams_delta
  ap4evb_defconfig         - Build for ap4evb
  assabet_defconfig        - Build for assabet
  at572d940hfek_defconfig  - Build for at572d940hfek
  at91cap9adk_defconfig    - Build for at91cap9adk
  at91rm9200dk_defconfig   - Build for at91rm9200dk
....
....
  spitz_defconfig          - Build for spitz
  stamp9g20_defconfig      - Build for stamp9g20
  stmp378x_defconfig       - Build for stmp378x
  stmp37xx_defconfig       - Build for stmp37xx
  sx1_defconfig            - Build for sx1
  tct_hammer_defconfig     - Build for tct_hammer
  trizeps4_defconfig       - Build for trizeps4
  u300_defconfig           - Build for u300
  u8500_defconfig          - Build for u8500
  usb-a9260_defconfig      - Build for usb-a9260
  usb-a9263_defconfig      - Build for usb-a9263
  versatile_defconfig      - Build for versatile
  viper_defconfig          - Build for viper
  xcep_defconfig           - Build for xcep
  yl9200_defconfig         - Build for yl9200
  zeus_defconfig           - Build for zeus

  make V=0|1 [targets] 0 => quiet build (default), 1 => verbose build
  make V=2   [targets] 2 => give reason for rebuild of target
  make O=dir [targets] Locate all output files in "dir", including .config
  make C=1   [targets] Check all c source with $CHECK (sparse by default)
  make C=2   [targets] Force check of all c source with $CHECK

Execute "make" or "make all" to build all targets marked with [*] 
For further info see the ./README file

Linux version & name

原來 Linux 的版本寫在 最上面的 Makefile:
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 38
EXTRAVERSION = .8
NAME = Flesh-Eating Bats with Fangs
然後這些變數會被用來組成版本字串,
build 的時候會被放在 OUTPUT folder 的 include/config/kernel.release

最後一項是 NAME..
以 3.11 的 NAME 是 Linux for Workgroups

ref: List of Linux kernel names

2013年8月26日 星期一

ST32F4 Discovery

看起來好像是到 這裡 download prebuilt binary.

有 linux, windows 等版本。


ref:

sensation, recovery image & ROMS

sensation recovery 吃的是 PG58IMG.zip
所以到 http://www.clockworkmod.com/rommanager 下載正確的 recovery rom 版本後,
zip , 再rename 成 PG58IMG.zip 就可以放到 sd card...

另外有一個網站把 xda sensation developement 中所有的 ROM 都整理起來:
http://www.htcsensationroms.com/all-builds/

2013年8月22日 星期四

install libmpfr4 in ubuntu lucid (10.04)

因為 build android old rev (before 4.0),要使用 gcc 4.xxx.. 不然要 patch 一堆。
而使用這版本 gcc 的 LTS 只有 lucid..

但是在 build 的時後,需要 libmpc2.. 所以安裝 --> OK.
之後就出現 libmpfr.so.4 找不到。
這個是 package libmpfr4,
可以 lucid 沒有。
找 ubuntu 上 libmpfr4 的最舊版本,是 precise 的,用 dpkg -i 安裝,說要 multiarch 這個 package..
lucid 也沒有,所以不能裝。

最後是用 launchpad port 到 maverick 的 libmpfr4 版本: https://launchpad.net/ubuntu/maverick/amd64/libmpfr4/3.0.0-2

下載安裝 OK

2013年8月13日 星期二

Revolution HD 7.3

因為種種問題,所以想想回到舊版看看。
既然如此,就試試看 一樣是 4.0 的Revolution 好了。
http://forum.xda-developers.com/showthread.php?t=1098849
安裝也是包含 app 了,所以只要裝一次。
也一樣是漂亮的 touch ui,
可以選擇要裝的 app ,調整和 kernel (我選 saba...FM)
裝完開機是 紅色的 Beat 字樣,約等 3min 後開完。
用起來跟原廠的差不多,是好像有比較不頓了
原來instagrame 無法錄影的也好了,
WiFi 好像有問題,常常自動斷線

9/3..奇怪,開 Bt, GPS/Wifi 一陣子後,sd card 常自動退出..

2013年8月12日 星期一

git with https source.. SSL error

最近越來越多 git source 採用 https,

有兩個麻煩的地方:
  • username, password
  • SSL certification
usename, password 就用 ~/.netrc 就可以,
把 machine, login, password 寫進去:
machine my.git.com
login checko
password mygitpassword
.. 對,是明文 ..

site SSL certification fail 就會出現...
Initialized empty Git repository in /xxxx/xxxx/.git/
Password: 
error: server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none while accessing https://xxxx@xxxx.xxxx/xxxx/xxxx.git/info/refs

fatal: HTTP request failed
這時候就加上這個還就可以:
export GIT_SSL_NO_VERIFY=1


2013年8月8日 星期四

Wheezy -- sun-jdk6

因為 android 2.X 還是只能用 sun-java 6.
所以還是不能用openjdk。

wheezy none-free 已經拿掉 sun-java,
連 debian 網站都說要自己作 (https://wiki.debian.org/Java/Sun)

所以還是 follow 大家的作法,把squeeze 加到 sources.list 中..

ref: http://blog.longwin.com.tw/2013/05/debian-wheezy-sun-java-jdk-2013/

我是加入:
# for sun-java6
deb http://debian.nctu.edu.tw/debian/ squeeze main non-free

然後 aptitude update, 就可以...



其他順便:
build-essential zip curl libncurses5-dev zlib1g-dev tofrodos libglib2.0-dev flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.8-dev ccache libgmp3c2 libgmpxx4ldbl libgmp3-dev libmpc2 libmpc-dev libmpfr-dev libmpfr4 g++-multilib lib32z1-dev lib32ncurses5-dev 

2013年8月7日 星期三

2TB HD in Dell N4010 -- booting hang on Bios F2

裝在 eSATA 上,結果開機按F2想進入 bios,姊果卡住。
有一次等了 10min 後,卻顯示沒有 eSATA HD。
但是不進入 BIOS,直接由 internal HD 開機進 Windows 7。卻可以看到 eSATA 上的 HD。

使用 DVD 開機後也可以看到。
所以就安裝了 Wheezy...

但是還是一樣,開機時按 F2 就卡住。

後來找到這一篇: http://en.community.dell.com/support-forums/laptop/f/3519/p/19480181/20247568.aspx

說要把電源和電池拔掉,然後按幾下 Power ,把剩餘的電都耗光。
然後再開機。

這樣作過再開,按下F2果然就可以偵測到 這格 HD 了。

猜 大概是為了快速開機,所以bios 會存 detect 到 HD 資料。
但是做得不夠好,沒有即時 update,所以導致換 HD 後,進 BIOS 都會 hang 住。
所以要把 電源都耗光,讓bios 記憶資料消失。

沒效,後來一直發生 bios 開機卡住

新硬碟,Toshiba 2t

2688,pchome


裝起來用的感想.......好吵XD

而且有時候 bios 會偵測不到、導致開機hang 再 bios setup..

有時候開機進去,會出現sata error,懷疑是外接盒問題。

但是開進去後又OK。

懷疑是

退貨了,,,一直卡作者bios

2013年8月6日 星期二

XXX is not clean, please run 'make mrproper'

奇怪的,每次作menuconfig 後,make 都會出現:
  Using /home/charles-chang/Android/kernel as source for kernel
  /home/charles-chang/Android/kernel is not clean, please run 'make mrproper'
查一下這段 message 是出自於 kernel/Makefile:
# prepare3 is used to check if we are building in a separate output directory,
# and if so do:
# 1) Check that make has not been executed in the kernel src $(srctree)
prepare3: include/config/kernel.release
ifneq ($(KBUILD_SRC),)
        @$(kecho) '  Using $(srctree) as source for kernel'
        $(Q)if [ -f $(srctree)/.config -o -d $(srctree)/include/config ]; then \
                echo "  $(srctree) is not clean, please run 'make mrproper'";\
                echo "  in the '$(srctree)' directory.";\
                /bin/false; \
        fi;
endif
是說,如果是有用 "O= " 指定 output path的話,檢查一下 .config 或是 include/config 在不在。
如果在的話,就 error。顯示 XXX is not clean, please run 'make mrproper'

結果檢查一下, .config 是不在 (因為是在 out),
include/config 卻有,裡面是空的。

run make mrproper 也沒刪掉。

所以只好手動刪了。
之後 run make 就 OK 了。


這是因為是在有指定 O= (output folder) 的狀況下作 make, 但是又忘記設定 O= 選項。
導致 menuconfig 把 config 寫在 source 目錄,不在 out 目錄。

Revelation.. 4.1.1...

所以只好試試 http://forum.xda-developers.com/showthread.php?t=2349756

這個rom 要裝 1.0.0 然後 update 1.0.1, 1.0.2..
gapp 已經內含了

從 recovery 選擇安裝 1.0.0 的時候,竟然跳出圖形畫面,要我touch 螢幕選擇安裝方式,還有一堆安裝選項,最後選擇機型。
安裝過程也是整個圖形 progress bar with install app name..

很專業。

裝完,reboot,我按著 volume down,結果就回到 recovery,
然後就選 update 1.0.1,一樣,是圖形。
裝完 reboot + volume down,選 1.0.2,
裝完 reboot (不按volume down)。

開機,在 Revelation 畫面停很久....
-- 大概有 5min 吧..
開機後竟然是htc sense 的首次開始動作....
註冊一堆帳號...., 然後就在註冊過程中 google play service 停止動作..

.. 結果這是 4.1.1 不是 JB

但是這個版本跟htc 原來的 4.1 不一樣。
像 google now, 已經支援。
facebook 的錄影模式也可以使用。

好像跟標準android的相容性比較高了。

,,果然跟原廠rom一樣...充電超慢..然後開啟 ap 會有點鈍鈍的。
開 pocket 時,hange 住,自己 reboot 過一次..

電池一般使用大概可以用 5 ~ 6 hrs.

一切都好,除了camera 對焦好像有點問題。(但是我用過htc hero, desire, sensation..每個camera都有問題)。
另外看到這個 rom : (http://forum.xda-developers.com/showthread.php?t=2216858) 一樣是基於 htc vanilla..但是有寫修正camera 對焦問題..
.. 接下來試試看。

Instagrame 的進階相機會讓系統當機。

realrace3 不能 run .. system 會 hang 住,然後 reboot..
有幾次,camera hang 住。
曾發生3G 連線一直失敗,reboot 後 OK

但是總的來說,還算 OK 就是...

2013年8月2日 星期五

應該就是CM吧 ,CM10. 1

上次那個 ThinkingBridge,因為耗電太兇,不能用。所以只好再換一個..
[ROM][JB 4.2.2][JDQ39E] ThinkingBridge ROM [pyramid][June 27, 2013][Stable 4]

和thinkingbridge 相比,設定的地方比較少了。

為了公平,和thinkingbridge 裝了一樣多的package。

因為都是基於 AOSP (CM),所以畫面都一樣。


糟糕...好像一樣耗電喔...
還有wifi 偶而出現開關時卡住的問題 。

8.4有更新了 ,來試試。


看了一下說明 ,原來裝完ROM都要做一次電池充放電,禳程式做一次Battery 校正。

8/4 這一版,電池沒有明顯進步,Wifi 沒有仔細測,但是有一個致命的就是 Camera Video 無法錄影。
--但是我是由前一版值些安裝這一版和gapp,然後wip cache而已。

2013年7月29日 星期一

hTC sensation , 改 CWM recovery. 安裝Thinkingbridge

放入 PG58IMG.zip ,按volume-down 和 power 開機進入hboot,
他自己就升級了,然後就說 CID error。

先把 PGM58IMG.zip 刪除,開入 hboot,選 fastboot, 按下power 進入 fastboot。
用 fastboot command:
$ fastboot getvar cid
cid: HTC__621
finished. total time: 0.002s
google 了一下,這是 carrier id。

要改萬用 cid:
$ fastboot oem writecid 11111111
...
(bootloader) Start Verify: 0
(bootloader) erase sector 65504 ~ 65535 (32)
(bootloader) mipi_dsi_cmd_config:panel_id=0x940021
(bootloader) width=540 height=960
(bootloader) mipi_dsi_cmd_config:panel_id=0x940021
(bootloader) width=540 height=960
OKAY [  1.677s]
finished. total time: 1.678s
之後關機,再把PGM58IMG.zip copy 到 sd,volume-down + power 開進 hboot。
就出現 "Update ?"
按 power 選 OK 後,就開始 update...............
然後就 按 power 確認 reboot,趕快把 sd 抽出來,刪掉 PGM58IMG.zip

下次 volume+power 開機進入 hboot,選 recovery.. 就會進入 CWM 了。


然後選 backup...

原先安裝 KANG 的版本,但是不裝gapp 時還 OK,可以開機,裝完GAPP後就沒辦法開了 (可能是 GAPP版本太新/不合)

最後安裝的是thinkingbridge 的版本 :
thinkingbridge_pyramid-userdebug 4.2.2 JDQ39E eng.woorim.20130627.214502 test-keys
gapp 是 201303 的版本

使用起來,好像還 OK...

..只是充電好像有點問題...
..google map 轉動時,畫面會閃動 (update 沒有sync 到 frame refresh time)
..很耗電,睡覺時放著 4 hr, 耗掉 40%..
還有不定時重開機...
  • 切到mass-storage mode
  • 從 status bar 啟動 wifi


ref:
  • http://bbs.dospy.com/thread-14084264-1-461-1.html
  • http://www.theandroidsoul.com/cwm-clockworkmod-recovery-6-0-htc-sensation-guide/
  • http://forum.xda-developers.com/showthread.php?t=2341088
  • http://forum.xda-developers.com/showthread.php?t=2115520

有點怪怪的地方...
  • 沒放 SD card 好像不會進 hboot
  • power off 後,不拔電池好像沒有真的斷電-- htc 網站好像也有這麼說。
  • 外殼好像有問題,有時候按下volume down 會沒效
  • CWM 6.0 好像不能用,刷完幾個 ROM都一直重複開到 recovery,後來改 4.0.X 的CWM 後,刷 ROM 才成功(一個 bruce ?)


使用一週後的心得:

太耗電了,100%的電,用不到 8 hrs。
把 3G 關掉,睡覺4hrs,耗電0%,但是打開3G的化,睡覺 4hr, 耗電30%。查看都是screen 耗電 (螢幕都關著還耗電?)

只開Wifi 也一樣。

還有3G找電信商,每次都錯誤。

只有這兩點,其他function 都工作蠻好的。
camera, bt, wifi, usb-tether, hotspot...etc

已經offline 的 ubuntu 版本的 repo 集散地 : old-releases.ubuntu.com

ubuntu 改版的速度很快,所以一些不是 LTS 的版本,一下子就下架了,
repository sever 也移除了。

如果還有舊的 server,仍然使用這些下架版本,要apt-get install 新 package 就會 fail。

這時候就要改一下 source.list

ubuntu 把這些下架,不再mantain 的 版本都放在: old-releases.ubuntu.com

以 10.10 (maverick) 為例,把 sources.list 改成:
deb http://old-releases.ubuntu.com/ubuntu/ maverick main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ maverick-updates main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ maverick-security main restricted universe multiverse


ref: Old Repository Ubuntu 10.10 Maverick Meerkat

2013年7月23日 星期二

imx53 bootlog - bsp 10.3.2 on qsb


U-Boot 2009.08-00333-g9e1496a (Jul 23 2013 - 15:31:46)

CPU:   Freescale i.MX53 family 2.1V at 800 MHz
mx53 pll1: 800MHz
mx53 pll2: 400MHz
mx53 pll3: 216MHz
mx53 pll4: 455MHz
ipg clock     : 66666666Hz
ipg per clock : 33333333Hz
uart clock    : 66666666Hz
cspi clock    : 54000000Hz
ahb clock     : 133333333Hz
axi_a clock   : 400000000Hz
axi_b clock   : 200000000Hz
emi_slow clock: 133333333Hz
ddr clock     : 400000000Hz
esdhc1 clock  : 80000000Hz
esdhc2 clock  : 80000000Hz
esdhc3 clock  : 80000000Hz
esdhc4 clock  : 80000000Hz
nfc clock     : 26666666Hz
Board: MX53-LOCO 1.0
Boot Reason: [POR]
Boot Device: SD
I2C:   ready
DRAM:   1 GB
MMC:   FSL_ESDHC: 0, FSL_ESDHC: 1
*** Warning - bad CRC or MMC, using default environment

In:    serial
Out:   serial
Err:   serial
da9052_i2c_is_connected - i2c write success....
Serial reinitilized!
Checking for recovery command file...
Net:   got MAC address from IIM: 00:04:9f:01:b4:e0
FEC0 [PRIME]
Warning: FEC0 MAC addresses don't match:
Address in SROM is         00:04:9f:01:b4:e0
Address in environment is  00:04:9f:00:ea:d3

Hit any key to stop autoboot:  0

MMC read: dev # 0, block # 2048,count 8192 ...
8192 blocks read: OK

MMC read: dev # 0, block # 12288,count 768 ...
768 blocks read: OK
## Booting kernel from Legacy Image at 70800000 ...
   Image Name:   Linux-2.6.35.3-01268-g2a94aa9
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3326256 Bytes =  3.2 MB
   Load Address: 70008000
   Entry Point:  70008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 70d00000 ...
   Image Name:   Android Root Filesystem
   Image Type:   ARM Linux RAMDisk Image (uncompressed)
   Data Size:    312320 Bytes = 305 kB
   Load Address: 70308000
   Entry Point:  70308000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Initializing cgroup subsys cpu
Linux version 2.6.35.3-01268-g2a94aa9 (charles-chang@robot) (gcc version 4.4.3 (GCC) ) #2 PREEMPT Tue Jul 23 15:45:49 CST 2013
CPU: ARMv7 Processor [412fc085] revision 5 (ARMv7), cr=10c53c7f
CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
Machine: Freescale MX53 LOCO Board
Memory policy: ECC disabled, Data cache writeback
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 213860
Kernel command line: console=ttymxc0 init=/init androidboot.console=ttymxc0 di0_primary pmem=32M,64M fbmem=5M gpu_memory=64M dcc=off video=mxcdi1fb:YUV444,TV-NTSC tve calibration
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
allocated 6952960 bytes of page_cgroup
please try 'cgroup_disable=memory' option if you don't want memory cgroups
Memory: 512MB 334MB = 846MB total
Memory: 842028k/842028k available, 24276k reserved, 342016K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    DMA     : 0xfde00000 - 0xffe00000   (  32 MB)
    vmalloc : 0xe0800000 - 0xf4000000   ( 312 MB)
    lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
    pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    modules : 0xbf000000 - 0xbfe00000   (  14 MB)
      .init : 0xc0008000 - 0xc0039000   ( 196 kB)
      .text : 0xc0039000 - 0xc0893000   (8552 kB)
      .data : 0xc08b4000 - 0xc091cc60   ( 420 kB)
SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Hierarchical RCU implementation.
        RCU-based detection of stalled CPUs is disabled.
        Verbose stalled-CPUs detection is disabled.
NR_IRQS:368
MXC GPIO hardware
MXC IRQ initialized
MXC_Early serial console at MMIO 0x53fbc000 (options '115200')
bootconsole [ttymxc0] enabled
Console: colour dummy device 80x30
Calibrating delay loop... 999.42 BogoMIPS (lpj=4997120)
pid_max: default: 32768 minimum: 301
Security Framework initialized
Mount-cache hash table entries: 512
Initializing cgroup subsys debug
Initializing cgroup subsys ns
Initializing cgroup subsys cpuacct
Initializing cgroup subsys memory
Initializing cgroup subsys devices
Initializing cgroup subsys freezer
Initializing cgroup subsys blkio
CPU: Testing write buffer coherency: ok
regulator: core version 0.5
NET: Registered protocol family 16
i.MX IRAM pool: 128 KB@0xe0840000
IRAM READY
CPU is i.MX53 Revision 2.1
Using SDMA I.API
MXC DMA API initialized
IMX usb wakeup probe
IMX usb wakeup probe
bio: create slab  at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
da9052_i2c_is_connected - i2c read success....
regulator: DA9052_LDO1: 600 <--> 1800 mV at 1300 mV normal
regulator: DA9052_LDO2: 600 <--> 1800 mV at 1300 mV normal
regulator: DA9052_LDO3: 1725 <--> 3300 mV at 3300 mV normal
regulator: DA9052_LDO4: 1725 <--> 3300 mV at 2775 mV normal
regulator: DA9052_LDO5: 1200 <--> 3600 mV at 1300 mV normal
regulator: DA9052_LDO6: 1200 <--> 3600 mV at 1300 mV normal
regulator: DA9052_LDO7: 1200 <--> 3600 mV at 2750 mV normal
regulator: DA9052_LDO8: 1200 <--> 3600 mV at 1800 mV normal
regulator: DA9052_LDO9: 1250 <--> 3650 mV at 1500 mV normal
regulator: DA9052_LDO10: 1200 <--> 3600 mV at 1300 mV normal
regulator: DA9052_BUCK_CORE: 500 <--> 2075 mV at 1250 mV normal
regulator: DA9052_BUCK_PRO: 500 <--> 2075 mV at 1300 mV normal
regulator: DA9052_BUCK_MEM: 925 <--> 2500 mV at 1500 mV normal
regulator: DA9052_BUCK_PERI: 1800 <--> 3600 mV at 3600 mV normal
DA9053 chip ID reg read=0xa3
BB version probed
IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)
Advanced Linux Sound Architecture Driver Version 1.0.23.
Bluetooth: Core ver 2.15
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Switching to clocksource mxc_timer1
NET: Registered protocol family 2
IP route cache hash table entries: 16384 (order: 4, 65536 bytes)
TCP established hash table entries: 65536 (order: 7, 524288 bytes)
TCP bind hash table entries: 65536 (order: 6, 262144 bytes)
TCP: Hash tables configured (established 65536 bind 65536)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
Unpacking initramfs...
Freeing initrd memory: 304K
LPMode driver module loaded
Static Power Management for Freescale i.MX5
PM driver module loaded
sdram autogating driver module loaded
Bus freq driver module loaded
DI0 is primary
mxc_dvfs_core_probe
DVFS driver module loaded
i.MXC CPU frequency driver
DVFS PER driver module loaded
highmem bounce pool size: 64 pages
ashmem: initialized
msgmni has been set to 977
alg: No test for stdrng (krng)
cryptodev: driver loaded.
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
regulator: get() with no identifier
By setting, SII driver will not be enabled
By setting, LDB driver will not be enabled
mxc_ipu mxc_ipu: Channel already disabled 9
mxc_ipu mxc_ipu: Channel already uninitialized 9
mxc_ipu mxc_ipu: Channel already disabled 7
mxc_ipu mxc_ipu: Channel already uninitialized 7
mxc_ipu mxc_ipu: Channel already disabled 10
mxc_ipu mxc_ipu: Channel already uninitialized 10
Serial: MXC Internal UART driver
mxcintuart.0: ttymxc0 at MMIO 0x53fbc000 (irq = 31) is a Freescale i.MX
console [ttymxc0] enabled, bootconsole disabled
console [ttymxc0] enabled, bootconsole disabled
mxcintuart.1: ttymxc1 at MMIO 0x53fc0000 (irq = 32) is a Freescale i.MX
mxcintuart.2: ttymxc2 at MMIO 0x5000c000 (irq = 33) is a Freescale i.MX
mxcintuart.3: ttymxc3 at MMIO 0x53ff0000 (irq = 13) is a Freescale i.MX
mxcintuart.4: ttymxc4 at MMIO 0x63f90000 (irq = 86) is a Freescale i.MX
loop: module loaded
pmem_adsp: 1 init
pmem_gpu: 1 init
MXC MTD nand Driver 3.0
i.MX GPMI NFC
vcan: Virtual CAN interface driver
Freescale FlexCAN Driver
FEC Ethernet Driver
fec_enet_mii_bus: probed
PPP generic driver version 2.4.2
PPP Deflate Compression module registered
PPP BSD Compression module registered
PPP MPPE Compression module registered
NET: Registered protocol family 24
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky 
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
fsl-ehci fsl-ehci.1: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci.1: new USB bus registered, assigned bus number 1
fsl-ehci fsl-ehci.1: irq 14, io base 0x53f80200
fsl-ehci fsl-ehci.1: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
usbcore: registered new interface driver cdc_acm
cdc_acm: v0.26:USB Abstract Control Model driver for USB modems and ISDN adapters
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver usbserial
usbserial: USB Serial Driver core
USB Serial support registered for GSM modem (1-port)
usbcore: registered new interface driver option
option: v0.7.2:USB Driver for GSM modems
ARC USBOTG Device Controller driver (1 August 2005)
Android usb driver initialize
android_usb gadget: android_usb ready
fsl-usb2-udc: bind to driver android_usb
android gadget: register function adb
android gadget: register function usb_mass_storage
android gadget: register function rndis
rndis_function_bind_config MAC: 00:00:00:00:00:00
android_usb gadget: using random self ethernet address
android_usb gadget: using random host ethernet address
usb0: MAC 6e:56:e7:87:0e:92
usb0: HOST MAC 8a:fe:4a:2d:29:62
android_usb gadget: usb_mass_storage, version: 2009/09/11
android_usb gadget: Number of LUNs=3
 lun0: LUN: removable file: (no medium)
 lun1: LUN: removable file: (no medium)
 lun2: LUN: removable file: (no medium)
f_accessory init
android gadget: register function accessory
mice: could not register psaux device, error: -16
mice: PS/2 mouse device common for all mice
input: gpio-keys as /devices/platform/gpio-keys/input/input0
MXC keypad loaded
egalax_ts 2-0004: request gpio failed:-16
egalax_ts 2-0004: egalax_ts: failed to read firmware version
egalax_ts: probe of 2-0004 failed with error -5
p1003_fwv33 2-0041: couldn't read panel infomation.
p1003_fwv33: probe of 2-0041 failed with error -5
DA9052 TSI Device Driver, v1.0
input: da9052_tsi as /devices/virtual/input/input1
TSI Drv Successfully Inserted da9052_tsi
input: da9052-onkey as /devices/platform/imx-i2c.0/i2c-0/0-0048/da9052-onkey/input/input2
using rtc device, da9052-rtc, for alarms
da9052-rtc da9052-rtc: rtc core: registered da9052-rtc as rtc0
i2c /dev entries driver
IR NEC protocol handler initialized
IR RC5(x) protocol handler initialized
IR RC6 protocol handler initialized
IR JVC protocol handler initialized
IR Sony protocol handler initialized
Linux video capture interface: v2.00
mxc_v4l2_output mxc_v4l2_output.0: Registered device video1
usbcore: registered new interface driver uvcvideo
USB Video Class driver (v0.1.0)
APM Battery Driver
check mma8450 chip ID
mma8450 0-001c: build time Jul 23 2013 15:43:38
input: mma8450 as /devices/virtual/input/input3
add mma8450 i2c driver
MXC WatchDog Driver 2.0
MXC Watchdog # 0 Timer: initial timeout 60 sec
device-mapper: ioctl: 4.17.0-ioctl (2010-03-05) initialised: dm-devel@redhat.com
Bluetooth: Virtual HCI driver ver 1.3
Bluetooth: HCI UART driver ver 2.2
Bluetooth: HCIATH3K protocol initialized
Bluetooth: Generic Bluetooth USB driver ver 0.6
usbcore: registered new interface driver btusb
VPU initialized
mxc_asrc registered
gpu mmu disabled
mxsdhci: MXC Secure Digital Host Controller Interface driver
mxsdhci: MXC SDHCI Controller Driver.
mmc0: SDHCI detect irq 0 irq 1 INTERNAL DMA
mxsdhci: MXC SDHCI Controller Driver.
mmc1: SDHCI detect irq 203 irq 3 INTERNAL DMA
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
logger: created 64K log 'log_main'
logger: created 256K log 'log_events'
logger: created 64K log 'log_radio'
logger: created 64K log 'log_system'
Cirrus Logic CS42888 ALSA SoC Codec Driver
sgtl5000-i2c 1-000a: SGTL5000 revision 17
mxc_spdif mxc_spdif.0: MXC SPDIF Audio Transmitter
No device for codec mxc spdif
No device for DAI mxc spdif
No device for DAI imx-ssi-1-0
No device for DAI imx-ssi-1-1
No device for DAI imx-ssi-2-0
No device for DAI imx-ssi-2-1
No device for DAI imx-spdif-dai
DMA Sound Buffer Allocated: Playback UseIram=1 ext_ram=0 buf->addr=f8016000 buf->area=e0856000 size=24576
DMA Sound Buffer Allocated: Capture  UseIram=1 ext_ram=1 buf->addr=8f350000 buf->area=fe901000 size=24576
asoc: SGTL5000 <-> imx-ssi-2-0 mapping ok
mmc0: new high speed SD card at address 1234
mmcblk0: mmc0:1234 SA02G 1.83 GiB
 mmcblk0: p1 p2 p3 < p5 p6 > p4
DMA Sound Buffer Allocated: Playback UseIram=1 ext_ram=1 buf->addr=8f3b8000 buf->area=fe907000 size=24576
asoc: mxc spdif <-> imx-spdif-dai mapping ok
ALSA device list:
  #0: imx-3stack (SGTL5000)
  #1: imx-3stack-spdif (mxc spdif)
nf_conntrack version 0.5.0 (13161 buckets, 52644 max)
IPv4 over IPv4 tunneling driver
GRE over IPv4 tunneling driver
ip_tables: (C) 2000-2006 Netfilter Core Team
TCP cubic registered
NET: Registered protocol family 10
IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
NET: Registered protocol family 15
can: controller area network core (rev 20090105 abi 8)
NET: Registered protocol family 29
can: raw protocol (rev 20090105)
can: broadcast manager protocol (rev 20090105 t)
Bluetooth: L2CAP ver 2.14
Bluetooth: L2CAP socket layer initialized
Bluetooth: SCO (Voice Link) ver 0.6
Bluetooth: SCO socket layer initialized
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM ver 1.11
Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Bluetooth: BNEP filters: protocol multicast
Bluetooth: HIDP (Human Interface Emulation) ver 1.2
L2TP core driver, V2.0
PPPoL2TP kernel driver, V2.0
VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 2
regulator_init_complete: incomplete constraints, leaving DA9052_BUCK_PERI on
regulator_init_complete: incomplete constraints, leaving DA9052_BUCK_MEM on
regulator_init_complete: incomplete constraints, leaving DA9052_BUCK_PRO on
regulator_init_complete: incomplete constraints, leaving DA9052_BUCK_CORE on
regulator_init_complete: incomplete constraints, leaving DA9052_LDO10 on
regulator_init_complete: incomplete constraints, leaving DA9052_LDO9 on
regulator_init_complete: incomplete constraints, leaving DA9052_LDO8 on
regulator_init_complete: incomplete constraints, leaving DA9052_LDO6 on
regulator_init_complete: incomplete constraints, leaving DA9052_LDO5 on
regulator_init_complete: incomplete constraints, leaving DA9052_LDO4 on
regulator_init_complete: incomplete constraints, leaving DA9052_LDO3 on
regulator_init_complete: incomplete constraints, leaving DA9052_LDO2 on
regulator_init_complete: incomplete constraints, leaving DA9052_LDO1 on
da9052-rtc da9052-rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
Freeing init memory: 196K
init: cannot open '/initlogo.rle'
EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
EXT4-fs (mmcblk0p5): mounted filesystem with ordered data mode. Opts: noauto_da_alloc
EXT4-fs (mmcblk0p6): mounted filesystem with ordered data mode. Opts: (null)
init: cannot find '/system/etc/install-recovery.sh', disabling 'flash_recovery'
init: cannot find '/system/bin/magd', disabling 'magd'
enabling adb
# warning: `rild' uses 32-bit capabilities (legacy support in use)
pmem: request for physical address of pmem region from process 2166.
Unhandled fault: external abort on non-linefetch (0x1018) at 0x40a85054

標籤

網誌存檔