• R/O
  • HTTP
  • SSH
  • HTTPS

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

private knowhow


File Info

Rev. 40901d4de83c5f5e08ebff7dfd1f905fb667dae1
Tamaño 16,484 octetos
Tiempo 2024-11-04 23:14:31
Autor hyperoga
Log Message

add trouble shoot

Content

Raspberry Pi ノウハウ

http://www.raspberrypi.org/downloads     Raspbian
----
http://www.mztn.org/rpi/rpi21.html
http://www.pc-links.com/blog/raspberrypi/setup/
http://www.alpha-do.com/blog/2013/10/15/%E3%80%90raspberry-pi%E3%80%91sd%E3%82%AB%E3%83%BC%E3%83%89%E3%81%B8%E3%81%AEos%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E6%89%8B%E9%A0%86/

1. default user/pass
   pi/raspberry

   2022/05/11追記: 今はイメージのインストーラで初期ユーザIDを指定可能

2. 初めにやること
2.1 LANケーブルを接続して、sshでログイン
   IPアドレスはルータのDHCPリース状況から調査

2.2 $ sudo raspi-config
(1)1 Expand Filesystem     (SDの未使用領域を利用可能にする)
(2)2 Change User Password  (piユーザ(?)のパスワードを変更する場合)
(3)4 Internationalisation Options 
   I1 Change Locale            => ja_JP.UTF-8 を追加
      ロケールの設定です。最初は設定しない ほうがいいでしょう。 
      「ja_JP.UTF-8 UTF-8」を選択するとメニューなどが 日本語化されますが、
      最初は日本語フォントがインストールされていないため、 文字化けします。
   I2 Change Timezone          => Asia/Tokyo を設定
   I3 Change Keyboard Layout
(4)8 Advanced Options
   A1 Overscan
   A2 Hostname
   A3 Memory Split         (GPUへのメモリ割り当て量を設定 default:64MB)
   A4 SSH
   A5 SPI
   A6 Update

2.3 SD保護
  頻繁にアクセスする場所(/var/log等)はRAM DISKにする
  http://www.pc-links.com/blog/raspberrypi/ramdisk/
  https://gris-et-blanc.net/raspi/841/                 (2022/05/11)

  /etc/fstab
  ----
  proc            /proc           proc    defaults          0       0
  /dev/mmcblk0p1  /boot           vfat    defaults          0       2
  /dev/mmcblk0p2  /               ext4    defaults,noatime  0       1
  # a swapfile is not a swap partition, so no using swapon|off from here on, use  dphys-swapfile swap[on|off]  for that
  # add by oga. 2013/12/22
  tmpfs           /var/log        tmpfs   defaults,size=32m,noatime,mode=0755 0 0
  ----

  /etc/rc.local等で初期に必要なログディレクトリ、ファイルを作っておく
  ---
  # 起動時、自動的にディレクトリを作成
  mkdir -p /var/log/apt
  mkdir -p /var/log/ConsoleKit
  mkdir -p /var/log/fsck
  mkdir -p /var/log/news
  mkdir -p /var/log/ntpstats
  mkdir -p /var/log/samba
  chown root.ntp /var/log/ntpstats
  chown root.adm /var/log/samba
   
  # 起動時、自動的にLastlogとwtmp,btmpファイルの空ファイルを作成
  touch /var/log/lastlog
  touch /var/log/wtmp
  touch /var/log/btmp
  chown root.utmp /var/log/lastlog
  chown root.utmp /var/log/wtmp
  chown root.utmp /var/log/btmp
  ---

2.4 追加パッケージ
vim
lv
samba
apache2
locate
whois
rcs
ftp
ispell
nkf

10. sambaインストール   http://www.mztn.org/rpi/rpi21.html
root@raspberrypi:~# apt-get update
root@raspberrypi:~# apt-get install samba
root@raspberrypi:~# vi /etc/samba/smb.conf

sambaのユーザの追加にはこれまで「smbpasswd」コマンドを使っていましたが、
wheezyでは「smbpasswd」コマンドは普通にsambaをインストールしても
使えないので、代わりに「pdbedit」を使う。

