立命館大学 大学院 講義資料
(C) by T.IZUMI @ Ritsumeikan U, Sep 2016 - 無断複製・再配布を禁ず
Acknowledgements:
the base design is presented by Kaitlyn Franz and
the base kit is provided by Digilent Inc.
ls /dev や lsblk して
micro SD card のデバイス名を確認する。
ここでは /dev/sdx とする。
izumi@rsl:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 465.8G 0 disk
|-sda1 8:1 0 243M 0 part /boot
|-sda2 8:2 0 1K 0 part
`-sda5 8:5 0 465.5G 0 part
`-sda5_crypt (dm-0) 252:0 0 465.5G 0 crypt
|-ubuntu--vg-root (dm-1) 252:1 0 462.5G 0 lvm /
`-ubuntu--vg-swap_1 (dm-2) 252:2 0 3G 0 lvm
sdx 8:16 1 7.4G 0 disk
`-sdx1 8:17 1 7.4G 0 part /media/izumi/MYSDCARD
sr0 11:0 1 1024M 0 rom
|
izumi@rsl:~$ sudo umount /dev/sdx1
|
izumi@rsl:~$ sudo fdisk /dev/sdx
Command (m for help): m ※ヘルプを表示する。
Help:
DOS (MBR)
a toggle a bootable flag
b edit nested BSD disklabel
c toggle the dos compatibility flag
Generic
d delete a partition
l list known partition types
n add a new partition
p print the partition table
t change a partition type
v verify the partition table
Misc
m print this menu
u change display/entry units
x extra functionality (experts only)
Save & Exit
w write table to disk and exit
q quit without saving changes
Create a new label
g create a new empty GPT partition table
G create a new empty SGI (IRIX) partition table
o create a new empty DOS partition table
s create a new empty Sun partition table
Command (m for help): p ※現在のパーティションを表示する。
Disk /dev/sdx: 7969 MB, 7969177600 bytes
126 heads, 10 sectors/track, 12353 cylinders, total 15564800 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdx1 2048 15564799 7781376 83 Linux
Command (m for help): d ※既存のパーティションの削除。
Selected partition 1 ※複数あったらパーティション番号を指定し、繰り返してすべて削除する。
Command (m for help): p
Disk /dev/sdx: 7969 MB, 7969177600 bytes
126 heads, 10 sectors/track, 12353 cylinders, total 15564800 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
Command (m for help): n ※新しいパーティションを作成する。
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1): 1 ※ひとつめのパーティション。
First sector (2048-15564799, default 2048): ※空改行でデフォルト値。
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-15564799, default 15564799): +1G
Command (m for help): p
Disk /dev/sdx: 7969 MB, 7969177600 bytes
126 heads, 10 sectors/track, 12353 cylinders, total 15564800 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdx1 2048 2099199 1048576 83 Linux
Command (m for help): n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
Partition number (1-4, default 2): 2
First sector (2099200-15564799, default 2099200): ※空改行でデフォルト値。
Using default value 2099200
Last sector, +sectors or +size{K,M,G} (2099200-15564799, default 15564799): ※空改行でデフォルト値。
Using default value 15564799
Command (m for help): p
Disk /dev/sdx: 7969 MB, 7969177600 bytes
126 heads, 10 sectors/track, 12353 cylinders, total 15564800 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdx1 2048 2099199 1048576 83 Linux
/dev/sdx2 2099200 15564799 6732800 83 Linux
Command (m for help): w ※書き込み、終了。
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
izumi@rsl:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 465.8G 0 disk
|-sda1 8:1 0 243M 0 part /boot
|-sda2 8:2 0 1K 0 part
`-sda5 8:5 0 465.5G 0 part
`-sda5_crypt (dm-0) 252:0 0 465.5G 0 crypt
|-ubuntu--vg-root (dm-1) 252:1 0 462.5G 0 lvm /
`-ubuntu--vg-swap_1 (dm-2) 252:2 0 3G 0 lvm
sdx 8:16 1 7.4G 0 disk
|-sdx1 8:17 1 1G 0 part
`-sdx2 8:18 1 6.4G 0 part
sr0 11:0 1 1024M 0 rom
|
izumi@rsl:~$ sudo mkfs -t vfat -n ZYBO_BOOT /dev/sdx1
mkfs.fat 3.0.26 (2014-03-07)
izumi@rsl:~$ sudo mkfs -t ext4 -L ROOT_FS /dev/sdx2
mke2fs 1.42.9 (4-Feb-2014)
Filesystem label=ROOT_FS
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
420992 inodes, 1683200 blocks
84160 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1723858944
52 block groups
32768 blocks per group, 32768 fragments per group
8096 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
|
izumi@rsl:~$ sudo mkdir /mnt/boot /mnt/root
izumi@rsl:~$ sudo mount /dev/sdx1 /mnt/boot
izumi@rsl:~$ sudo mount /dev/sdx2 /mnt/root
izumi@rsl:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 465.8G 0 disk
|-sda1 8:1 0 243M 0 part /boot
|-sda2 8:2 0 1K 0 part
`-sda5 8:5 0 465.5G 0 part
`-sda5_crypt (dm-0) 252:0 0 465.5G 0 crypt
|-ubuntu--vg-root (dm-1) 252:1 0 462.5G 0 lvm /
`-ubuntu--vg-swap_1 (dm-2) 252:2 0 3G 0 lvm
sdx 8:16 1 7.4G 0 disk
|-sdx1 8:17 1 1G 0 part /mnt/boot
`-sdx2 8:18 1 6.4G 0 part /mnt/root
sr0 11:0 1 1024M 0 rom
|
izumi@rsl:~$ unzip boot.zip
Archive: boot.zip
creating: boot/
inflating: boot/uImage
inflating: boot/devicetree.dtb
inflating: boot/BOOT.bin
creating: boot/files/
inflating: boot/files/server_script
inflating: boot/files/server.cpp
inflating: boot/files/usbreset.c
inflating: boot/files/motion.conf
izumi@rsl:~$ ls -R boot
boot:
BOOT.bin devicetree.dtb files uImage
boot/files:
motion.conf server.cpp server_script usbreset.c
izumi@rsl:~$ sudo cp boot/BOOT.bin boot/uImage boot/devicetree.dtb /mnt/boot
izumi@rsl:~$ ls /mnt/boot
BOOT.bin devicetree.dtb uImage
|
izumi@rsl:~$ cd /mnt/root
izumi@rsl:/mnt/boot$ cd /mnt/root
izumi@rsl:/mnt/root$ ls
lost+found
izumi@rsl:/mnt/root$ sudo tar zxvf /home/izumi/linaro-precise-ubuntu-desktop-20120923-436.tar.gz
binary/
binary/boot/
:
(中略)
:
binary/boot/filesystem.dir/opt/
binary/boot/filesystem.dir/media/
binary/boot/filesystem.dir/tmp/
izumi@rsl:/mnt/root$ ls
binary lost+found
izumi@rsl:/mnt/root$ cd binary/boot/filesystem.dir/
izumi@rsl:/mnt/root/binary/boot/filesystem.dir$ ls
bin dev home media opt root sbin srv tmp var
boot etc lib mnt proc run selinux sys usr
izumi@rsl:/mnt/root/binary/boot/filesystem.dir$ sudo mv * /mnt/root/
izumi@rsl:/mnt/root/binary/boot/filesystem.dir$ cd /mnt/root
izumi@rsl:/mnt/root$ ls
bin boot etc lib media opt root sbin srv tmp var
binary dev home lost+found mnt proc run selinux sys usr
|
izumi@rsl:~$ cd /home/izumi/
izumi@rsl:~$ sudo mkdir /mnt/root/home/linaro/zybot
izumi@rsl:~$ ls boot/files
motion.conf server.cpp server_script usbreset.c
izumi@rsl:~$ sudo cp boot/files/* /mnt/root/home/linaro/zybot/
izumi@rsl:~$ ls /mnt/root/home/linaro/zybot/
motion.conf server.cpp server_script usbreset.c
|
izumi@rsl:~$ cd /home/izumi
izumi@rsl:~$ tar zxvf zybotr_files.tgz
./zybotr_client/
./zybotr_client/Makefile
./zybotr_client/winclient.c
./zybotr_server/
./zybotr_server/testgpio_zybot
./zybotr_server/testgpio.sh
./zybotr_server/testgpio_zybot.c
./zybotr_server/server
./zybotr_server/usbreset
./zybotr_server/testuio
./zybotr_server/testmem.c
./zybotr_server/testuio.c
./zybotr_server/Makefile
./zybotr_server/server_script
./zybotr_server/server.cpp
./zybotr_server/testproc_zybot.c
./zybotr_server/testproc_zybot
./zybotr_server/testio.sh
./zybotr_server/testmem
izumi@rsl:~$ sudo cp zybotr_server/* /mnt/root/home/linaro/zybot/
izumi@rsl:~$ ls /mnt/root/home/linaro/zybot/
:
|
izumi@rsl:~$ cd
izumi@rsl:~$ sync
izumi@rsl:~$ sudo umount /dev/sdx1
izumi@rsl:~$ sudo umount /dev/sdx2
|
lsblk, df, mount, lsusb, lsusb -t, ifconfig, iwconfig などで、ファイルシステムやUSBデバイス、ネットワーク環境の確認をしておく。
linaro@linaro-ubuntu-desktop:~$ cd /home/linaro
linaro@linaro-ubuntu-desktop:~$ sudo chown -R linaro zybot
linaro@linaro-ubuntu-desktop:~$ sudo chgrp -R linaro zybot
|
linaro@linaro-ubuntu-desktop:~$ sudo mkdir /mnt/ZYBO_BOOT linaro@linaro-ubuntu-desktop:~$ sudo vi /etc/fstab ※次の行を追加し、保存、終了する。
|
linaro@linaro-ubuntu-desktop:~$ sudo apt-get -y install linux-firmware
|
linaro@linaro-ubuntu-desktop:~$ sudo apt-get -y update
|
linaro@linaro-ubuntu-desktop:~$ sudo apt-get -y install ntp
linaro@linaro-ubuntu-desktop:~$ sudo cp /usr/share/zoneinfo/Japan /etc/localtime
linaro@linaro-ubuntu-desktop:~$ sudo vi /etc/ntp.conf
※必要な設定をして、保存、終了する。
linaro@linaro-ubuntu-desktop:~$ sudo /etc/init.d/ntp stop
linaro@linaro-ubuntu-desktop:~$ sudo update-rc.d -f ntp remove
linaro@linaro-ubuntu-desktop:~$ sudo update-rc.d ntp defaults
linaro@linaro-ubuntu-desktop:~$ sudo /etc/init.d/ntp start
linaro@linaro-ubuntu-desktop:~$ ntpq -p
|
linaro@linaro-ubuntu-desktop:~$ sudo apt-get -y install ssh
linaro@linaro-ubuntu-desktop:~$ sudo vi /etc/ssh/sshd_config
※必要な設定をして、保存、終了する。
linaro@linaro-ubuntu-desktop:~$ sudo /etc/init.d/ssh restart
|
linaro@linaro-ubuntu-desktop:~$ sudo apt-get -y install device-tree-compiler
|
linaro@linaro-ubuntu-desktop:~$ sudo apt-get -y install motion
linaro@linaro-ubuntu-desktop:~$ sudo cp /home/linaro/zybot/motion.conf /etc/motion/motion.conf
|
linaro@linaro-ubuntu-desktop:~$ sudo vi /etc/init/network-manager.conf ※次の行をコメントアウトし、保存、終了する。
|
linaro@linaro-ubuntu-desktop:~$ gcc -o testmem testmem.c
linaro@linaro-ubuntu-desktop:~$ chmod +x testio.sh
linaro@linaro-ubuntu-desktop:~$ gcc -o usbreset usbreset.c
linaro@linaro-ubuntu-desktop:~$ g++ -o server server.cpp
linaro@linaro-ubuntu-desktop:~$ vi server_script
※自分のネットワーク環境に合わせて ifup 関連を修正する。
linaro@linaro-ubuntu-desktop:~$ chmod +x server_script
linaro@linaro-ubuntu-desktop:~$ sudo cp server_script /etc/init.d/server_script
linaro@linaro-ubuntu-desktop:~$ sudo update-rc.d -f server_script defaults
|
linaro@linaro-ubuntu-desktop:~$ sync
linaro@linaro-ubuntu-desktop:~$ sudo shutdown -h now
|