とかげ備忘録

IT系の備忘録です。

「やる気が上がる8つのスイッチ」を読んだので、自己分析する。

「やる気が上がる8つのスイッチ」という本があったので、読んでみました。
せっかくなので、自己分析しました。

アフィなしリンク:
https://www.amazon.co.jp/dp/B07ZCZYW2Y/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1

3つの軸

まず、3つの軸の情報だけ書いておきます。

マインドセット

◆証明マインドセット
概要

自分の能力を相手に見せて、認めさせたい。
すごい人と思われたい。

特徴

ミスを恐れる
他人と比べる
助けを求めない

問題点

不安に押しつぶされる
物事を諦める

◆成長マインドセット
概要

自分のスペックを上げるために能力を高める。
新しいことを学んでいく。
すごい人になりたい。

特徴

他人をあまり気にしない
否定されてもやると思ったことをやる
壁があっても粘り強く続ける

問題点

特に書かれてなかったと思う。

②フォーカス

◆獲得フォーカス

革新的なイメージ
能動的で何かに向かって突き進む。
多くのことに手を出す。

特徴

物事を達成し、称賛を得る。
情熱
仕事を先延ばししがち
抽象的

やる気を上げる有効な手段

肯定的なフィードバック
確信や称賛
物事の達成

◆回避フォーカス

保守的なイメージ
安定と信頼を重視する。
やり始めたことは最後までやろうとする。

特徴

損失を抑え、批判を避ける。
自衛
作業の時間を多めに見積もる、期限までにやる
具体的

やる気を上げる有効な手段

否定的なフィードバック
自省
批判

③自身の有無

・自信有無について 自信はどんな人にもあったほうがよい。

自信とは

俺様最強 ×
俺には目標に向かってやり遂げる力がある 〇

タイプ診断

自分の場合

僕は下記のような感じでした。
両極端ではない結果となってしまった。

  • マインドセット
    成長寄り
  • フォーカス
    獲得、回避 5分くらい
  • 自信
    普通より ちょっと下くらい

タイプ診断結果

  • やる気の空回り →必要な能力をつけましょう

  • まじめな見習い →必要な能力をつけましょう

なんと単純明快な解答をいただきました。

さいごに

いろいろと勉強頑張ります(笑)

YoctoでRaspberry Pi 4 64bitのOSイメージを作成する。(動作確認 未)

1.Yocto Project とは

(1)IoTって何?

IoT(Internet of Things)モノのインターネット。 私たちの身近にあるもの(車、自販機、家電製品など)が インターネットと紐づいている仕組みのことです。 モノが通信をしてくれるおかげで、
遠隔で冷蔵庫の中身をチェックできたり、
自販機のドリンクの在庫状況をチェックして、補充作業が効率的になっています。

(2)組込みボードって何?

この説明では、家電製品や、カーナビ、スマートメーターなどの中に入っている、
小型コンピュータのことをこう呼んでおきます。

(3)どんなボードがあるの?

電子工作分野では、
Arduinoや、Raspberry Piが有名でしょうか。
比較的に安価なので、学生さんにも手に入りやすく、
学習や遊びで使えると思います。

産業用だと、


社のボードなどがあります。

そんな各種ボードに対応したOSイメージを このツールひとつで、手軽に作れるというわけですね。

2.Raspberry Pi用のOSイメージを作ってみる

個人でラズパイを持っていない(笑)ので、とりあえず構築までの手順をやってみようと思います。

(1)作業の準備

仮想環境を作ってやります。

  • 環境、スペックなど
    • 容量:80GB  ←(大きい方が良いです)
    • CPU:corei5の2コア分  ←(性能が高い方が良いです)
    • メモリ:4GB ←(大きい方g(ry))

今回は、普段使っているノートPCからやったので、低スペックです。
ビルドはものすごく時間がかかるので、スペックは高い方がいいです。
(実際、上記のリソースを使ってビルドしたら、最小イメージで5時間くらいはかかったと思います。)

f:id:ttokage2233:20200120232356p:plain

  • VMware Workstation Player をダウンロード

https://www.vmware.com/jp/products/workstation-player/workstation-player-evaluation.html

  • Ubuntu16.04をダウンロード

