2018/08/11

COSCUP 開源人年會講稿


到 COSCUP 分享的講稿兼筆記
  1. 2018/08/11 看懂源碼基礎 - 批次檔除錯及排版工具
    1. 心得: 很可惜時間不夠講, 半小時大概只講了預期內容的1/3. 其他有興趣的朋友,請到 github 發 issue 再問吧!
  2. 2018/08/12 打包自製套件 - Arch Linux AUR

2018/07/29

用安卓手機不用 Google 服務的方法

看了這篇文章(A Guide To Using Android Without Selling Your Soul To Google)後感想,現代人生活用了手機不是將自己的隱私給 Apple 就是給 Google,蘋果手機是封閉系統,應該是不可能防止Apple Inc.紀錄你的個人資料,安卓手機理論上比較可行,當然你的個人資料被Google知道的越多,用起來會比較方便,這就是方便與隱私的取捨問題,整理該文章重點如下

2018/03/17

Wii programming

Wii 上面除了玩原本的光碟片軟體,也可以完非官方寫的軟體,而這主要是靠devkitPPC提供的編譯器, libogc 提供的硬體相關函式庫, homebrew channel 提供的在 wii 上面的軟體操作環境. 目前 devkitPPC 已經將主要開發網站移往 github. 會想試看看主要是 homebrew browser 上有一套遊戲 wii-mahjong 有些問題,似乎有開源程式碼,就想試著編譯看看,但是過程不是想像中順利,主要是不知道如何重建當時開發者的編譯環境。最後只好用熟悉的 Arch Linux 上的 AUR build script 改一下,調整成目前最新版的編譯器(其實也大約是2009年的),再手動調了一點程式碼,解掉日文機一執行語系亂掉問題。暫時成果放 github. 參考網址如下:
  1. [新]devkitpro 官網上安裝 linux 開發工具Getting_Started
  2. [新]Arch Linux AUR devkitppc-bingrrlib
  3. 舊的參考網址
    1. wiibrew 官網右下角 Development 各項連結
    2. 2009 年 Codemii 上相關教學

2018/02/17

遲來的 Wii 改機

2009年的 Wii 的光碟機壞了,主機就沒用了嘛?錯! 還有救,改成用 USB 讀取. 寫於 2018/02/17 春節

相較於現在的手機隨便都有3GB RAM,wii 的硬體規格256MB相當於1/4 GB真的蠻差,但遊戲好玩,不一定需要那麼強的硬體

Wii Technical Specification:
* CPU (Central Processing Unit): IBM 'Broadway' 729MHz
* Internal Storage: 512MB Flash Memory
* USB 2.0: 2 Ports
* System Memory: 256MB
* Memory Expansion: 2 SD Memory
* GPU (Graphics Processing Unit): ATI 'Hollywood'
* Optical Disc Drive: 8cm GameCube / 12cm Wii (DVD discs)
* Supported Resolution: up to 480p
* 12 cm Disc Capacity: 4.7GB (single) / 8.5GB (dual)
* Wii Controller Ports: Wireless (4 maximum)
* GameCube Controller Ports: 4 Ports
* Internet Connectivity: WiFi 802.11b/g
* Disc Compatibility: GameCube
* GameCube Memory Expansion: 2 Ports

