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