OSはUbuntu16.04を使いました。
https://www.ubuntulinux.jp/News/ubuntu1604-ja-remix

(2)とりあえず、インストール

Ubuntu16.04をインストールしました。 この辺りは、画面の指示通りに進めていっただけなので、割愛します。

f:id:ttokage2233:20200120232524p:plain

(3)リファレンスマニュアルに沿ってYocto導入

下記URLの導入部分を読み、必要なパッケージをインストールします。
Yocto Project Reference Manual

$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
     build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \
     xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev \
     pylint3 xterm
$ sudo apt-get install make xsltproc docbook-utils fop dblatex xmlto

(4)Pokyのダウンロード

Yoctoで使われているビルドツールPokyをダウンロードします。

$ git clone git://git.yoctoproject.org/poky

(リビジョン:ecbf203e34484731dcb6acc5e75df79cb86e55dc)

(5)ラズパイ用の必要パッケージをダウンロード

ラズパイのBSP(Board Support Package)

$ git clone https://github.com/agherzan/meta-raspberrypi.git

(リビジョン:e7c856ee7bcfd7878853b55310957f0b9a990fd2)


依存レイヤーのmeta-openembeddedを指定してみたら、
そのレイヤー直下に conf/layer.confが無いらしく、エラーとなりました。
バージョンが古いのだろうか・・・。
$ git clone git://git.openembedded.org/meta-openembedded
これが無くてもビルドは通りました。なのでスキップしておきます。

(6)Yoctoビルド環境の設定

$ source oe-init-build-env

ビルド用のディレクトリ(build)が作成され、 Yoctoビルド用の環境変数なども設定されます。

(7)bblayer.confの編集

先ほどダウンロードしたレイヤー(meta-***)の設定をします。

~/poky/build$ vi conf/bblayers.conf
-----------
~~
  /home/tasky/poky/meta-yocto-bsp \
  /home/tasky/poky/meta-raspberrypi \   ←追加
  "
~~
-----------

(8)local.confの編集

実際にOSイメージを使うターゲットボード(マシン名)を指定します。
マシン名は、各ボードのリファレンスマニュアルに書いてあれば、
すぐに指定できるのですが、見つからない場合は、レイヤー(meta-***)から探します。
docs/layer-contents.md の中身とか、
conf/以下のディレクトリあたりで・・・。

-----------
~/poky$ cd meta-raspberrypi/
~/poky/meta-raspberrypi$ ls conf/machine/
include               raspberrypi0-wifi.conf  raspberrypi3.conf
raspberrypi-cm.conf   raspberrypi0.conf       raspberrypi4-64.conf
raspberrypi-cm3.conf  raspberrypi2.conf       raspberrypi4.conf
raspberrypi.conf      raspberrypi3-64.conf
-----------

ありました。では、今回は raspberrypi4-64をお試しで指定してみます。

~/poky/build$ vi conf/local.conf
-----------
~~
MACHINE ?= "raspberrypi4-64"    ←追加
~~
BB_NUMBER_THREADS = '2'     ←ビルド時のスレッド指定(CPUがマルチコア対応なら2倍の数でよい)
PARALLEL_MAKE = '-j 2'      ←ビルド時に使うスレッドの最大数(CPUがマルチコア対応なら2倍の数でよい)
-----------


↑*スレッド指定の例
使用CPU(4コア、8スレッド)の場合、下記のようにしておくと、ビルドが早いです。
BB_NUMBER_THREADS = '8'
PARALLEL_MAKE = '-j 8'

(9)ビルド

今回は最小構成のOSイメージを作ります。

$ bitbake core-image-minimal

(とても時間がかかる)
(本来なら、ガチガチの高スぺPCを使います(笑))

(10)成果物の確認

うまくビルドができていれば、
ビルドディレクトリ(build)から
tmp/deploy/images/(マシン名) に、作成されているはずです。

