FC2カウンター FPGAの部屋 2018年01月22日
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

@ikwzmさんのUltraZed 向け Debian GNU/Linux の構築をやってみる8(Debian9 Root File Systemの構築2)

@ikwzmさんのUltraZed 向け Debian GNU/Linux の構築をやってみる7(Debian9 Root File Systemの構築1)”の続き。

前回は、Debian9 Root File Systemの構築を途中までやったので、今回はその続きをやってみる。

hostname とパスワードの設定
echo "debian-fpga" > /etc/hostname
passwd
cat <<EOT >> /etc/securetty
# Seral Port for Xilinx Zynq
ttyPS0
EOT

UltraZed-EG_Linux_113_170121.png

adduser fpga
パスワードも fpga にした。
UltraZed-EG_Linux_115_170121.png

echo "fpga ALL=(ALL:ALL) ALL" > /etc/sudoers.d/fpga
sed -i -e 's/#PasswordAuthentication/PasswordAuthentication/g' /etc/ssh/sshd_config

sshd のコンフィグ
UltraZed-EG_Linux_116_170121.png

タイムゾーンの設定
dpkg-reconfigure tzdata
UltraZed-EG_Linux_117_170121.png

Configuring tzdata ダイアログが表示された。Asia を選択して、OKをクリックした。
UltraZed-EG_Linux_118_170121.png

次の画面で、Tokyo を選択して、OKをクリックした。
UltraZed-EG_Linux_119_170121.png

タイムゾーンの設定が終了した。Local time is now が JST になっているのが分かる。
UltraZed-EG_Linux_120_170121.png

cat <<EOT > /etc/fstab
/dev/mmcblk1p1    /boot    auto        defaults    0    0
none        /config    configfs    defaults    0    0
EOT
cat < /etc/network/interfaces.d/eth0
allow-hotplug eth0
iface eth0 inet dhcp
EOT
mkdir /lib/firmware

UltraZed-EG_Linux_122_170121.png

ワイヤレスツールとファームウェア
apt-get install -y wireless-tools
apt-get install -y wpasupplicant
apt-get install -y firmware-realtek
apt-get install -y firmware-ralink

UltraZed-EG_Linux_123_170121.png

開発ツールのインストール
apt-get install -y build-essential
apt-get install -y git
apt-get install -y u-boot-tools
apt-get install -y socat
apt-get install -y ruby ruby-msgpack ruby-serialport
gem install rake

UltraZed-EG_Linux_124_170121.png

Python のインストール
apt-get install -y python python-dev python-setuptools python-wheel python-pip
apt-get install -y python3 python3-dev python3-setuptools python3-wheel python3-pip
apt-get install -y python-numpy python3-numpy
pip3 install msgpack-rpc-python

UltraZed-EG_Linux_125_170121.png

デバイスツリー・コンパイラのビルドとインストール
apt-get install -y flex bison
UltraZed-EG_Linux_126_170121.png

cd root
mkdir src
cd src
git clone https://git.kernel.org/pub/scm/utils/dtc/dtc.git dtc

ここで、git がインストールしていないとエラーが発生
apt-get install git
UltraZed-EG_Linux_127_170121.png

もう一度、
git clone https://git.kernel.org/pub/scm/utils/dtc/dtc.git dtc
cd dtc

UltraZed-EG_Linux_129_170121.png

make
UltraZed-EG_Linux_130_170121.png

make HOME=/usr/local install-bin
cd /

UltraZed-EG_Linux_131_170121.png

samba などをインストール
apt-get install -y avahi-daemon
apt-get install -y samba

UltraZed-EG_Linux_132_170121.png

Linux モジュールのインストール
mv boot boot.org
mkdir boot
dpkg -i linux-image-4.9.0-xlnx-v2017.3-zynqmp-fpga_4.9.0-xlnx-v2017.3-zynqmp-fpga-1_arm64.deb

UltraZed-EG_Linux_133_170121.png

dpkg -i linux-headers-4.9.0-xlnx-v2017.3-zynqmp-fpga_4.9.0-xlnx-v2017.3-zynqmp-fpga-1_arm64.deb
rm boot/*
rmdir boot
mv boot.org boot
apt-get clean

APT Cache に大量にダウンロードしたパッケージがキャッシュされているそうなので、clean する。
UltraZed-EG_Linux_134_170121.png

これで、build-debian9-rootfs-with-qemu.sh のスクリプトは終わり。

ルート・ディレクトリを~/ZynqMP-FPGA-Linux/debian9-rootfs ディレクトリから元に戻して、不要なファイルを消去
exit
sudo rm -f $targetdir/usr/bin/qemu-aarch64-static
sudo rm -f $targetdir/build-debian9-rootfs-with-qemu.sh
sudo rm -f $targetdir/linux-image-4.9.0-xlnx-v2017.3-zynqmp-fpga_4.9.0-xlnx-v2017.3-zynqmp-fpga-1_arm64.deb
sudo rm -f $targetdir/linux-headers-4.9.0-xlnx-v2017.3-zynqmp-fpga_4.9.0-xlnx-v2017.3-zynqmp-fpga-1_arm64.deb

UltraZed-EG_Linux_135_170121.png

~/ZynqMP-FPGA-Linux/debian9-rootfs ディレクトリの現在の内容を示す。
UltraZed-EG_Linux_136_170121.png

構築したルート・ファイル・システムを圧縮して、debian9-rootfs-vanilla.tgz を作成する
cd $targetdir
sudo tar cfz ../debian9-rootfs-vanilla.tgz *

UltraZed-EG_Linux_137_170121.png

~/ZynqMP-FPGA-Linux ディレクトリに debian0-rootfs-vanilla.tgz が生成された。
UltraZed-EG_Linux_138_170122.png
  1. 2018年01月22日 04:59 |
  2. Linux
  3. | トラックバック:0
  4. | コメント:0