ラベル Linux の投稿を表示しています。 すべての投稿を表示
ラベル Linux の投稿を表示しています。 すべての投稿を表示

2022年9月29日木曜日

Stable Diffusionを使う(Arch Linux)

 メモ兼テンプレです。

  • 目的
    • stable_diffusion.openvinoの実行に必要な手順をまとめておく
  • 前提
    • Arch Linuxがインストール済みであること
    • 一般ユーザーを作成済みであること。ユーザー名はuserとする。
  • 手順
    • rootユーザーを開始してAUR利用に必要なパッケージをインストール
      • su
      • pacman -Sy base-devel git sudo
    • visudoを実行してuserがsudoを利用可能にする
      • visudo
        • 操作方法はviなので注意
      • 例として「root ALL=(ALL:ALL) ALL」の次の行に「user ALL=(ALL:ALL) ALL」を追加
      • 「:wq」で保存して終了
    • userにユーザーを変更
      • su user
    • 作業用ディレクトリをホームディレクトリに作成し移動
      • mkdir /home/user/work
      • cd /home/user/work
    • AURのpython38をインストール
      • git clone https://aur.archlinux.org/python38.git
      • cd python38
      • gpg --recv-keys B26995E310250568
        • 証明書を信用できない場合は使わないこと(自己責任です)
      • makepkg -si
    • rootユーザーに戻って必要なパッケージをインストール
      • exit
      • pacman -Sy python python-pip python-virtualenv
    • userユーザーになり作業用ディレクトリでstable_diffusion.openvinoをclone
      • su user
      • cd /home/user/work
      • git clone https://github.com/bes-dev/stable_diffusion.openvino.git
    • virtualenvを設定し開始する
      • virtualenv -p python38 env1
      • source env1/bin/activate
    • stable_diffusion.openvinoに移動してインストール
      • cd stable_diffusion.openvino
      • pip install --timeout 150 -r requirements.txt
    • stable_diffusion.openvino実行
      • python demo.py --prompt "karaage"
        • 実行結果はoutput.pngに出力されます。
    • virtualenvを終了
      • deactivate
  • 備考
    • AMDでは動かないとか動くとか(不明)
    • ※現時点では動作した
  • 生成サンプル(Penguin typing on a laptop)

2022年7月6日水曜日

GPUパススルー(Arch Linux)

 メモ兼テンプレです。

環境

  • Arch Linux
  • Pentium Gold G6405(VT-d対応)
  • GeForce GTX 950(UEFI対応)
  • BIOSTAR H510MH 2.0(IOMMU対応)

手順

  • IOMMUとVT-dを有効化
    • UEFIでVMXをEnable
  • カーネルパラメーター
    • intel_iommu=on
  • モジュールをロード
    • /etc/modprobe.d/vfio.conf
      • 注意点としてCPU由来のPCIeコントローラーを含めないこと
    • /etc/mkinitcpio.conf
      • MODULES=(... vfio_pci vfio vfio_iommu_type1 vfio_virqfd ...)
  • 仮想マシン作成
    • virt-managerにて作成
      • UEFIを選択
      • CPUモデルとしてhost-passthroughを選択
      • SPICEの削除は不要

2022年4月27日水曜日

GAME BOY エミュレータを作る(Rust)

メモ兼テンプレです。

    GB Emuの作成にあたり参考資料についてまとめておく


2022年2月19日土曜日

SSHでポートフォワード(リモートからローカルへトンネリング)

メモ兼テンプレです。

ssh -R 8080:localhost:8081 -g -N user@192.168.1.1

解説

  • -R 8080:localhost:8081
    • 192.168.1.1のポート8080への接続をlocalhostの8081にポートフォワード
  • -g
    • 外部からの接続を許可
  • -N
    • ポートフォワード向け便利オプション(コマンド実行なしのモード)
  • user@192.168.1.1
    • userで192.168.1.1に接続
※未検証

SSHでポートフォワード(ローカルからリモートへトンネリング)

メモ兼テンプレです。

ssh -L 8081:192.168.1.123:8080 -g -N user@192.168.1.123