実際の確認画面
----------
~/poky/build$ ls tmp/deploy/images/raspberrypi4-64/
Image
Image-1-4.19.93+git0+3fdcc814c5-r0-raspberrypi4-64-20200119105629.bin
Image-raspberrypi4-64.bin
at86rf233-1-4.19.93+git0+3fdcc814c5-r0-raspberrypi4-64-20200119105629.dtbo
at86rf233-raspberrypi4-64.dtbo
at86rf233.dtbo
bcm2711-rpi-4-b-1-4.19.93+git0+3fdcc814c5-r0-raspberrypi4-64-20200119105629.dtb
bcm2711-rpi-4-b-raspberrypi4-64.dtb
bcm2711-rpi-4-b.dtb
bcm2835-bootfiles
core-image-minimal-raspberrypi4-64-20200119105629.rootfs.ext3
core-image-minimal-raspberrypi4-64-20200119105629.rootfs.manifest
core-image-minimal-raspberrypi4-64-20200119105629.rootfs.rpi-sdimg
core-image-minimal-raspberrypi4-64-20200119105629.rootfs.tar.bz2
core-image-minimal-raspberrypi4-64-20200119105629.testdata.json
core-image-minimal-raspberrypi4-64.ext3
core-image-minimal-raspberrypi4-64.manifest
core-image-minimal-raspberrypi4-64.rpi-sdimg
core-image-minimal-raspberrypi4-64.tar.bz2
core-image-minimal-raspberrypi4-64.testdata.json
dwc2-1-4.19.93+git0+3fdcc814c5-r0-raspberrypi4-64-20200119105629.dtbo
dwc2-raspberrypi4-64.dtbo
dwc2.dtbo
gpio-key-1-4.19.93+git0+3fdcc814c5-r0-raspberrypi4-64-20200119105629.dtbo
gpio-key-raspberrypi4-64.dtbo
gpio-key.dtbo
hifiberry-amp-1-4.19.93+git0+3fdcc814c5-r0-raspberrypi4-64-20200119105629.dtbo
hifiberry-amp-raspberrypi4-64.dtbo
hifiberry-amp.dtbo
hifiberry-dac-1-4.19.93+git0+3fdcc814c5-r0-raspberrypi4-64-20200119105629.dtbo
hifiberry-dac-raspberrypi4-64.dtbo
hifiberry-dac.dtbo
hifiberry-dacplus-1-4.19.93+git0+3fdcc814c5-r0-raspberrypi4-64-20200119105629.dtbo
hifiberry-dacplus-raspberrypi4-64.dtbo
hifiberry-dacplus.dtbo
hifiberry-digi-1-4.19.93+git0+3fdcc814c5-r0-raspberrypi4-64-20200119105629.dtbo
hifiberry-digi-raspberrypi4-64.dtbo
hifiberry-digi.dtbo
i2c-rtc-1-4.19.93+git0+3fdcc814c5-r0-raspberrypi4-64-20200119105629.dtbo
i2c-rtc-raspberrypi4-64.dtbo
i2c-rtc.dtbo
iqaudio-dac-1-4.19.93+git0+3fdcc814c5-r0-raspberrypi4-64-20200119105629.dtbo
iqaudio-dac-raspberrypi4-64.dtbo
iqaudio-dac.dtbo
iqaudio-dacplus-1-4.19.93+git0+3fdcc814c5-r0-raspberrypi4-64-20200119105629.dtbo
iqaudio-dacplus-raspberrypi4-64.dtbo
iqaudio-dacplus.dtbo
mcp2515-can0-1-4.19.93+git0+3fdcc814c5-r0-raspberrypi4-64-20200119105629.dtbo
mcp2515-can0-raspberrypi4-64.dtbo
mcp2515-can0.dtbo
modules-1-4.19.93+git0+3fdcc814c5-r0-raspberrypi4-64-20200119105629.tgz
modules-raspberrypi4-64.tgz
pi3-disable-bt-1-4.19.93+git0+3fdcc814c5-r0-raspberrypi4-64-20200119105629.dtbo
pi3-disable-bt-raspberrypi4-64.dtbo
pi3-disable-bt.dtbo
pi3-miniuart-bt-1-4.19.93+git0+3fdcc814c5-r0-raspberrypi4-64-20200119105629.dtbo
pi3-miniuart-bt-raspberrypi4-64.dtbo
pi3-miniuart-bt.dtbo
pitft22-1-4.19.93+git0+3fdcc814c5-r0-raspberrypi4-64-20200119105629.dtbo
pitft22-raspberrypi4-64.dtbo
pitft22.dtbo
pitft28-capacitive-1-4.19.93+git0+3fdcc814c5-r0-raspberrypi4-64-20200119105629.dtbo
pitft28-capacitive-raspberrypi4-64.dtbo
pitft28-capacitive.dtbo
pitft28-resistive-1-4.19.93+git0+3fdcc814c5-r0-raspberrypi4-64-20200119105629.dtbo
pitft28-resistive-raspberrypi4-64.dtbo
pitft28-resistive.dtbo
pitft35-resistive-1-4.19.93+git0+3fdcc814c5-r0-raspberrypi4-64-20200119105629.dtbo
pitft35-resistive-raspberrypi4-64.dtbo
pitft35-resistive.dtbo
pps-gpio-1-4.19.93+git0+3fdcc814c5-r0-raspberrypi4-64-20200119105629.dtbo
pps-gpio-raspberrypi4-64.dtbo
pps-gpio.dtbo
rpi-ft5406-1-4.19.93+git0+3fdcc814c5-r0-raspberrypi4-64-20200119105629.dtbo
rpi-ft5406-raspberrypi4-64.dtbo
rpi-ft5406.dtbo
rpi-poe-1-4.19.93+git0+3fdcc814c5-r0-raspberrypi4-64-20200119105629.dtbo
rpi-poe-raspberrypi4-64.dtbo
rpi-poe.dtbo
vc4-fkms-v3d-1-4.19.93+git0+3fdcc814c5-r0-raspberrypi4-64-20200119105629.dtbo
vc4-fkms-v3d-raspberrypi4-64.dtbo
vc4-fkms-v3d.dtbo
vc4-kms-v3d-1-4.19.93+git0+3fdcc814c5-r0-raspberrypi4-64-20200119105629.dtbo
vc4-kms-v3d-raspberrypi4-64.dtbo
vc4-kms-v3d.dtbo
w1-gpio-1-4.19.93+git0+3fdcc814c5-r0-raspberrypi4-64-20200119105629.dtbo
w1-gpio-pullup-1-4.19.93+git0+3fdcc814c5-r0-raspberrypi4-64-20200119105629.dtbo
w1-gpio-pullup-raspberrypi4-64.dtbo
w1-gpio-pullup.dtbo
w1-gpio-raspberrypi4-64.dtbo
w1-gpio.dtbo
----------