改機流程
  • 參考中英日選單對照, 先設定 WiFi, 然後不論之前有沒有硬體改機, 升級成 4.3J, 調整好系統時間, 如何看版本呢? 可點到Wii本體設定,版本編號在右上角 
  • 先預覽危險的軟體及錯誤動作, 避免變磚
    • 不要嘗試降級系統
    • 不要嘗試換系統選單
  • 參考了改機教學三篇(改機教學1改機教學2, 改機教學3), 概述如下(以4.3J版為例)
    1. 安裝非官方軟體頻道 HBC(The Homebrew Channel) 1.1.1.2
      1. 查出 MAC: Wii 設定/本体設定/インターネット
      • hackmii 官網 產生 Letter Bomb 破解檔
      • 將 Private 資料夾與 boot.elf 放到以FAT32格式化的SD卡
      • 確認日期正確指到今天 Wii 設定/Calander(カレンダー)
      • wii 插入 SD 後重開機, 點右下角傳言板, 察看並點選前一兩天訊息
      • 點開炸彈信就會開啟安裝 HBC(The Homebrew Channel)程式
    • [選項]手動增加HBC軟體方式
      • 免費軟體安裝器: Homebrew Browser 0.3.9e 2012/12/07,解壓縮到 apps/後,調整server設定值為1
      • 檔案瀏覽及ftp server: wiixplorer r259 2013/04/28
    • 安裝 wii mod 3.2, 壓縮檔的 card/app/wiimod 放到 sd:/apps/wiimod目錄, 比對過其實和改機教學1的懶人包wiimod一樣內容,不過懶人包裡有 cIOS 檔比較方便,使用 wii mod 的 wad manager 更新 cIOS:
      • 一定要從 sd 卡安裝才會成功, usb 沒辦法成功
      • 因為是 wii 不是 vWii, 而且是 4.3j, 所以只要裝這兩個
        • cIOS249[56]-d2x-v8-beta(r41).wad
        • cIOS250[57]-d2x-v8-beta(r41).wad
      • 檢查是否有更新成功,可以查 wii mod 的 IOSs 選單, 看看裡面的 249, 250 有沒有修改過
    • 下載 USBLoaderGX v1268 2017/12/15 也放到 SD
    • [選項]安裝 USB loader forwarder (讓主選單出現 usb loader 圖示), 下載 USB Loader GX-UNEO_Forwarder_5_1_AHBPROT.wad 注意是沒有 vWii 的最新版本
  • Linux 上將光碟備份轉檔成 wbfs 方式, 這要有相容的光碟機(安裝 wit 套件)
    • dd if=/dev/sr0 bs=4M of=xxx.iso 
    • iso2wbfs -6 xxx.iso
  • Play NES games on your Wiieje
  • 恢復原廠方式(沒試過,也沒必要,怕變磚)
  • 讓多個遙控器對應到同一主機方式
    • 完全清除對應資料:主機SD卡槽旁的紅色鍵按10秒
    • 先按遙控器電池蓋內的紅色鍵一下(若是鋰電池,可以用原子筆心插入外部的對應孔,不需要打開蓋子),遙控器會閃4個燈,再按主機裡SD卡槽旁的紅色鍵一下
與網友連線對戰(感謝 Rexct Chen 分享):
黑畫面經驗:
  • 進入遊戲畫面,突然變黑
    • 解法: 不要玩這遊戲
  • 使用 wiimod 將日文機安裝英文選單(system menu), 點選單出現黑畫面
    • 解法: 重新使用wiimod裝對應版本的日文選單
  • 之前可以玩,玩過某遊戲後不能玩
    • 解法: 重新裝改機的兩個 249,250 cISO
進階探索:
  • cIOS249 這檔是從那邊來的, 有 open source 嘛?
  • USBLoaderGX 無法從 SD 讀取 wbfs/ 遊戲

2017/08/04

Manjaro Linux 安裝實錄

不久前在 Linux Distrowatch 上, Manjaro Linux 排名已經擠到第3,簡單說,它就是比較好裝好使用的 Arch Linux,今天(2017/08/04)的排名如下
名次發行版HPD*
1Mint2784<
2Debian2083<
3Manjaro1796>
4Ubuntu1471>
Linux 初學者可以下載 Manjaro Deepin Community 版, 若要精簡些的版本則選擇 XFCE Edition 版, 有圖形介面的安裝環境,對於分割硬碟空間也比較容易,我之前是用 Manjaro Architec ISO 安裝(純文字介面)XFCE 版(之後手動下指令改成 deepin),以下是我安裝過程及遇到的中文化問題解法

2017/07/01

spacemacs 初體驗 - 使用 vim 鍵盤操作 emacs

