注意:このテキストの内容は古いです。
作業PC上で公式ページ https://www.raspberrypi.org/downloads/raspbian/ から Raspbian Stretch Lite をダウンロード
$ dd if=2018-11-13-raspbian-stretch-lite.img of=/dev/sdd bs=4M
$ mount /dev/sdd1 /mnt/sdd
$ touch /mnt/sdd/ssh
$ umount /dev/sdd1
SDカードを抜き、raspberry Pi に挿して、電源投入。
$ ssh pi@raspberrypi.local
で可能。初期パスワードは、raspberry
raspi-config を実行して、passwd, locale,time zone の設定。
$ fdisk -l /dev/mmcblk0
Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 8192 98045 89854 43.9M c W95 FAT32 (LBA)
/dev/mmcblk0p2 98304 31116287 31017984 14.8G 83 Linux
$ fdisk /dev/sda
で、下記のようにパーティションの設定 ( 全部で 1T )
/dev/sda1 16G /
/dev/sda2 残り(968G) /data
$ mkfs.ext4 /dev/sda1
$ mkfs.ext4 /dev/sda2
$ mkdir /mnt/root
$ mkdir /mnt/root/data
$ mount /dev/sda1 /mnt/root
$ apt install dump
$ dump -0f - / | ( cd /mnt/root ; restore -rf - )
$ ls -l /dev/disk/by-partuuid
lrwxrwxrwx 1 root root 10 12月 21 10:32 9049d880-01 -> ../../sda1
lrwxrwxrwx 1 root root 10 12月 21 10:32 9049d880-02 -> ../../sda2
lrwxrwxrwx 1 root root 15 12月 21 10:32 be23acea-01 -> ../../mmcblk0p1
lrwxrwxrwx 1 root root 15 12月 21 10:32 be23acea-02 -> ../../mmcblk0p2
$ blkid
/dev/mmcblk0p1: LABEL="boot" UUID="9304-D9FD" TYPE="vfat" PARTUUID="be23acea-01"
/dev/mmcblk0p2: LABEL="rootfs" UUID="29075e46-f0d4-44e2-a9e7-55ac02d6e6cc" TYPE="ext4" PARTUUID="be23acea-02"
/dev/sda1: LABEL="root" UUID="f4f8761e-5899-468f-82c5-c32922928adf" TYPE="ext4" PARTUUID="9049d880-01"
/dev/sda2: LABEL="data" UUID="ff86fdae-92e5-49c5-b968-50da38116c34" TYPE="ext4" PARTUUID="9049d880-02"
proc /proc proc defaults 0 0
PARTUUID=be23acea-01 /boot vfat defaults 0 2
PARTUUID=be23acea-02 / ext4 defaults,noatime 0 1
↓
proc /proc proc defaults 0 0
PARTUUID=be23acea-01 /boot vfat defaults 0 2
PARTUUID=9049d880-01 / ext4 defaults,noatime 0 1
PARTUUID=9049d880-02 /data ext4 defaults,noatime 0 1
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=9049d880-01 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
CONF_SWAPFILE=/data/swap
CONF_SWAPSIZE=1024
最初は SDカード無し USB HDD のみの構成で構築したが、 その状態で PX-Q3U4 を接続すると boot しない為、 仕方なく SDカードから bootして root領域は HDD に置くようにした。
SDカードの残りエリアがもったいないので、HDD の root 領域のバックアップ として活用する。 その為に、HDD の root領域を SDカードのサイズに合わせた。
バックアップ用のスクリプトの例
mkfs.ext4 /dev/mmcblk0p2
mount /dev/mmcblk0p2 /mnt/root
dump -0f - / | ( cd /mnt/root ; restore -rf - )
umount /mnt/root
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=9049d880-
01 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait ipv6.disable=1
allow-hotplug eth0
iface eth0 inet static
address 192.168.1.XX
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.YY
最近は /etc/dhcpcd.conf の方で設定するようだか、dhcpcdサービスを止めたら 意味が無いので、こちらで設定する。
$ systemctl disable avahi-daemon.service
$ systemctl disable bluetooth.service
$ systemctl disable cups.service
$ systemctl disable dhcpcd.service
$ systemctl disable hciuart.service
$ systemctl disable rsync.service
$ systemctl disable syslog.socket
$ systemctl disable rsyslog.service
$ systemctl disable triggerhappy.socket
$ systemctl disable triggerhappy.service
$ systemctl disable wifi-country.service
blacklist brcmfmac # Wifi
blacklist snd_bcm2835 # サウンド
blacklist joydev # joy stick
blacklist ip_tables # パケットフィルタリング
blacklist ipv6
$ apt install raspberrypi-kernel-headers dkms git
$ git clone https://github.com/nns779/px4_drv.git
ドキュメントに従ってインストール。
/etc/modules に px4_drv を追記
/boot/cmdline.txt に coherent_pool=4M ( これが無いと同時に 4TS が出来ずに 2TS になる。)
$ ls -l /dev/px*
crw-rw-r-- 1 root video 244, 0 12月 21 11:31 /dev/px4video0
crw-rw-r-- 1 root video 244, 1 12月 21 11:31 /dev/px4video1
crw-rw-r-- 1 root video 244, 2 12月 21 11:31 /dev/px4video2
crw-rw-r-- 1 root video 244, 3 12月 21 11:31 /dev/px4video3
crw-rw-r-- 1 root video 244, 4 12月 21 11:31 /dev/px4video4
crw-rw-r-- 1 root video 244, 5 12月 21 11:31 /dev/px4video5
crw-rw-r-- 1 root video 244, 6 12月 21 11:31 /dev/px4video6
crw-rw-r-- 1 root video 244, 7 12月 21 11:31 /dev/px4video7