|
BBB_debootstrap_wheezy †BeagleBoneBlack (以下BBB)で debian wheezy を debootstrap する。 # rootユーザでの操作を意味する $ 一般ユーザでの操作を意味する 最初に microSD に debian wheezy をインストールする。 debootstrap †開発PC (debian wheezy)上で $ mkdir work $ cd work $ su # apt-get install debootstrap # debootstrap --foreign --arch armhf wheezy wheezy-target BBB Angstrom を起動して # busybox mount PC_ADDRESS:/SHARE_DIRECTORY /mnt -o ro,tcp,nolock 等でNFSマウントして 上記 wheezy-target 作業ディレクトリ一式を cp -a でコピーしてくる。 # cd wheezy-target # chroot . # bash # mount -t proc proc /proc/ # mount -t sysfs sysfs /sys/ # /debootstrap/debootstrap --second-stage I: Installing core packages... I: Unpacking required packages... I: Unpacking libacl1:armhf... ...中略... I: Base system installed successfully. 成功!! # apt-get clean # exit (bashを抜ける) # exit (chrootを抜ける) # tar cf - . | gzip -9 > ../wheezy-armhf-base.tgz # cd ../ # tar tzf wheezy-armhf-base.tgz (念のため) ./ ./bin/ ./bin/mknod ./bin/more ./bin/nc ./bin/chmod ./bin/grep CTRL+C 出来上がった wheezy-armhf-base.tgz を保存しておく。 microSDにdebianを手動でインストールする †2G以上のmicroSDを用意する。 Angstromで起動した場合は microSDは /dev/mmcblk1 になる。 パーティショニング †# cfdisk /dev/mmcblk1 cfdisk (util-linux 2.21.2) Disk Drive: /dev/mmcblk1 Size: 8010072064 bytes, 8010 MB Heads: 4 Sectors per Track: 16 Cylinders: 244448 Name Flags Part Type FS Type [Label] Size (MB) ------------------------------------------------------------------------------ mmcblk1p1 Boot Primary FAT16 128.00 mmcblk1p2 Primary Linux 4096.00 Pri/Log Free Space 3786.09
フォーマット †# mkdosfs -F16 /dev/mmcblk1p1 # mkfs.ext3 /dev/mmcblk1p2 第一パーティション(FAT)へbootloader関連ファイルをコピー †# mount /dev/mmcblk1p1 /media/mmc1/ # cd /media/mmc1/ # vi uEnv.txt (新規作成) optargs=run_hardware_tests bootdir=/boot bootpart=0:2 mmcroot=/dev/mmcblk0p2 ro mmcrootfstype=ext3 rootwait bootpart=0:2 最初の0:の部分は 0:microSD 1:内蔵eMMC 次の2の部分は第二パーティション # cp /media/BEAGLEBONE_/MLO ./ # cp /media/BEAGLEBONE_/u-boot.img ./ # ls -l -rw-r--r-- 1 root root 105440 Mar 4 08:34 MLO -rw-r--r-- 1 root root 379428 Mar 4 08:29 u-boot.img -rw-r--r-- 1 root root 1451 Mar 4 2014 uEnv.txt # cd # umount /media/mmc1/ 第二パーティション(ext3) へ rootfs を展開 †# mount /dev/mmcblk1p2 /media/mmc1/ # cd /media/mmc1/ # tar xzfv ~/wheezy-armhf-base.tgz rootfs の /boot 以下に device-tree と kernel をコピーする。 # cd boot/ # cp /boot/am335x-boneblack.dtb ./ # cp /boot/uImage-3.8.13 ./ # ln -s uImage-3.8.13 uImage # mkdir uboot # cd ../ # chroot . # bash # passwd (rootパスワードの設定) # vi /etc/inittab (一部を変更) 1:2345:respawn:/sbin/getty 115200 ttyO0 #2:23:respawn:/sbin/getty 38400 tty2 #3:23:respawn:/sbin/getty 38400 tty3 #4:23:respawn:/sbin/getty 38400 tty4 #5:23:respawn:/sbin/getty 38400 tty5 #6:23:respawn:/sbin/getty 38400 tty6 # vi /etc/fstab /dev/mmcblk0p1 /boot/uboot vfat ro 0 0 /dev/mmcblk0p2 / ext3 errors=remount-ro 0 1 # vi /etc/network/interfaces auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp # vi /etc/apt/sources.list deb http://ftp.jp.debian.org/debian wheezy main contrib non-free deb-src http://ftp.jp.debian.org/debian wheezy main contrib non-free deb http://ftp.jp.debian.org/debian/ wheezy-updates main deb-src http://ftp.jp.debian.org/debian/ wheezy-updates main # exit (bashを抜ける) # exit (chrootを抜ける) # sync # cd # umount /media/mmc1/ debian起動 †microSDを挿入して電源を入れればdebian wheezyが起動するはず。電源ON時にS2を押していればmicroSDの MLO から起動する。押さないとMLOだけはeMMCのMLOから起動する。 /bootの下が分かりにくいため図示する。 /boot は第二パーティション(ext3) /boot/uboot は第一パーティション(FAT) /boot/ |-- am335x-boneblack.dtb |-- uImage -> uImage-3.8.13 |-- uImage-3.8.13 `-- uboot |-- MLO |-- u-boot.img `-- uEnv.txt 内蔵eMMCのdebian化 †内蔵eMMCにはAngstromがインストールされている。これを消去してdebian wheezyにする。元に戻すには BBB_eMMC_flasher を参考のこと。 wheezy microSD で起動する。 /dev/mmcblk0 ... microSD /dev/mmcblk1 ... 内蔵eMMC パーティショニング †# cfdisk /dev/mmcblk1 Disk Drive: /dev/mmcblk1 Size: 1920991232 bytes, 1920 MB Heads: 255 Sectors per Track: 63 Cylinders: 233 Name Flags Part Type FS Type [Label] Size (MB) ------------------------------------------------------------------------------ mmcblk1p1 Boot Primary vfat [BEAGLEBONE] 131.61 mmcblk1p2 Primary Linux 1497.01 Pri/Log Free Space このように適当なパーティションを作る。第一パーティションに Boot フラグが必要。 フォーマット †# apt-get install dosfstools # mkdosfs -F16 /dev/mmcblk1p1 # mkfs.ext3 /dev/mmcblk1p2 第一パーティション(FAT) †# mount /dev/mmcblk1p1 /media/ # cd /media # vi uEnv.txt optargs=run_hardware_tests bootdir=/boot bootpart=1:2 mmcroot=/dev/mmcblk0p2 ro mmcrootfstype=ext3 rootwait bootpart=1:2 最初の1:の部分は 0:microSD 1:内蔵eMMC 次の2の部分は第二パーティション # cp -a /boot/uboot/MLO ./ # cp -a /boot/uboot/u-boot.img ./ # cd / # sync # umount /media 第二パーティション(ext3) †# mount /dev/mmcblk1p2 /media/ # cd /media debianのbaseを展開 # tar xzvf /root/wheezy-armhf-base.tgz # chroot ./ # passwd rootユーザのパスワード設定 # exit # cp /etc/inittab /media/etc/ # cp /etc/fstab /media/etc/ # cp /etc/apt/sources.list /media/etc/apt/ # cp /etc/network/interfaces /media/etc/network/ # cd /media/boot/ # cp /boot/uImage-3.8.13 ./ # cp /boot/am335x-boneblack.dtb ./ # ln -s uImage-3.8.13 uImage # mkdir uboot # cd / # umount /media BBBBox †BeagleBoneBlack Box 中身を debian にすれば小さなPCとして活用できます。USBも4chありますし。 関連 †
|