發表文章

目前顯示的是 5月, 2013的文章

將 Debian 的開機 log 改到 RS232 顯示

一般的 pc linux 都是利用螢幕顯示所有資訊,如果要將訊息利用 RS232 顯示,該如何做? Debian 利用 grub 做開機管理。所以要從 grub 下手。 有 3 個步驟: 1 . Modify file containing grub configuration in Debian: /etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT = "console=tty0 console=ttyS0, 115200 n8" GRUB_TERMINAL =serial GRUB_SERIAL_COMMAND = "serial --speed= 115200 --unit=0 --word=8 --parity=no --stop=1" 2 . update-grub after change 3 . edit /etc/inittab to allow logins over Serial Console T0:23:respawn:/sbin/getty -L ttyS0 115200 vt100 reference:http://grindelsack.blogspot.tw/2011/06/debian6-with-grub2-and-serial.html

sed 單行腳本快速參考

# 在每一行後面增加一空行 sed G # 將原來的所有空行刪除並在每一行後面增加一空行。 # 這樣在輸出的文本中每一行後面將有且只有一空行。 sed '/^$/d;G' # 在每一行後面增加兩行空行 sed 'G;G' # 將第一個腳本所產生的所有空行刪除(即刪除所有偶數行) sed 'n;d' # 在匹配式樣“regex”的行之前插入一空行 sed '/regex/{x;p;x;}' # 在匹配式樣“regex”的行之後插入一空行 sed '/regex/G' # 在匹配式樣“regex”的行之前和之後各插入一空行 sed '/regex/{x;p;x;G;}' 編號: -------- # 為文件中的每一行進行編號(簡單的左對齊方式)。這裡使用了“製表符” # (tab,見本文末尾關於'\t'的用法的描述)而不是空格來對齊邊緣。 sed = filename | sed 'N;s/\n/\t/' # 對文件中的所有行編號(行號在左,文字右端對齊)。 sed = filename | sed 'N; s/^/ /; s/ *\(.\{6,\}\)\n/\1 /' # 對文件中的所有行編號,但只顯示非空白行的行號。 sed '/./=' filename | sed '/./N; s/\n/ /' # 計算行數(模擬"wc -l") sed -n '$=' 文本轉換和替代: -------- # Unix環境:轉換DOS的新行符(CR/LF)為Unix格式。 sed 's/.$//' # 假設所有行以CR/LF結束 sed 's/^M$//' # 在bash/tcsh中,將按Ctrl-M改為按Ctrl-V sed 's/\x0D$//' # ssed、gsed 3.02.80,及更高版本 # Unix環境:轉換Unix的新行符(LF)為DOS格式。 sed "s/$/`echo -e \\\r

iperf crosee compilier

圖片
wget http://sourceforge.net/projects/iperf/files/latest/download/iperf-2.0.5.tar.gz tar xvf iperf-2.0.5.tar.gz ./configure --host=arm-linux --prefix=`pwd`/./install \ CC=arm-mv5sft-linux-gnueabi-gcc CXX=arm-mv5sft-linux-gnueabi-g++ \ ac_cv_func_malloc_0_nonnull=yes 沒加上 ac_cv_func_malloc_0_nonnull=yes 會出現下面錯誤         undefined reference to `rpl_malloc' make && make install         利用 arm-mv5sft-linux-gnueabi-readelf -d install/bin/iperf 可以看到用到哪些 so 檔, 節錄如下 dynamic section at offset 0xcef8 contains 28 entries:   Tag        Type                         Name/Value  0x00000001 (NEEDED)                     Shared library: [libstdc++.so.6]  0x00000001 (NEEDED)                     Shared library: [libm.so.6]  0x00000001 (NEEDED)                     Shared library: [libgcc_s.so.1]  0x00000001 (NEEDED)                     Shared library: [libpthread.so.0]  0x00000001 (NEEDED)                     Shared library: [libc.so.6]  0x0000000c (INIT)                       0x94e0  0x0000000d (

htop crosee compilier

ncurses wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.9.tar.gz tar zxf ncurses-5.9.tar.gz cd ncurses-5.9/ ./configure --host=arm-none-linux-gnueabi --prefix=$DEST --enable-widec --without-shared ./configure --host=arm-mv5sft-linux-gnueabi --prefix=`pwd`/./install --enable-widec --without-shared make make install cd install/include ln -s ./ncursesw/curses.h curses.h htop wget http://sourceforge.net/projects/htop/files/latest/download/htop-1.0.2.tar.gz tar zxf htop-1.0.2.tar.gz cd htop-1.0.2 ac_cv_func_malloc_0_nonnull=yes ac_cv_func_realloc_0_nonnull=yes ac_cv_file__proc_stat=yes ac_cv_file__proc_meminfo=yes ./configure --host=arm-mv5sft-linux-gnueabi --enable-unicode LDFLAGS=-L../ncurses-5.9/install/lib CPPFLAGS=-I../ncurses-5.9/install/include --prefix=`pwd`/./install make 將 htop 複製到 ARM target board /usr/bin/ 執行 sshd, 會出現這樣的錯誤訊息@@  Error opening terminal: vt102 執行下面指令 / # echo $TERM vt102 / # echo $TERMINFO          會看到 TERMINFO 是空的, ncurses 需要 /usr/share/terminfo 這些資訊, 將 ncurse

sshd crosee compilier

sshd crosee compilier zlib wget http://zlib.net/zlib-1.2.8.tar.gz tar xvf zlib-1.2.8.tar.gz cd zlib-1.2.8 CC=arm-mv5sft-linux-gnueabi-gcc ./configure --prefix=`pwd`/./install make make install openssl wget http://www.openssl.org/source/openssl-1.0.1e.tar.gz tar xvf openssl-1.0.1e.tar.gz cd openssl-1.0.1e ./Configure --prefix=`pwd`/./install  os/compiler:arm-mv5sft-linux-gnueabi-gcc make make install openssh wget http://ftp.jaist.ac.jp/pub/OpenBSD/OpenSSH/portable/openssh-6.2p1.tar.gz tar xvf openssh-6.2p1.tar.gz cd openssh-6.2p1 ./configure --host=arm-mv5sft-linux-gnueabi --with-libs --with-zlib=../zlib-1.2.8/install/ --with-ssl-dir=../openssl-1.0.1e/install --disable-etc-default-login CC=arm-mv5sft-linux-gnueabi-gcc AR=arm-mv5sft-linux-gnueabi-ar make 將 sshd, ssh-keygen 複製到 ARM target board /usr/bin/ 將 libz.so 複製到 ARM target board /usr/lib/ 執行 sshd, 一定要用絕對路徑@@@@ /usr/bin/sshd 會依次出現下面的錯誤訊息 /usr/local/etc/sshd_config: No such file or directory     將 sshd_config 複製到 ARM target board /usr