2013年11月27日 星期三

dell streak 5 刷機筆記

dell streak 5 刷機筆記

1. 下載 ClockworkMod Recovery,下載網址如下:

   http://forum.xda-developers.com/wiki/Dell_Streak/ROMs#Recovery_Images

2. 在 Debian 64 位元系統安裝刷機工具:adb 及 fastboot。

3. 確定 adb 及 fastboot 能支援 dell streak 5:

3.1 先將 dell streak 5 的 USB Debugging 選項打開,位置是:
    Setup -> Development -> USB debugging。

3.2 將 dell streak 5 與主機連線,並執行 lsusb 觀看是否已與 dell streak 5 連線,
    其輸出如下:
    Bus 004 Device 023: ID 413c:b007 Dell Computer Corp.

3.3 將要刷入 dell streak 5 的 rom 存入 sd card 中,假設其名稱為 rom.zip

3.4 以 root 權限執行 adb devices,看看系統是否有抓到 dell streak 5:

# adb devices
List of devices attached

0011954001337828        device

如果有上述裝置表示 dell streak 5 已經可以被 adb 抓到。

3.5 將 Dell streak 5 重開進 fastboot 模式,可以執行底下指令:

    adb reboot bootloader

    或一直按 ”照相鍵" + "開機鍵” 一直到開機畫面,再選右上角之 fastboot

3.6 刷 ClockworkMod Recovery image,以此例來說其名稱為 S5-6.0.1.2.img,指令如下:
    fastboot -i 0x413c flash recovery S5-6.0.1.2.img

    刷完後可以執行 fastboot reboot 來重新開機

4. 重新開機時請按 "音量+" + "音量-" + "開機鍵" 一直到刷機選單,然後選擇:

   2. Software upgrade via Update.pkg on SD card

   再選擇

   choose zip from SD card

   選好之後選 Install 即可

   記得將所有原本手機上的資料清掉,因此底下操作要先作:
   wipe data/factory reset
   wipe cache partition

參考網站:

Dell Streak 刷機教學... (圖多)

{APK技術組}【精華版APK首發】Dell Streak Mini 5 "ROM刷包~穩定無Bug

How to Install ClockworkMod Recovery on the Dell Streak 5

【新手看了也會】開開心心吃薑餅....Dell Streak Mini 5 自升 Android 2.3.3

2013年11月25日 星期一

安裝 qemu linaro 版

目的:安裝 qemu linaro 版

說明:qemu linaro 版是第三方協力廠商所開發的 qemu 版,其功能較原始官方版本更強,例如支援 beagle 模擬,因此在此我們介紹如何下載、編譯、安裝 qemu linaro 版。

下載:qemu linaro 版下載網址如下:
      https://launchpad.net/qemu-linaro/

      請下載最新版本,以本例來說,其檔名是 qemu-linaro-1.7.0-2014.01.tar.gz

      wget ftp://120.117.72.71/files/qemu-linaro-1.7.0-2014.01.tar.gz

解開:tar xfva qemu-linaro-1.7.0-2014.01.tar.gz
      解開後會出現一個名為 qemu-linaro-1.7.0-2014.01 的目錄,請切換至此目錄中。


要編譯前要先安裝底下套件:

zlib1g-dev
pkg-config
libcurl4-openssl-dev
libsdl-dev
libsasl2-dev
libaio-dev
libvde-dev
libvdeplug2-dev
uuid-dev
libcap-ng-dev
libpixman-1-dev


編譯:

./configure


若是 ./configure 出現底下錯誤的話:

ERROR: DTC not present. Your options:
         (1) Preferred: Install the DTC devel package
         (2) Fetch the DTC submodule, using:
             git submodule update --init dtc

其解決方法在:

http://lists.gnu.org/archive/html/qemu-devel/2013-11/msg03494.html

請再安裝底下套件

device-tree-compiler
libfdt-dev


time make -j N

若有錯誤訊息,請設法解決。


安裝:

# make install


驗證:

在 /usr/local/bin 目錄下有一堆 qemu-system-???? 的檔案,如下所示:

