2015年5月18日 星期一

raspberry pi cross compile kernel

Cross compile platform: Ubuntu x64
Target: Raspberry pi

1. Download tool chain and configuration
  • Get from git
git clone https://github.com/raspberrypi/tools.git
  • Add tool chain gcc path to /etc/profile, it will take effect when next login.
PATH="$PATH:/usr/local/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin" >> /etc/profile

2. Download kernel source
git clone https://github.com/raspberrypi/linux.git
  
3. Get raspberry pi config


  • Login to raspberry pi console and:
zcat /proc/config.gz > .config
  • Back to download source code location
  • Copy config file 
scp pi@:~/.config .
4. Make kernel and module0
  • Make config
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- oldconfig
  • kernel compile
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
  • module install
mkdir ../modules
make modules_install ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- INSTALL_MOD_PATH=../modules/
  •  Generate image
cd ~/tools/mkimage
./imagetool-uncompressed.py ~/linux/arch/arm/boot/zImage"

5. Copy image and modules to pi
scp ~/tools/mkimage/kernel.img pi@:~/
scp -r ~/modules ~/ pi@:~/

6. Login pi console and move image and modules to system boot path

  • Backup original kernel if needed
mv /boot/kernel.img /boot/kernel.img.bak
  • Move new kernel image to boot partition
mv kernel.img /boot/kernel.img
  • Move corresponding modules to lib
mv modules/lib/modules/3.18.x /lib/modules/

7. Reboot pi and check the it uses new kernel
uname -r

2015年5月14日 星期四

Raspberry pi vsftp安裝設定

安裝vstfp
apt-get install vsftpd

修改設定
local_enable=yes
write_enable=yes
(optional) chroot_local_user=YES 

重新啟動服務 使修改生效
service vsftpd restart

2015年4月19日 星期日

Raspberry pi安裝媒體伺服器(dlna)

安裝minidlna
apt-get install minidlna
如果遭遇錯誤要求update, 執行以下命令再安裝一次
apt-get update

修改設定
vi /etc/minidlna.conf

media_dir=/media/usb_hdd/download
friendly_name={your dlna name}

設定完成, 重啟服務
service minidlna restart

Raspberry pi Transmission 安裝與設定

安裝
apt-get install transmission-daemon

停止服務並修改設定 (註)
/etc/init.d/transmission-daemon stop
vi /etc/transmission-daemin/settings.json

download完成位置和未完成檔案位置
"download-dir": "/media/usb-hdd/download",
"incomplete-dir": "/media/usb-hdd/download/tmp",
"incomplete-dir-enabled": true,

下載任務相關限制
"max-peers-global": 200,
"peer-limit-global": 60,
"peer-limit-per-torrent": 30,

lazy-bitfield-enabled
"lpd-enabled": true,

遠端管理介面的登入帳號密碼, 密碼可直接明碼輸入, 服務啟動後會加密
"rpc-username": "{your name}",
"rpc-password": "{your password}",

關閉白名單設定
"rpc-whitelist": false,

設定完成後, 啟動服務
/etc/init.d/transmission-daemon start

註: 服務未停的狀態下, 設定檔修改的內容會在停止時被覆蓋, 所以要先停服務

Raspberry pi 外接USB硬碟

遭遇無額外供電硬碟電源不足問題
修改/boot/config.txt
加入max_usb_current=1

支援ntfs: 安裝ntfs-3g
apt-get install ntfs-3g

掛載ntfs格式硬碟
mount -t ntfs-3g /dev/sda1 /media/usb-hdd



2010年11月26日 星期五

Pidgin msn certicate error

解決方法參考
windows 7 folder: \Users\\AppData\Roaming\.purple\certificates\x509\tls_peers

2010年11月3日 星期三

RHEL POP3 mail settings

條件: RHEL無internet連線, 無法使用yum install
解決:下載rpm, 手動解決相依性問題, 安裝dovecot

  1. 安裝dovecot相依套件, lib:
  2. 安裝dovecot:
  3. 設定dovecot (搭配sendmail, 其餘sendmail設定依需求自行完成):
    • 開啟pop3支援:
      • 修改 /etc/dovecot/dovecot.conf
      • 修改 protocol = pop3 (注1)

    • 開啟listen的位址: 修改 /etc/dovecot/dovecot.conf取消註解 listen = *, ::
    • 設定mail_location: 修改 /etc/dovecot/conf.d/10-mail.conf加入以下兩行 :
      • mail_location = maildir:~/Maildir
      • mail_location = mbox:~/mail:INBOX=/var/mail/%u

  4. 啟動dovecot:
    • service dovecot start
  5. 若使用者從未登入, 先登入一次以產生家目錄
  6. 測試pop3是否成功運作: (注2)

注1: 由於本次使用thunderbird作為MUA, 會自動偵測mail server開放的協定, 預設IMAP在前, 故只開pop3, 其餘拿掉

注2: 任何錯誤發生, 請查看 /var/log/maillog, 使用命令 tail -f /var/log/maillog , 可即時監看發生的錯誤及訊息, 測試方法參照參考資料連結2



參考資料:
dovecot wiki
Dovecot HowTo...