立命館大学 大学院 講義資料
(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 |