/usr/local/bin/qemu-system-alpha         /usr/local/bin/qemu-system-or32
/usr/local/bin/qemu-system-arm           /usr/local/bin/qemu-system-ppc
/usr/local/bin/qemu-system-cris          /usr/local/bin/qemu-system-ppc64
/usr/local/bin/qemu-system-i386          /usr/local/bin/qemu-system-ppcemb
/usr/local/bin/qemu-system-lm32          /usr/local/bin/qemu-system-s390x
/usr/local/bin/qemu-system-m68k          /usr/local/bin/qemu-system-sh4
/usr/local/bin/qemu-system-microblaze    /usr/local/bin/qemu-system-sh4eb
/usr/local/bin/qemu-system-microblazeel  /usr/local/bin/qemu-system-sparc
/usr/local/bin/qemu-system-mips          /usr/local/bin/qemu-system-sparc64
/usr/local/bin/qemu-system-mips64        /usr/local/bin/qemu-system-unicore32
/usr/local/bin/qemu-system-mips64el      /usr/local/bin/qemu-system-x86_64
/usr/local/bin/qemu-system-mipsel        /usr/local/bin/qemu-system-xtensa
/usr/local/bin/qemu-system-moxie         /usr/local/bin/qemu-system-xtensaeb

我們可以執行

/usr/local/bin/qemu-system-arm -version

或是

/usr/local/bin/qemu-system-x86_64 --version


其輸出如下:


QEMU emulator version 1.7.0 (qemu-linaro 2014.01), Copyright (c) 2003-2008 Fabrice Bellard


我們可以看過上述字串有 qemu-linaro 2014.01,這表示我們所安裝的 qemu linaro 已經是最新版了。

降級 arm gcc toolchain 至 4.4 版

目的:降級 arm gcc toolchain 至 4.4 版

原因:gcc arm gnueabi 4.7 版在升級上有軟體相依性的問題,因此我們要降級成
      gcc 4.4 版

方式:

1. 將 ftp://120.117.72.71/toolchain/ 整個抓下來

wget -t 0 -np -m ftp://120.117.72.71/toolchain/

2. 至 toolchain 目錄中執行底下指令:

cd 120.117.72.71/toolchain

# dpkg -i *

來安裝 4.4 的 toolchain,作完後請到 /usr/bin 目錄下重新建立 soft link

root@debian:/usr/bin# ln -s arm-linux-gnueabi-cpp-4.4 arm-linux-gnueabi-cpp
root@debian:/usr/bin# ln -s arm-linux-gnueabi-gcc-4.4 arm-linux-gnueabi-gcc
root@debian:/usr/bin# ln -s arm-linux-gnueabi-c++-4.4 arm-linux-gnueabi-c++

2013年11月24日 星期日

如何新增 icewm 選單圖示

目的:如何新增 icewm 選單圖示

1. 圖示儲存路徑(目錄)

   /usr/share/pixmaps
   /usr/share/icons

2. 觀看圖片程式:geeqie
   編輯圖片程式:gimp


3. 下載圖片,要作圖示以正方形為宜,流程如下:
   3.1 以 gimp 編輯圖形,並切成正方形,
   3.2 匯出為 kerorohead.png

4. 以 geeqie 觀看剛剛所作之圖示

5. 加入 icewm 選單
   cd /etc/X11/icewm
   以 root 權限編輯 menu 這個檔案

   把圖示欄位寫成絕對路徑,如底下所示:

   prog "urxvt24" /home/eecs/kerorohead.png urxvt24


6. icewm 的系統設定檔 /etc/X11/icewm/preferences,其中有一行 IconPath,設定如
   底下所示:

IconPath="/usr/share/pixmaps:/usr/share/icons:/usr/share/icons/icewm_icons"

   如此一來即可使用

   /usr/share/pixmaps
   /usr/share/icons
   /usr/share/icons/icewm_icons

   這三個目錄來存放 icon (圖示)

7. 以 root 權限把編輯完的圖示存至圖示目錄

   # cp /home/eecs/kerorohead.png /usr/share/icons

   複製完畢後請以 ls -l /usr/share/icons 來檢視此目錄是否有 kerorohead.png

8. 接下來請在 /etc/X11/icewm/menu 中設定圖示,而且無需加上路徑。

2013年11月11日 星期一

使用 qemu 啟動虛擬 ARM 機器

0. 先以 qemu 安裝 ARM 版 Debian Linux 至 arm.img

檔案位置:

~/qemu_image/                   -> 所有虛擬 ARM 檔案目錄
            /arm.img            -> 虛擬 ARM 硬碟映像檔
            /vmlinuz-3.2.0-4-versatile          -> ARM 開機核心
            /initrd.img-3.2.0-4-versatile       -> ARM 開機 initrd
            /runarm.sh          -> 開機 script