聽說 spacemacs 內定的設定就很好用, 所以花時間試了一下,在 Arch Linux 安裝很簡單:
yaourt -Sy emacs
git clone https://github.com/syl20bnr/spacemacs ~/.emacs.d  
emacs foo.go # 編輯你想編的檔案, 例如 foo.go, 會自動問你要不要裝 go 的擴充集
vim 轉過來的建議先看這篇中文簡介, 再加上VIMUSERS

2017/05/24

R 語言 getSymbols 可用性探討

最近學習 R 語言,看到別人的範例,似乎簡單寫兩行就能抓到股票資料,但真的是這樣嗎?

2017/04/30

R 語言套件在 Arch Linux 安裝紀錄

本來覺得沒什麼,但是最近一直重裝 R 套件,還是紀錄一下在 Arch Linux 安裝需要的動作

2017/02/27

Alpine Linux sys mode 安裝及自訂套件編譯

再試了一陣子, 1GB ram 跑 'data' mode 後, 根目錄裝了 firefox 後就剩下 39MB, 所以,我還是改用 'sys' mode, 也就是傳統的 Linux 硬碟安裝法. 看看是否可以編譯 Alpine Linux 套件...(2017/02/28更新)

2017/02/25

Panasonic CF-W5 裝 Alpine LInux Standard x86 歷程

我有一台古董級Panasonic CF-W5筆記型電腦(從BIOS看,用了8660 個小時,假設每天用4小時,每年用300天,也有7年之久), 裏面我改裝的 Arch Linux已宣告將不支援 x86 了,於是試著改用 Alpine Linux 吧!我的目標是裝全部都放在記憶體的作業系統, 只有要存檔時再使用隨身碟, 看看效果如何?(2017/02/28更新)

2017/02/17

2017/02/13申請了郭董便當,兩天後到貨,申請心得:
1. 若已經有愛奇藝VIP帳號,建議先問清楚客服,避免多了一個帳號
2. 拿到後,愛奇藝介面裡的電話號碼要輸入 +886 09xx 注意,要多個 0, 不然不能正確對應
3. 內建功能不需另外裝軟體就可以使用 Android TV(含 Chromecast)功能
4. 付出最低費用 588(愛奇藝)+999(押金)+80(快遞)=1667

* Android TV 功能:
  * 必須讓手機和郭董便當在同一個網段
  * 投影手機上支援 chrome cast 軟體, 直接點該軟體上的圖示(例如:Youtube)
  * 投影手機操作畫面, 手機上安裝"google home", 再按該軟體的選單就可投影
  * 語音搜尋, 直接按遙控器上的麥克風

* 除了 Google Play 外裝好用10倍的 沙發管家
* 看片安裝軟體:
  * 用內建的 Google Play 安裝 ES 檔案管理員
  * 安裝騰訊視訊TV國際版
  * 改 DNS 192.214.222.103 加速(尚未測試是否有效)

* 系統工具
  * 安裝沙發助手

* 台灣頻道直播
  * 安裝 KODI, 設定

* 使用 airplay
  * 安裝 KODI

2016/04/02

STLinux 開發參考文章


國外高手寫的三篇文章,值得參考
  • http://blagus.info/stlinux-env-setup-part1/
  • http://blagus.info/stlinux-env-setup-part2/
  • http://blagus.info/stlinux-env-setup-part3/

2015/07/12

使用 BuildRoot 編譯給網樂通使用的 rootfs

[2015/07/12更新]

試著使用 buildroot 來編譯網樂通的 rootfs,

2015/07/12 測試