解説

  • -L 8081:192.168.1.123:8080
    • ポート8081への接続を192.168.1.123:8080にポートフォワード
  • -g
    • 外部からの接続を許可
  • -N
    • ポートフォワード向け便利オプション(コマンド実行なしのモード)
  • user@192.168.1.123
    • userで192.168.1.123に接続

2021年1月19日火曜日

Android Studioでgit push(ssh)

前提条件
  • Android StudioでProjectを作成済み
  • Projectのlocal repositoryを作成済み
  • gitサーバーを構築済み
環境
  • Android Studio 4.0.1
  • Git 2.29.2
  • Arch Linux
手順
  1. gitサーバーでbare repositoryを作成
    • git init --bare /home/username/git/repos/リポジトリ名
  2. Androidstudioでpush
    • メニュー>VCS>Git>Push
    • Define Remoteリンクを選択
    • リモートリポジトリ名とURLを入力してOK
      • master
      • ssh://username@0.0.0.0:/home/username/git/repos/リポジトリ名
    • Push

2020年12月20日日曜日

Raspberry Pi Zero WとArchLinuxでBulez(Buletooth)を使う

環境

  • Raspberry Pi Zero W
  • ArchLinux ARM
設定

  • /boot/config.txt(追記)
    • dtparam=krnbt=on
    • enable_uart=0
  • /boot/cmdline.txt(削除)
    • console=ttyAMA0,115200
    • kgdboc=ttyAMA0,115200
  • 再起動
  • pacman -S bluez bluez-utils
  • systemctl enable bluetooth.service
  • systemctl start bluetooth.service
備考

  • bluetoothの設定にはbluetoothctlを使用

2020年7月19日日曜日

ArchLinuxでArduino

環境
  • ArchLinux
  • Arduino(Nano V3.0、Atmel ATmega328-AU MCU、Amazon購入の互換品)
  • 公式IDE(arduino-1.8.13-linux64.tar.xz)
設定
  • tar.xzを展開して、展開したarduinoを実行(root)
  • Tools->Board->Arduino Nanoを選択
  • Tools->Processor->ATmega328P(Old Bootloader)
  • Tools->Port->/dev/ttyUSB0
備考
  • 仮想環境

2020年6月5日金曜日

Android Studioを利用中にマウスがきかなくなる。

環境
  • Arch Linux
  • Openbox
  • alsamixer
※仮想環境

現象
  • Android Studioを実行していると、マウスが反映されなくなる。
  • Xの再起動では対応できない。
対処
  • 仮想タッチパッドを削除する事で解決した。

2020年5月6日水曜日

ArchLinuxインストール(LVM上でLUKS暗号化)

作業メモです。インストール部分については省略。

完成図
vda                   254:0    0    20G  0 disk
├─vda1              254:1    0   512M  0 part  /boot
└─vda2              254:2    0  19.5G  0 part
  ├─VGroup00-lvroot 253:0    0    15G  0 lvm
  │ └─cryptroot    253:2    0    15G  0 crypt /
  └─VGroup00-lvhome 253:1    0   4.5G  0 lvm
    └─crypthome     253:3    0   4.5G  0 crypt /home

目的

  • LVMを使用してパーティションのサイズを変更可能とする
  • /を暗号化
  • /homeを暗号化
  • UEFI+GPT+GRUBを使用


手順

  • パーティション(gdisk)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048         1050623   512.0 MiB   EF00  EFI system partition
   2         1050624        41943006   19.5 GiB    8E00  Linux LVM


  • 暗号化するパーティションの消去

cryptsetup open --type plain /dev/vda2 cnt --key-file /dev/random
dd if=/dev/zero of=/dev/mapper/cnt status=progress bs=1M
sleep 5
cryptsetup close cnt


  • Physical volumes、Volume groups、Logical_volumesの作成

pvcreate /dev/vda2
vgcreate VGroup00 /dev/vda2
lvcreate -L 15G -n lvroot VGroup00
lvcreate -l 100%FREE -n lvhome VGroup00


  • 暗号化

cryptsetup luksFormat -c aes-xts-plain64 -s 512 /dev/mapper/VGroup00-lvroot
cryptsetup open /dev/mapper/VGroup00-lvroot cryptroot