0. 先執行底下指令:
# losetup -a
此時會看到目前沒有輸出。

1. 接著將開機核心擷取出來:

# losetup /dev/loop0 arm.img
再執行
# losetup -a
其輸出如下:
/dev/loop0: [0831]:31198060 (/home/herman/qemu_image/arm.img)
這表示 /dev/loop0 與 arm.img 已經連接 (attach) 在一起,之後我們可以使用 fdisk -lu /dev/loop0 來觀看是否為當初安裝時所分割的磁區:

      Device Boot      Start         End      Blocks   Id  System
/dev/loop0p1            2048     3913727     1955840   83  Linux
/dev/loop0p2         3915774     4192255      138241    5  Extended
/dev/loop0p5         3915776     4192255      138240   82  Linux swap / Solaris

開機核心位於 ?

/boot

因此,我們要將 /dev/loop0p1 掛載上來,再至其 boot 目錄擷取 ARM 版 Linux 核心及 initrd。

losetup -o `expr 2048 \* 512` /dev/loop1 /dev/loop0

接著我們可以將 /dev/loop1 掛載至 /mnt 目錄下:

mount /dev/loop1 /mnt

掛載完後可以執行 df -h /mnt 來觀看結果:

檔案系統        容量  已用  可用 已用% 掛載點
/dev/loop1      1.9G  506M  1.3G   30% /mnt

接著可以至 /mnt/boot 目錄下擷取 Linux 核心

 cp /mnt/boot/initrd.img-3.2.0-4-versatile .
cp /mnt/boot/vmlinuz-3.2.0-4-versatile .

如此一來即完成核心擷取,接下來可以進行開機作業。

2. 使用 qemu 來開機

請將底下指令另存 runarm.sh 以便進行開機:

qemu-system-arm -M versatilepb -m 512 \
        -kernel ./vmlinuz-3.2.0-4-versatile \
        -initrd ./initrd.img-3.2.0-4-versatile \
        -hda arm.img \
        -append "root=/dev/sda1"


接著請執行 sh runarm.sh

 3. 登入系統,確定我們是在 ARM 的機器中

請在登入畫面使用 root 帳號、密碼,看能不能登入,並執行

cat /proc/cpuinfo

來觀看 CPU 狀態。


如果在 qemu 視窗中點擊滑鼠將會使 qemu 把滑鼠「抓走」,此時我們要按

Ctrl+Alt 讓 qemu 將滑鼠「釋放」出來,否則會沒有遊標可用,要確定目前

滑鼠是否有被 qemu 抓走請看 qemu 之狀態列。

在 qemu 畫面下按 Ctrl+Alt+f 可以放大/縮小全螢幕狀態。

 4. 安裝 arm 的 Xwindow,並進入 Xwindow 環境

4.1 將 /etc/apt/sources.list 中的鏡像站改至校內:

加上這兩行

deb ftp://120.117.72.71/debian wheezy main contrib non-free
deb ftp://120.117.72.71/debian wheezy-updates main contrib non-free

將 deb-src 註解,保留 security.debian.org 設定


修改完畢後執行 apt-get update

再安裝 xorg icewm 套件

4.2 安裝完畢後以一般 user 登入

登入完畢後執行

startx

看看能不能進入 Xwindow

5. 清除已安裝之 .deb 檔案

# apt-get clean

清除完畢可以執行 df -h 來看目前磁碟空間

6. 依照 X86 流程,安裝 iceweasel,並觀察能否上網。

2013年11月10日 星期日

啟動音效卡支援

目的:啟動音效卡支援

1. 使用 id 指令檢查自己是否有 audio 次群組

id

其輸出如下:

uid=1000(herman) gid=1000(herman) groups=1000(herman),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev)

若無 audio 次群組,請編輯 /etc/group 檔案,在 audio 行加上 eecs,如底下所示:

audio:x:29:eecs

改完要登出系統,再重新登入一次,並執行 id 指令確認是否有 audio 次群組。

2. 安裝 alsamixergui

apt-get install alsamixergui

3. 安裝播 mp3 程式 audacious

apt-get install audacious

4. 啟動 audacious 並下載 mp3 檔案進行測試

5. 安裝 flash player

請確定 /etc/apt/sources.list 中的設定有 non-free,如下所示:

 deb ftp://120.117.72.71/debian wheezy main contrib non-free

接著安裝 flashplugin-nonfree 套件,然後重開 firefox,再連上 youtube 等影音網站看看是否可以看到電影。