使用的 buildroot 設定:

  1. Target options  ->Target Architecture (SuperH)
  2. Toolchain -> 
    1. Kernel Headers (Manually specified Linux version)
    2. (2.6.32) linux version
    3. uClibc C library Version (uClibc 0.9.33.x)
    4. 這個 rootfs 相當小, 僅1.4MB, 不過似乎還是塞不進 1MB 的內建 flash

 測試結果如下
  1. 使用內定設定, 還要 'mknod /dev/null c 1 3'否則無法開機
  2. 使用內定設定, 開機後要 'mdev -s' 建立基本的 /dev/sdXX
  3. 使用內定設定, 開機後要設定 udhcpc, 可以從 xbmc 抄 script 過來使用
  4. 使用內定設定, 可以使用 TTL console 操作, 但是因為沒編譯 busybox 的 telnetd, 所以沒有辦法連線進去
  5. 可以編譯 uClibc 做的 rootfs, 但是沒辦法選 ntp (好像是 uclibc 基礎 library 沒支援)因此對時沒辦法

2015/07/16 測試

不宜一次增加太多設定, 以免編譯不過, 找不出原因, 增加:
  1. Build options -> Enable compiler cache
  2. Toolchain -> uClibc C library Version(uClibc-ng)
  3. System Configuration 
    1. Root password: root
    2. Network interface: eth0
    3. Install timezone info: 開啟
    4. default local time: Asia/Taipei
    5. Custom scripts to run before creating filesystem images: $(TOPDIR)/board/nextvod/patchrootfs.sh (此 script 第一個參數是 output/target目錄, 原打算在此 mknod /dev/null, 但失敗)
  4. Target package -> Networking applications
    1. dropbear:開啟

網樂通多重開機及分享個人修正方式

[2015/07/12更新]

很久沒玩網樂通. 將網樂通改成可測試多套系統(Arch/Debian/Fedora/sh4twbox/XBMC)的機器, 以下影片(可以使用滑鼠滾輪放大, 點暫停時, 可支援 copy & paste),
此影片示範了

  1. 00:00~01:00 mboot (給網樂通用的簡易多重開機工具)
  2. 02:00~03:30 嘗試在 debian 裏面做修正(修改前先備份成 .orig 附檔名)
  3. 10:00~15:00 示範運用 backup.patch 將所有修正的檔案備份回 github 動作

2014/07/23

LG P500 upgrade to Android 4.4.2 Ver-12

Just reference the xda link.
[DEV][ROM][4.4.2][CM11] KITKAT for LG-P500 [WIP][VER-12 OTA]
In the link, there is a youtube tutorial video. In this Ver.12.

I use following in the Ver 12 link. Here is my  Aroma install options:

  1. Fresh Install
  2. no google apps
  3. no custom apps
  4. Link2SD
  5. no extra font.
After reboot, we should setup Link2SD to one ext4 partition in the class 10 SD card.
And I've setup the performance as SMARASSV2 CPU min:122, max:806 Mhz.

Now, it works smooth.

But the recent apps are too large for this old phone.
  1. skype could install, but could not work.
  2. google hangouts lack the video chat function.

2014/06/01

Cross Compiling SH4 hello world and installing STLinux 2.4 compilers

As traditional method of install STLinux cross compiler is installing debian/ubuntu/redhat and install the RPMs.  Here we just extract RPMs.

2014/03/16

archlinux on NextVOD based STLinux 2.4

There is a long time haven't update the Arch Linux on NextVOD.  In fact, it is on development for long time. Maybe it is the time to announce for other developer could use this new system.

2013/12/03

Build Arch Linux sh4 Packages by qemu-static-sh4

Here we use PC to cross build Arch Linux package for sh4 CPU.
The tips are:
  1. Install qemu-sh4-static (yaourt -S qemu-static)
  2. setup binfmt_misc kernel module
  3. Install chroot environment (Arch Linux sh4 rootfs)

2013/10/31

網樂通 shtwbox OS 配置範例

[2014/01/26更新]
裝好 sh4twbox 0.9.2 以後的版本會使用新的 STLinux 2.4 套件,打算將網樂通做到下列功能: 連結多磁碟、transmission-cli (BT下載 web 版)、全球一動 Wimax / 3G 橋接器、動態網域名稱(以 noip 實現)、sshd、tmux、mongoose、web2py、polipo、ftpd、samba(網路芳鄰)