root@raspberrypi:~# pdbedit -a -u pi

(2016/12/17)
  以下をインストールして、smbpasswd -a oga
  でもユーザ追加できた
  # apt-get install samba-common-bin

samba導入後はラズパイのIPを調べなくてもホスト名(raspberrypi)で
TeraTermでssh可能

11. SourceForge(OSDN)のソースアクセス
(1)$ ssh-keygen
(2)右上ユーザ名→ユーザ設定→「SSH公開鍵管理ページへ」で
   ~/.ssh/id_rsa.pub の内容を、登録する。

12. sys Filesystem
  SoC 温度
    $ cat /sys/class/thermal/thermal_zone0/temp 
    41160     (41.16℃?)

  SoC クロック
    $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq 
    700000    (KHz)

  SDアクセスLED
    $ echo 1 > /sys/class/leds/led0/brightness  (点灯)
    $ echo 0 > /sys/class/leds/led0/brightness  (消灯)

  DS18B20 温度センサー
    # modprobe w1-gpio
    # modprobe w1-therm
    $ cat /sys/bus/w1/devices/28-00000647ecf9/w1_slave

    <</etc/modules>>
    # add by oga. (2014/10/04)
    w1-gpio
    w1-therm

19. 消費電力
  LANケーブルなし : 5V/0.33A = 1.65w
  LANケーブル接続 : 5V/0.38A = 1.90w
  高負荷(700MHz)  : 5V/0.42A = 2.10w

20. GPIO pin

    制御はBroadcomNameのGPIO番号で行う

    PiName/BroadcomName  (Raspberry Pi1)
                  +--------+
    3.3v      [P1]| 1□□ 2|5v
    SDA0/I2C0 SDA | 3□□ 4|DNC(5v)
    SCL0/I2C0 SCL | 5□■ 6|0v(GND)
   *GPIO 7/GPIO 4 | 7□□ 8|TX/UART TXD
    DNC(GND)      | 9■□10|RX/UART RXD
   *GPIO 0/GPIO 17|11□□12|GPIO 1/GPIO 18*
   *GPIO 2/GPIO 21|13□■14|DNC(GND)
   *GPIO 3/GPIO 22|15□□16|GPIO 4/GPIO 23*
    DNC(3.3v)     |17□□18|GPIO 5/GPIO 24*
    SPI MOSI      |19□■20|DNC(GND)
    SPI MOSO      |21□□22|GPIO 6/GPIO 25*
    SPI SCLK      |23□□24|SP10 CEO N
    DNC(GND)      |25■□26|SP10 CE1 N
                  +--------+

   温度測定モジュール
   P1 3.3v
   P6 GND
   P7 GPIO4

   赤外線モジュール
   P1/P17   3.3v    (受信)
   P2       5.0v    (送信)
   P6/P20   GND     (送受信)
   P18      GPIO24  (受信)
   P22      GPIO25  (送信)

               Rev1      Rev2
   -----------------------------
    3 SDA    : GPIO 0    GPIO 2  (BroadName)
    5 SCL    : GPIO 1    GPIO 3
    7 GPIO  4:      GPCLK0
    8 TXD    :      GPIO 14
   10 RXD    :      GPIO 15
   12 GPIO 18:      PCM_CLK
   13 GPIO 21: GPIO 21   GPIO 27
   19 MOSI   :      GPIO 10
   21 MOSO   :      GPIO 9
   23 SCLK   :      GPIO 11
   24 CE0    :      GPIO 8
   26 CE1    :      GPIO 7

    IDEケーブル (コネクタコード側から見た場合)
     2 4 6 810121416182022242628303234363840
    □□□□□□□□□×□□□□□□□□□□
  赤■□□□□□□□□□□□□□□□□□□□
     1 3 5 7 9111315171921232527293133353739

    FDケーブル (コネクタコード側から見た場合)
     2 4 6 810121416182022242628303234
    □□□□□□□□□□□□□□□□□
  赤■△□□□□□□□□□□□□□□□
     1 3 5 7 9111315171921232527293133

            P2P4                    26
  Raspberry □□□□□□□□□□□□□
            □□□□□□□□□□□□□
            P1P3 5 7 91113151719212325

                      GDI7      I0I1I2GDI3I4  I5  GD  I6    GD
            P1P2P3P4P5P6P7P8P91011121314151617181920212223242526
    oooooooo○○○○○●○○●○○○○●○○○○○●○○○○●○
    12345678 910111213141516171819202122232425262728293031323334
    12345678 1 2 3 4 5 6 7 8 91011121314151617181920212223242526


    PiName/BroadcomName  (Raspberry Pi3A+)
                  +--------+
    3.3v      [P1]| 1□□ 2|5v
    SDA0/I2C0 SDA | 3□□ 4|DNC(5v)
    SCL0/I2C0 SCL | 5□■ 6|0v(GND)
   *GPIO 7/GPIO 4 | 7□□ 8|TX/UART TXD
    DNC(GND)      | 9■□10|RX/UART RXD
   *GPIO 0/GPIO 17|11□□12|GPIO 1/GPIO 18*
   *GPIO 2/GPIO 21|13□■14|DNC(GND)
   *GPIO 3/GPIO 22|15□□16|GPIO 4/GPIO 23*
    DNC(3.3v)     |17□□18|GPIO 5/GPIO 24*
    SPI MOSI      |19□■20|DNC(GND)
    SPI MOSO      |21□□22|GPIO 6/GPIO 25*
    SPI SCLK      |23□□24|SP10 CEO N /GPIO 8
    DNC(GND)      |25■□26|SP10 CE1 N /GPIO 7
    IDSD HAT      |27□□28|ID_SC HAT
          /GPIO 5 |29□■30|DNC(GND)
          /GPIO 6 |31□□32|      /GPIO 12
          /GPIO 13|33□■34|DNC(GND)
          /GPIO 19|35□□36|      /GPIO 16
          /GPIO 26|37□□38|      /GPIO 20
          DNC(GND)|39■□40|      /GPIO 21
                  +--------+

