MetaTrader5を RaspberryPi 400 で動かそうというメモです
準備
Linuxのパソコン、できれば ArchLinux がベターです
Paspberry Pi 400 に接続するUSBハブ
USBハブに接続してArchLinuxを動かすためのSSDドライブ
インターネットに接続できる環境
ArchLinuxのインストール
参考URL https://archlinuxarm.org/platforms/armv8/broadcom/raspberry-pi-4
ここに詳しく手順が説明されているので、ほぼその通りですが
パーティション1をアクティブ(ブート可能)に設定するのと
SWAPパーティションを作成しました
(普通はSWAPファイルを作成するのだと思いますが、古い人間なので、手法も古いです。)
ターミナルを起動します
ls /dev/sd*
/dev/sda /dev/sdb1 /dev/sdc2 /dev/sde /dev/sdf /dev/sdg1
/dev/sda1 /dev/sdb2 /dev/sdd /dev/sde1 /dev/sdf1 /dev/sdg2
/dev/sda2 /dev/sdc /dev/sdd1 /dev/sde2 /dev/sdf2
/dev/sdb /dev/sdc1 /dev/sdd2 /dev/sde3 /dev/sdg
SSDをLinuxパソコンに接続します
ls /dev/sd*
/dev/sda1 /dev/sdb2 /dev/sdd /dev/sde1 /dev/sdf1 /dev/sdg2
/dev/sda2 /dev/sdc /dev/sdd1 /dev/sde2 /dev/sdf2 /dev/sdh
/dev/sdb /dev/sdc1 /dev/sdd2 /dev/sde3 /dev/sdg /dev/sdh1
/dev/sdh2
/dev/sdhが増えていますので、接続したディスクのデバイス名が/dev/sdhということが分かります
http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-aarch64-latest.tar.gz
からインストールパッケージをダウンロードします
インストールを開始します
ターミナルでコマンドを入力していきます
sudo -i
wget http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-aarch64-latest.tar.gz
mkdir root boot
使用したSSDは120GBです
# fdisk /dev/sdh
fdisk (util-linux 2.39) へようこそ。
ここで設定した内容は、書き込みコマンドを実行するまでメモリのみに保持されます。
書き込みコマンドを使用する際は、注意して実行してください。
コマンド (m でヘルプ): o
Created a new DOS (MBR) disklabel with disk identifier 0xc057f31c.
コマンド (m でヘルプ): n
パーティションタイプ
p 基本パーティション (0 プライマリ, 0 拡張, 4 空き)
e 拡張領域 (論理パーティションが入ります)
選択 (既定値 p):
既定の回答 p であるものとみなします。
パーティション番号 (1-4, 既定値 1):
最初のセクタ (2048-234441647, 既定値 2048):
最終セクタ, +/-セクタ番号 または +/-サイズ{K,M,G,T,P} (2048-234441647, 既定値 234441647): +300M
新しいパーティション 1 をタイプ Linux、サイズ 300 MiB で作成しました。
コマンド (m でヘルプ): a
パーティション 1 を選択
パーティション 1 の起動フラグを有効にしました。
コマンド (m でヘルプ): t
パーティション 1 を選択
16 進数コード または別名 (L で利用可能なコードを一覧表示します): c
パーティションのタイプを 'Linux' から 'W95 FAT32 (LBA)' に変更しました。
コマンド (m でヘルプ): n
パーティションタイプ
p 基本パーティション (1 プライマリ, 0 拡張, 3 空き)
e 拡張領域 (論理パーティションが入ります)
選択 (既定値 p): p
パーティション番号 (2-4, 既定値 2):
最初のセクタ (616448-234441647, 既定値 616448):
最終セクタ, +/-セクタ番号 または +/-サイズ{K,M,G,T,P} (616448-234441647, 既定値 234441647): +106G
新しいパーティション 2 をタイプ Linux、サイズ 106 GiB で作成しました。
コマンド (m でヘルプ): n
パーティションタイプ
p 基本パーティション (2 プライマリ, 0 拡張, 2 空き)
e 拡張領域 (論理パーティションが入ります)
選択 (既定値 p): p
パーティション番号 (3,4, 既定値 3):
最初のセクタ (222914560-234441647, 既定値 222914560):
最終セクタ, +/-セクタ番号 または +/-サイズ{K,M,G,T,P} (222914560-234441647, 既定値 234441647):
新しいパーティション 3 をタイプ Linux、サイズ 5.5 GiB で作成しました。
コマンド (m でヘルプ): t
パーティション番号 (1-3, 既定値 3):
16 進数コード または別名 (L で利用可能なコードを一覧表示します): 82
パーティションのタイプを 'Linux' から 'Linux swap / Solaris' に変更しました。
コマンド (m でヘルプ): w
パーティション情報が変更されました。
ioctl() を呼び出してパーティション情報を再読み込みします。
ディスクを同期しています。
# mkfs.vfat /dev/sdh1
mkfs.fat 4.2 (2021-01-31)
# mkfs.ext4 /dev/sdh2
mke2fs 1.47.0 (5-Feb-2023)
Creating filesystem with 27787264 4k blocks and 6946816 inodes
Filesystem UUID: 08d26f31-e52f-46f1-a071-da899015b02e
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872
Allocating group tables: done
Writing inode tables: done
Creating journal (131072 blocks): done
Writing superblocks and filesystem accounting information: done
# mount /dev/sdh1 boot
# mount /dev/sdh2 root
# bsdtar -xpf ArchLinuxARM-rpi-aarch64-latest.tar.gz -C root
ちなみに ls root で確認すると
# ls root
bin dev home lost+found opt root sbin sys usr
boot etc lib mnt proc run srv tmp var
展開されています
bootのインストールします
mv root/boot/* boot
boot の内容は
ls boot
Image bootcode.bin fixup_cd.dat start4.elf
Image.gz config.txt fixup_db.dat start4cd.elf
bcm2710-rpi-3-b-plus.dtb dtbs fixup_x.dat start4db.elf
bcm2710-rpi-3-b.dtb fixup.dat initramfs-linux-fallback.img start4x.elf
bcm2710-rpi-cm3.dtb fixup4.dat initramfs-linux.img start_cd.elf
bcm2711-rpi-4-b.dtb fixup4cd.dat kernel8.img start_db.elf
boot.scr fixup4db.dat mkscr start_x.elf
boot.txt fixup4x.dat start.elf
/etc/fstab を設定します
# vim root/etc/fstab
/dev/mmcblk0p1 を /dev/sda1 に変更します
SWAPの設定を追加します
/dev/sda3 swap swap defaults 0 0
保存します
X Windows のキーボードの設定ファイルが /etc/X11/xorg.conf.d/00-keyboard.conf にあるのでコピーしておきます
# cp xorg.conf.d/00-keyboard.conf root/home/alarm
# chown 1000:1000 root/home/alarm/00-keyboard.conf
マウント解除します
umount root boot
ディスクを取り外してラズパイに接続します
ArchLinuxの起動
電源スイッチを押して起動します
rootでログインしてセットアップしていきます
# pacman-key --init
# pacman-key --populate archlinuxarm
# pacman -Syyu
# pacman -S base-devel sudo git vim
# pacman -S --need xorg
# pacman -S --need lxqt xdg-utils ttf-freefont sddm
# pacman -S --need oxygen-icons breeze-icons firefox-i18n-ja thunderbird-i18n-ja leafpad archlinux-wallpaper
# systemctl enable sddm
# vim /etc/locale.gen
ja_JP.UTF-8 の行の先頭の#を削除し保存
# locale-gen
# vim /etc/locale.conf
LANG=ja_JP.UTF-8 に変更して保存
# ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
# mv /home/alarm/00-keyboard.conf /etc/X11/xorg.conf.d/
日本語フォントは好みのものをインストールしてください
# pacman -S noto-fonts-cjk
再起動します
# reboot
wine の動作環境
wineの動作環境は
https://wiki.winehq.org/Building_Wine#Shared_WoW64
この Satisfying Build Dependencies の表を参考に Needed for many applications と
Rare or domain-specific のパッケージがインストールされていない場合、インストールします
alarm のユーザでログインします
alarm のユーザが sudo を使えるように設定します
su -
root のパスワードを入力します
visudo
下の方に root ALL=(ALL:ALL) ALL という行があるので
その下に alarm ALL=(ALL:ALL) ALL を追加して保存します
不足分のパッケージをインストールします
sudo pacman -S gstreamer gst-plugins-base-libs vulkan-headers libgphoto2 smbclient
wine のインストール
https://gitlab.com/wine-ce/wine-ce/-/releases
から V8.9をインストールします
インストール手順も説明されています
多分 ubuntu 向けのだと思って、ラズパイに ubuntu をインストールしてHPの手順でインストールしてみたのですが、MetaTrader5のインストールができませんでした
その代わりに Arch Linux にインストールしてみました
ダウンロードするファイルは wine-ce_core_8.9.0.aarch64.tar.xz
wine-ce_dlls_8.9.0.all.tar.xz です
wine のフォントは Windowsパソコンの C:\windows\Fonts をUSBメモリーでコピーしました
wineのインストール手順は
$ sudo bsdtar -Jxvf wine-ce_core_8.9.0.aarch64.tar.xz -C /opt/
$ sudo bsdtar -Jxvf wine-ce_dlls_8.9.0.all.tar.xz -C /opt/
$ sudo ln -sf /opt/wine-ce/bin/wine /usr/bin/wine
$ sudo ln -sf /opt/wine-ce/bin/winecfg /usr/bin/winecfg
MetaTrader5のダウンロード
https://www.metatrader5.com/ja
から Windows向けダウンロード をクリックしてダウンロードします
env WINEPREFIX=~/.wine-metatrader5 winecfg
Wine Mono Installer のメッセージが表示されますので Install を選択します
Wine configuration のウインドが表示されます
表示が日本語になっていませんが、動けばOKということで
USBメモリにコピーしたフォントを .wine-metatrader5/drive_c/windows/Fonts にコピーします
env WINEPREFIX=~/.wine-metatrader5 wine Download/mt5setup.exe
でMT5が起動します
今日は土曜日なのでレートの動きがないので本当に動いているか分かりませんが
昨日、インストールした時は注文も決済も遅いながらできました