2016年5月23日 星期一

shell script:用ping測試網路是否有通

嵌入式電腦最常出現的問題,不是當機
反而是網路不通,而這其中最常見的問題,是ISP的問題
問題是,如果每次出現問題,就要跑一次現場,不是非常浪費人力嗎?
來吧,先建立一個shell script

vi ~/pppdup.sh

內容如下
#!/bin/bash
ping -c 1 -w 1 168.95.1.1 && result=0 || result =1
if [ "$result" -eq "1" ]; then
   pppd eth0
   exit 5
fi

接著,把這個script設為可以執行

chmod a+x ~/pppdup.sh

最後,只要加入crontab裡排程,每小時跑一次,或每30分鐘跑一次
恭喜,你幫公司每年省下幾十萬了(記得去跟老闆邀功!!)

2016年5月13日 星期五

Toolchain for ARM-linux

在嵌入式主機上編寫程式還不是什麼大問題
問題在於怎麼complier
嵌入式主機上並不會內建gcc,而且ipkg上的資源很少
最重要的,是速度太慢啊

所以我選擇用ubuntu來做toochain

1. 在 /etc/apt/sources.list 新增底下二行:

deb http://www.emdebian.org/debian/ squeeze main
deb http://opensource.nchc.org.tw/debian/ squeeze main contrib non-free

2.安裝 emdebian-archive-keyring 套件來解決GPG key的問題

sudo apt-get install emdebian-archive-keyring


3. 更新套件狀態

sudo apt-get update


4.安裝 ARM ToolChain

sudo apt-get install gcc-4.8-arm-linux-gnueabi
sudo apt-get install cpp-4.8-arm-linux-gnueabi
sudo apt-get install g++-4.9-arm-linux-gnueabi


5.驗證一下有沒有安裝成功
vi hello.c
#inculde <stdio.h>v oid main(void){  printf("Hello World\n");}
建立alias, toolchain的指令太長了,縮一下
alias armgcc=arm-linux-gnueabi-gcc-4.9
然後來實際來complier看看吧
armgcc hello.c -o hello_arm

complier之後,當然是丟到嵌入式主機去跑看看囉



參考網頁:http://pominglee.blogspot.tw/2013/10/arm-toolchain.html

2016年4月18日 星期一

CentOS 7.2 Kernel升級

CentOS 7.2的原始kernel是3.10.0-327
目前最新版的kernel是4.5.0-1

人性始終來自帶墮性
人的努力,原自於不想出力

以前的kernel升級,必須要自已去下載binary,依自已的需求,調整內容
再complier過,才能放上去更新
一個不小心,可能就會讓系統崩潰

現在…似乎已經沒這麼麻煩了
(以下流程來自:http://www.ostechnix.com/install-linux-kernel-4-4-5-centos-ubuntu/)

Add ELRepo GPG key:
# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
Then, add ELRepo in CentOS 7 / RHEL 7 / Scientific Linux 7 using command:
# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
Enable ELRepo fastest mirror using by installing the following package:
# yum install yum-plugin-fastestmirror
(fastestmirror似乎是CentOS7.2預設安裝,我執行這個命令時,告訴我已經有安裝了)

We have added the ELRepo. Now, it is time to install Linux kernel 4.4.1 LTS.
Let us find out the current version details with command:
# uname -r
Sample output:
3.10.0-123.9.3.el7.x86_64
As you see, the installed version is 3.10.0-123.9.3.el7.x86_64.
Install Linux Kernel 4.4.1 LTS using command:
# yum --enablerepo=elrepo-kernel install kernel-ml
到這裡已經安裝完成
再來只要確認GRUB預設是以kernel4.5.0-1開機,然後重新開機,就完成了





在Windows中產生大檔案

Linux有dd可以產生大檔,Windows則可以利用Fsutil去產生
執行cmd.exe,然後執行以下命令

fsutil createnew c:\bigfile.txt 6294967285

就會在C槽下產生一個約6GB的檔案,檔名為bigfile.txt



2016年1月10日 星期日

如何在ubuntu14.04上安裝無蝦米

個人是使用無蝦米,這點在使用Linux桌面系統的時候,會是一個很頭痛的點,無蝦米是一種商業版的輸入法,而且看官網的銷售模式,應該是每一種系統就賣一次…

windows系統…買一次
android系統…再買一次?
MAC OS...再再買一次?
近期在玩ubuntu系統,還好不用買,因為官網根本就沒出,想用也沒的用

以上小抱怨一下,如果官方可以一次授權,在不同系統中使用,那我會下手買
(你沒買是抱怨個屁啊)   好的,我閉嘴!!

如何在ubuntu 14.04安裝無蝦米
其他的發行版我沒試過,不過我猜應該都通用

1. 在軟體中心安裝gcin
進到軟體中心之後,搜尋gcin,點安裝

 一般在軟體中心安裝軟體時,都會詢問密碼,輸入密碼後,就會完成安裝。

2.切換輸入法管理程式為gcin
 因為我在「系統設定值」中沒看到語言支援的設定,所以自已安裝im-switch

按「ctrl」+「alt」+ T叫出終端機介面
然後輸入 sudo apt-get install im-switch
下圖因為已經安裝過了,所以顯示已經是最新的版本
切換輸入法管理程式為gcin,語法  im-switch -s gcin   

到這裡gcin的安裝已經完成了,gcin預設就帶有無蝦米,但是在我切換時,一直沒辦法切換,所以我猜應該是gcin不會自帶tab。

4. 安裝無蝦米tab
在gcin設定介面(如果找不到,請搜尋gcin)

點擊「內定輸入法& 開啟/關閉」



看到嘸蝦米的檔案名是noseeing.gtab

所以,就google一下這個檔案吧,先找看看有沒有這個檔案可以下載
因為我不知道有沒有版權問題,所以請自行搜尋下載

接著把這個檔案,丟到 ~/.gcin裡,再重新登入之後,就可以使用無蝦米囉