生成されていました。

(11)ブート用SDカードの作成(動作未確認)

動作確認ができないため、以下エアプです。
参考程度にしてもらえればと思います。

出来上がったOSイメージを、SDカードに書き込みます。

  • SDカードの確認 SDカード挿入後
$ dmesg | tail
$ mount

などのコマンドでSDカードが認識されているか確認します。
(SDカード認識例:/dev/sdb)

(もしマウントされていたら、アンマウントしておきます)

$ sudo umount /dev/sdb*
  • OSイメージの書き込み
~/poky/build/$ cd tmp/deploy/images/raspberrypi4-64
$ sudo dd if=core-image-minimal-raspberrypi4-64.rpi-sdimg of=/dev/sdb bs=1M

3.まとめ

Yoctoはカスタムlinuxが作れるツールです。
全体のOSイメージの構築の流れを紹介しました。

4.参考URL

  • Yoctoリファレンスマニュアル

https://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html

  • ラズパイBSP

https://git.yoctoproject.org/cgit/cgit.cgi/meta-raspberrypi/about/

  • Yoctoのクイックスタートガイド

https://www.yoctoproject.org/docs/2.4.2/yocto-project-qs/yocto-project-qs.html

こちらで活動します。

とりあえず登録しておいた状態のはてブロでしたが、

半年前くらいまでやっていたブログが消えたので、こちらから記録を残そうと思います。

(AWSで構築した個人ブログがあったのですが、仕事漬けの毎日で放置してたら、

消えてしまいました。これについては、また書こうと思います。)

 

とりあえず何か書いていこうと思います。

よろしくお願いします。