21. TeraTerm
  現環境では以下の設定

  設定→端末
    漢字-受信: SJIS
    漢字-送信: SJIS

  Sambaの文字コード設定は30.3参照

22. CPU情報表示
  # disp temperature
  alias cputemp='cat /sys/class/thermal/thermal_zone0/temp |sed -e "s/^\(..\)/\1./"'
  # disp CPU current clock
  alias cpuclock='cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq | sed -e "s/...$/MHz/"'

23. LaTeX 導入
1. 導入 (RaspberryPi)
(1)インストール (RaspberryPi)
  # apt-get install texlive-lang-cjk xdvik-ja latexmk
(2).texのコンパイル
  # platex xxx.tex
  →xxx.dviができる
(3)div→PDF
  # dvipdfm xxx.dvi

(注)日本語を使う場合はUTF8でtexファイルを作成する。


24. apache2
(1)/etc/apache2/sits-available/000-default.conf
--------
	# change by oga. (2014/11/16)
	#DocumentRoot /var/www/html
	DocumentRoot /home/oga/www

	# add by oga. start (2024/09/23,2014/11/16)
	<Directory />
		Options FollowSymLinks
		AllowOverride None
	</Directory>

	# change by oga. (2014/11/16)
	#<Directory /var/www/>
	#<Directory /home/pi/www/>
	<Directory /home/oga/www/>
		Options Indexes FollowSymLinks MultiViews
		AllowOverride None
		#Order allow,deny
		#allow from all
		Require all granted
	</Directory>

	# change by oga. (2014/11/16)
	#ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
	#<Directory "/usr/lib/cgi-bin">
	#ScriptAlias /cgi-bin/ /home/pi/www/cgi-bin/
	#<Directory "/home/pi/www/cgi-bin">
	ScriptAlias /cgi-bin/ /home/oga/www/cgi-bin/
	<Directory "/home/oga/www/cgi-bin">
		AllowOverride None
		Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
		#Order allow,deny
		#Allow from all
		Require all granted
	</Directory>
	# add by oga. end (2024/09/23,2014/11/16)
	
	:

	# not change by oga. (2014/11/16)
	#CustomLog ${APACHE_LOG_DIR}/access.log combined
	CustomLog "|/usr/bin/rotatelogs ${APACHE_LOG_DIR}/access.log.%a 86400" common

	# For most configuration files from conf-available/, which are
	# enabled or disabled at a global level, it is possible to
	# include a line for only one particular virtual host. For example the
	# following line enables the CGI configuration for this host only
	# after it has been globally disabled with "a2disconf".

	# change by oga. (2024/09/23)
	#Include conf-available/serve-cgi-bin.conf
	Include conf-available/serve-cgi-bin.conf