※/dev/mapper/VGroup00-lvhomeは別途暗号化


  • フォーマット

mkfs.ext4 /dev/mapper/cryptroot
mount /dev/mapper/cryptroot /mnt
dd if=/dev/zero of=/dev/vda1 bs=1M status=progress
mkfs.fat -F32 /dev/vda1


arch-chroot後


  • パッケージの追加が必要
pacman -S lvm2 grub dosfstools efibootmgr


  • /etc/mkinitcpio.confのHOOKにlvm2とencryptが必要
HOOKS=(base udev autodetect modconf keyboard keymap block lvm2 encrypt filesystems keyboard fsck)


  • /etc/default/grubに追記が必要

GRUB_CMDLINE_LINUX_DEFAULT="cryptdevice=/dev/mapper/VGroup00-lvroot:cryptroot
 root=/dev/mapper/cryptroot loglevel=3 quiet"

GRUB_PRELOAD_MODULES="part_gpt part_msdos lvm"


  • /dev/mapper/VGroup00-lvhomeの暗号化

mkdir -m 700 /etc/luks-keys
dd if=/dev/random of=/etc/luks-keys/home bs=1 count=256 status=progress
cryptsetup luksFormat -v -s 512 /dev/mapper/VGroup00-lvhome /etc/luks-keys/home
cryptsetup -d /etc/luks-keys/home open /dev/mapper/VGroup00-lvhome crypthome


  • フォーマット

mkfs.ext4 /dev/mapper/crypthome


  • /etc/crypttabに追記
crypthome /dev/mapper/VGroup00-lvhome /etc/luks-keys/home


2020年4月7日火曜日

正常終了するまでダウンロードするスクリプト(sha256sum)

メモ兼テンプレです。

解説(設定する変数)
  • FILE
    • ファイル名
  • URL
    • ダウンロードファイルのURL
  • HASH
    • SHA256SUMのハッシュ
  • DLLOW
    • 最低ダウンロード速度(バイト)
  • DLMAX
    • 最高ダウンロード速度(バイト、K,M,Gが指定可能)
その他
  • hash.txt
    • ここにハッシュとファイル名を追加していく。
  • 例外
    • ダウンロードをリトライしても同じファイルがダウンロードされる場合は終了します。

2020年2月15日土曜日

openboxでメニューの内容が表示されない(Arch Linux)

作業メモです。下記で解決。

pacman -S otf-ipafont

単にフォントが入ってないだけなのかもしれない…

2020年2月13日木曜日

LinuxでWindows10のUSBインストールディスクを作る

  1. WindowsのISOイメージを取得する。
    • https://www.microsoft.com/ja-jp/software-download/windows10ISO
  2. 8GB以上のUSBディスクをNTFSでフォーマットする。
  3. WindowsのISOイメージをディスクイメージマウンタ等でマウントする。
  4. マウントしたディスクイメージの直下にある全てのファイルフォルダをUSBディスク直下にコピーする。
  • UEFI環境で起動とインストール完了まで確認。
  • WoeUSBというソフトもある(上手くいかなかった)

2020年2月10日月曜日

cURLでダウンロード

メモ兼テンプレです。

curl -L -Y 10240 -C - --limit-rate 10240K -k -o "FILE" "URL"

解説
  • -L
    • リダイレクト対応
  • -Y 10240
    • 最低速度制限10KB/s
  • -C -
    • レジューム対応
  •  --limit-rate 10240K
    • 最高速度制限10MB/s
  • -k
    • SSL/TLS接続を検証しない
  • -o "FILE"
    • 出力ファイルパス
  • "URL"
    • ダウンロードパス
その他
  •  --retry 10
    •  リトライ数の指定、なのだが、これを指定するとリトライ時に直近のダウンロードデータを破棄してしまう模様。なのでシェルスクリプトでラップして使った方が良さそう。

ChatGPTを英会話に使う

AIと幅広い対話を行うことができるChatGPTですが、英語教師の役割を担わせることも可能になっています。これを用いて英会話(チャット)による学習を行うことが可能です。 最初に必要なプロンプトを入力します。コピペして使ってください。 初心者 Let's think ste...