--------


(2)/etc/apache2/conf-available/serve-cgi-bin.conf
---
	<IfDefine ENABLE_USR_LIB_CGI_BIN>
                # change by oga. (2024/09/23) (2022/05/11)
		#ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
		#<Directory "/usr/lib/cgi-bin">
		ScriptAlias /cgi-bin/ /home/oga/www/cgi-bin/
		<Directory "/home/oga/www/cgi-bin">
			AllowOverride None
			Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
			Require all granted
		</Directory>

                # add by oga. (2024/09/23) (2022/05/11)
                <Directory "/home/oga/public_html/cgi">
                        AllowOverride None
                        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                        Require all granted
                </Directory>
	</IfDefine>
---

(3)/etc/apache2/mods-available/mime.conf
---
	# change by oga. (2024/09/23)
	#AddHandler cgi-script .cgi
	AddHandler cgi-script .cgi
---

(4)# cd /etc/apache2/mods-enabled
   # ln -s ../mods-available/cgi.load cgi.load


{
30. 各種設定
30.1 /etc/modules
  (温度センサーモジュールの設定)
  -----
  # add by oga. (2014/10/04)
  w1-gpio
  w1-therm
  -----

  Raspbian 2015-01-31(NOOBS1.3.12)以降では1-wireを有効にするため以下も必要
  /boot/config.txt
  -----
  # Enable GPIO4 by oga. (2022/05/21)
  dtoverlay=w1-gpio-pullup,gpiopin=4
  -----

30.2 /etc/fstab
  coLinuxの10GBドライブの利用
  -----
  /hdimg/hdd_10gb /hd             ext4    loop    0       0
  -----

30.3 samba
(1)ユーザ追加  
  pdbedit -a -u <user>か
  以下をインストールして、smbpasswd -a oga でもユーザ追加できた
  # apt-get install samba-common-bin
(2)/etc/smb.conf
  -----------
  [global]
     :
  # add by oga. (2013/12/29, 2016/12/17, 2022/05/11)
  # follow sym links
  wide links = yes
  unix extensions = no
  dos charset = CP932
  unix charset = CP932
  default case = lower
  case sensitive = no

     :
  [homes]
     :
  #   read only = yes
  # change by oga (2022/05/13)
  read only = no
  -----------

30.4 less
  SJISが使えなくなっているので、
  lvをインストールして.bashrc 以下を追加
  -----------
  #export PAGER=less
  export PAGER='lv -As'
  -----------

30.5 .bashrc
  ----------
  # oga's env
  #alias lsf='ls -F'
  #alias lll='ls -ltr'
  alias lsf='ls -F --show-control-chars'
  alias ll='ls -l --show-control-chars'
  alias lll='ls -ltr --show-control-chars'
  
  alias psef='ps -ef |grep'
  alias apts='apt-cache search'
  alias apti='apt-get install'
  alias pkggrep='dpkg -l |grep '
  alias langc='export LANG=C'
  alias sjis='export LANG=ja_JP.SJIS'
  alias utf='export LANG=ja_JP.UTF-8'
  # disp temperature
  alias cputemp='cat /sys/class/thermal/thermal_zone0/temp |sed -e "s/^\(..\)/\1./"'
  # disp CPU current clock
  alias cpuclock='cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq | sed -e "s/...$/MHz/"'
  alias templog='tail -f ~/log/temp.log'
  
  set convert-meta off
  set meta-flag on
  set output-meta on
  
  export EDITOR=vi
  #export PAGER=less
  export PAGER='lv -As'
  export CDPATH=.:/home/oga:/home/pi/git
  
  export NODE_JS_HOME=/home/pi/nodejs/app/node-v0.10.28-linux-arm-pi
  export PATH=$PATH/bin:$PATH/etc:$PATH:$NODE_JS_HOME/bin
  export LANG=C
  ----------

30.6 無線LAN設定
(1)初期設定
   メージのインストーラで初期SSID, パスフレーズを設定する

(2)追加設定
  /etc/wpa_supplicant/wpa_supplicant.conf
----
network={
        ssid="aterm-097944-g"
        psk=85************************************************************1f
        priority=0
}

network={
        ssid="37DBBCB87A30E18D18F05F2F72015C2C"
        psk="E7**********************92"
        priority=1
}
----

30.7 swapファイル設定
SDで動作するのでswapはoffにした方が良いが、メモリが不足する場合は以下で設定する。
Raspberry Piでは仮想メモリをdphys-swapfileというサービスで管理している
ため、これを止めてから設定の変更を行なう
(1)現在のスワップ設定値確認 
$ swapon -s
Filename                                Type            Size    Used    Priority
/var/swap                               file            102396  69120   -2

100MBになっている

(2)設定
$ sudo service dphys-swapfile stop
$ sudo vim /etc/dphys-swapfile
このファイル内のCONF_SWAPSIZEの値を変更する
例:CONF_SWAPSIZE=1024

$ sudo service dphys-swapfile start


30.8 自動起動設定
  /etc/rc.localでWinDFに情報提供するsysinfdを起動する

  ----
  if [ -x /home/oga/bin/sysinfd ]; then
    echo "start sysinfd..."
    /home/oga/bin/sysinfd &
  fi

  if [ -x /home/oga/etc/temp ]; then
    echo "start temp logging..."
    (/home/oga/etc/temp -loop 600 >> /home/oga/logs/temp.log) &
  fi
  ----


30.9 ommit display sleep
/etc/xdg/lxsession/LXDE/autostart

@xset s off
@xset s noblank
@xset -dpms

/etc/lightdm/lightdm.conf

#
#  ommit display standby, suspend
#    (2022/06/13 oga)

[SeatDefaults]
xserver-command=X -s 0 -dpms





{
--- smb.conf.diff
oga@raspberrypi /etc/samba $ diff -C4 smb.conf.org smb.conf
*** smb.conf.org        Fri May  6 05:14:08 2022
--- smb.conf    Sun Dec 31 06:22:43 2023
***************
*** 163,179 ****
  # Allow users who've been granted usershare privileges to create
  # public shares, not just authenticated ones
     usershare allow guests = yes

  #======================= Share Definitions =======================

  [homes]
     comment = Home Directories
     browseable = no

  # By default, the home directories are exported read-only. Change the
  # next parameter to 'no' if you want to be able to write to them.
!    read only = yes

  # File creation mask is set to 0700 for security reasons. If you want to
  # create files with group=rw permissions, set next parameter to 0775.
     create mask = 0700
--- 163,194 ----
  # Allow users who've been granted usershare privileges to create
  # public shares, not just authenticated ones
     usershare allow guests = yes

+ # add by oga. (2013/12/29, 2016/12/17, 2022/05/11)
+ # follow sym links
+    wide links = yes
+    unix extensions = no
+    dos charset = CP932
+    unix charset = CP932
+    default case = lower
+    case sensitive = no
+
+ # add by oga. (2023/12/31)  for Win2000
+    server min protocol = NT1
+
+
  #======================= Share Definitions =======================

  [homes]
     comment = Home Directories
     browseable = no

  # By default, the home directories are exported read-only. Change the
  # next parameter to 'no' if you want to be able to write to them.
! #   read only = yes
! # change by oga (2022/05/13)
!    read only = no

  # File creation mask is set to 0700 for security reasons. If you want to
  # create files with group=rw permissions, set next parameter to 0775.
     create mask = 0700