びぼうろく

北海道の人。適当にもっさりまったり書きます。さくら荘のましろが好きです。アニメとかパソコンとか

Raspberry pi3でUbuntu serverを立てる!2

はいはい、前回からの続き

gari30.hatenablog.com

前回は、apt-get upgradeで起動できなくなりました。
今回は、対処法がわかったのでここに記録しておきます。

インストールまでは省略します。

参考サイト

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1652504

ubuntuを初回起動させます

1. user:ubuntu、pass:ubuntuでログインして、新しいパスワードを設定。
2. 今回の難問、パッケージリストの更新をします。

   #apt-get update
   #apt-get upgrade

ここまでは普通

3. upgradeでu-bootの更新が走ります。
こいつが起動しなくなる現況ではと睨んでおります*1
/boot/firmware/config.txtを編集します。

   #vim /boot/firmware/config.txt

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1652504/comments/16
このコメントを参考に、

こうなっているところを

# set extended DT area
device_tree_address=0x100
device_tree_end=0x8000

こう書き換える

# set extended DT area
device_tree_address=0x2008000
device_tree_end=0x200ff00

何をしてるかってのは私も完璧にはわかっていないんですが、
kernelを読み込むメモリのアドレスを指定しているのではないかと思います*2

4. 再起動します

   #shutdown -r now

やった!起動した!!!

P.S.
raspberry pi for ubuntu seerver16.04ってrpi3には正式対応してないんですね。
ということはこの対応は暫定対応となるので、そのうちこの対応のせいで起動しない。
なーんてことがあるかもしれません。。。
というか、早くそうなれ、普通に起動するようになることを祈って。

*1:あくまでも憶測です

*2:あくまでも憶測です

Raspberry pi3でUbuntu serverを立てる!

【Prologue】Raspberry pi3で自宅サーバを立ててた

(本題ではありませんので読み飛ばして、どうぞ)
今までの自宅サーバ

Raspberry pi3 Model BにRasbianを入れて運用してました。
VPNSSH、Mydnsにドメインと紐付けるIPを更新するスクリプトの運用をしてました。

ところがある日電源をぶち切ってしまい、再起動されましたが
起動時にVHABがなにか悪さしてるのか、自宅ネットワークがダウンしてしまう減少に遭遇しました。
理解せず他人のブログのスクリプトをコピペして作ったVPN環境なので
調べてもよくわかんねえし、もうイチから作り直してしまえと、今度は全部自分で理解して建てようと、
そういうことです。

Raspberry pi3で自宅サーバをも1度立てる!

1. そもそもRasbianてなんぞや
2. 使いやすくしてるつもりなのか使いにくくなってる
3. Ubuntuじゃない
との理由からRasbianはもう嫌だ、管理したくない

→じゃあUbuntu使えばいいじゃん

ラズパイでUbuntu動くよな。。。でもラズパイ装飾されたubuntuは嫌だ

www.ubuntu.com
こいつを入れてみた。

うん。うんともすんとも言わねえ、くそ

ARM/RaspberryPi - Ubuntu Wiki
ってことでこっち、
これはubuntu kernelのubuntu管理らしい。

作戦開始!

.img.gzファイルをダウンロードして解答
windowsなら7zipを使って、
debianlinuxならイメージファイルあるページに手順が乗ってる。
MACは嫌いなので知らん

1. SDFromatterでSDカードをフォーマットして
2. Win32 Disk Imagerでイメージを書き込み
3. SDカードをラズパイに突っ込んで
4. ラズパイに電源を接続
やったでおい、起動したでや!!

5. そんでもって、user:ubuntu pass:ubuntuでログイン
6. 新しいパスワードを設定
7. #apt-get update
をして
8. #apt-get upgrade
をして
9. #apt-get install vim ssh //完全なvimsshをインストール
#update-alternatives --config editor //標準エディタをvimに変更
Press enter to keep the current choice[*], or type selection number: 3
10.#shutdown -r now
よーし、とりあえずリブートだ!!

...あれ?起動しねえ、U-bootでエラー吐いてやがる!!


じゃあまたの機会にまたやり直しますかぁ・・・

DoC◯MoでNMPをした

MVNOでD◯CoMoから乗り換える


最近主婦の間で人気みたい、MVNO
そういうネット記事をよく見る。
別にだから乗り換えるわけじゃないけども、とりあえず一悶着あったので備忘録

乗り換え前の話

私の携帯端末は、
スマホ  → OCNモバイルone データ専用
ガラケーdocomo契約
だった。

親がスマホにしたいと言い出した。

俺のガラケーの親回線だった、うちの親が解約して、契約がややこしくなった。
ちょうどよく家のネット回線もOCNプロバイダだったので、割引で毎月200円引き*1になった。

ガラケーの2台持ち邪魔

ガラケーと2台持ちをしていたのだが、だんだんガラケーが邪魔になってきた。

DoCoM◯ショップに行くと12月、1月で丁度2年契約の更新だった。
あと、親回線がなくなって俺に請求書が来るはずなのだが、
住所が違って届かない、更に住所変更したのに届かない。
→あとで知ったのだが、名義が親の名義だったので住所があってても届けてくれないらしい。

俺氏Docomo解約する。

俺もDocomoを解約して、スマホに通話もまとめたい。
正月にスマホをぶっ壊す。

なんとか1月の2週目には新端末&データ移行完了した。

さっそく音声つきOcn simを注文。

22日にMNPを申請。
(ネットでも申請できるのだが21時以降は受け付けてくれなかった)
ocnから名義人と住所が違うと電話があった(まだ未成年なので契約できない)

実家にsimが配送されたのが1月26日。
その間に俺はDocomoショップに行って、
・名義人じゃなくても解約できること(名義人との電話確認と代理人の身分証明書が必要)
MNPの以降中でも解約できること
を確認していた。

実家から自宅に郵送してもらって31日に届くとのことだったので、31日にドコモショップに行った

解約させろ

ドコモショップに行って解約したいですー。と

契約確認しますねー

名義と電話番号を伝える。
ドコモ「本人じゃないとその手続き行えないんですよー」と、

俺  「????あれ?だから電話確認するって言ってましたよね?」

ド「いや、本人に委任状を書いてもらうか、契約者の身分証明証のコピーが必要です。」

俺「???この前聞いたときは、電話確認できて、俺の身分証明書があればいいって言ってたんですが。」

ド「え?いやそれはできません。どこで聞いたんですか??」

俺「イラッ)ここの店で直接聞いたんだよ、」と、前回話したことをほとんどそのまま伝える。

ド「それ誰が言ってたかこの中にいます?」

俺「いや覚えてないです。」どんな人だったかとか覚えてるわけがない、
もともと人の名前と顔を覚えるのは苦手だし。

ド「そうですか、でもできないんですよ。」

俺「いや、言ってること違いすぎだよね、この間聞いたことと全く違うんだけど、何を信じればいいの?」

ド「そう言われましても」とまた委任状云々カンヌン言い出す。

完璧に苛ついていた。だって明日になったら違約金1万も取られるんだぜ??

俺「明日になったら違約金発生するんだけど、MNPの移行手続き中でも取られるんですか?」

ド「そうですね。明日になったら・・・」

俺「それって何時のこと言ってますか?日本時間??」この時点ですごい苛ついてた。
世界標準時でいいの?って聞かなかっただけまだましかな。

ド「本日の0時です」理解してねえなって思った。

俺「じゃあMNPってどのタイミングでおたくのキャリアが解約したことになんの?」

ド「乗り換え先のsimの開通手続きが済んだらですね」
ようは、通信ができるようになればいいらしい。

俺 ブチギレ「」
 「わかりました、じゃあMNPで移行したあとのsimはどうしたらいいの、ここ持ってくんの?」

ド「いえ、そちらは別に結構です」

俺「わかりました、ありがとうございました。」

めっちゃ苛ついてドコモショップを出た。

結論:simが届いた。

家に帰るとsimが届いてた。
早速、封筒を開けるとこんな紙が。

"18時以降の申込みは翌日午前中の開通となります。"

現在19:15・・

あー、終わったー、1万飛んだー

とりあえず手続きした。

二度とドコモは使わねえ。

結果

現在午前2:00
もちろんsimは開通してない。

終わったね、あとは契約更新用のスクリプト?を動かすサーバーがDDoSを受けて落ちるか、
UTCで日付が変わったときに動作するようになってることを祈るしか無い。。。

*1:家の回線とセットで期限なし

Arduinoで詰まったメモ

Arduino unoで7segを点灯しようとして詰まった

arduino unoを買ったのはだいぶ前なんだが、弄る暇がなくてずっとほっとかれてた。
正月休みを利用してポチポチいじり始めたのがきっかけ

やりたいこと

Arduino で7segを光らせたい。

回路

ごく普通の7segを点灯させる回路です。
いずれダイナミック点灯にする予定なのでトランジスタでOn/Offします。
f:id:gari30:20170129005759p:plain:w300

ソースコード

つかなかったとき

webのリファレンスを参考に、標準ライブラリで書いた。
※7segの対応しているpinにa~g、dpをdefineしてあります。

void setup() {
  pinMode(PB0, OUTPUT);
  pinMode(PB1, OUTPUT);
  pinMode(seg_b, OUTPUT);
  pinMode(seg_c, OUTPUT);
  pinMode(seg_d, OUTPUT);
  pinMode(seg_e, OUTPUT);
  pinMode(seg_f, OUTPUT);
  pinMode(seg_g, OUTPUT);
  pinMode(seg_dp, OUTPUT);
}
void loop() {
  digitalWrite(PB0,LOW);
  digitalWrite(seg_a,HIGH);
  digitalWrite(seg_b,HIGH);
  digitalWrite(seg_c,HIGH);
  digitalWrite(seg_d,HIGH);
  digitalWrite(seg_e,HIGH);
  digitalWrite(seg_f,HIGH);
  digitalWrite(seg_g,LOW);
  digitalWrite(seg_dp,LOW);
}
ついたとき

標準ライブラリを無視して、レジスタトランジスタを駆動させた。

void setup() {
  DDRB = 0x03;
  DDRD = 0x0f;
  PORTB = 0x00;
}
void loop() {
  PORTB = 0x01;
  digitalWrite(seg_a,HIGH);
  digitalWrite(seg_b,HIGH);
  digitalWrite(seg_c,HIGH);
  digitalWrite(seg_d,HIGH);
  digitalWrite(seg_e,HIGH);
  digitalWrite(seg_f,HIGH);
  digitalWrite(seg_g,LOW);
  digitalWrite(seg_dp,LOW);
}

これで動いた。

結論

わざわざ動作の遅くなる標準ライブラリを使わないで、
picと同じようにレジスタで動かそうね。

U16プログラミングコンテスト 帯広講習会

あれ、なんでこの記事書いてんのに公開されてなかったの・・・
今書いた風に変えて公開しちゃえ!

帯広で講習会をしてきた

そう言えばだいぶ前にこんな記事を書いた。

 

gari30.hatenablog.com

 

これこれ

これ、実は後日談というか、まだ続きがあるんです(できたんです)。

 

Re:帯広で講習会をしてきた

とりあえず結論は、札幌 帯広間のバスは完全予約制だぞ!っと。

 

実は先日 (今となればだいぶ前) 10/8に帯広で高校生に
U16プログラミングコンテストの講習会をしました。
もともとは地元旭川で開催されていて、今年で第6回目になるそうです。

www.procon-asahikawa.org

 

数年前に釧路へ進出し、釧路でも大会が開かれるようになりました。
次は帯広!ってことで、前回は講習会を開いたわけです。
成果は前書いた記事を読んでね♡ってことで割愛。

まぁ、とりあえずもう一度開催することになってお呼ばれされました。
光栄なことです。
講習会の目標は
・ブロックに自分から埋まりにいかない
・敵を倒す
この辺は講習会の最初にもはっきりさせて、
今日の講習会はここまで出来ることが目標です。と宣言しておく。
終わりが見えないと辛いからね

 

さて移動だ、前日入りをしなければ開始時刻に間に合わないという、
The 北海道感たっぷりのこの感じ

しかも、先日の台風でJRは運休中(知らねえよんなもん)で
1日3便&途中からバス乗り換え

バスを進められたのでバスで行くことに。。。
ここでアクシデント

完全予約制のバスでした。。。

19時の最終便に乗る予定で時刻を再確認するため、18時に会社から逃げるように帰り、
スマホで時刻チェック。。。ん?あれ?予約しなきゃだめなの??と。
そっから電話掛けまくりました、
家に帰りながら、、、話し中で何度書け直したか・・・
繋がったものの予定していた19時発のバスは満席、
一つ前の18:40発が奇跡的に空いていたのでそこにしました。

電話終わって時刻は18:20。バスの発着所までは電車で5分ぐらい。
泊まりとPCの準備は皆無。
ラピュタじゃないけど60秒で支度しました。マジで

受付のおばさんにめっちゃ怒られたけど、バス来る前でした。良かった。


肝心の講習会

バスの話とかはどうでもいいわ、こっちがメインでしょうに

成功!だったのかな?
教えるのはとても苦手なのでいつもこういう場面では
教えるのが上手い人に頼んでました。

が、今回はそうもいかず、
自分が持てる限りの語彙力と楽しい感じ(語彙力)を発揮して、
なんとか笑いも取れました。

プログラムはほぼ初心者で、よくよく話してみると変数がわからないぞと
ここからでした。。。

逆に高度すぎるのも、自分が対応出来ないですが、
基礎すぎるのもこれまた難しくて、先生職の方すごいなぁと。

ただ、覚えが早くて午前中に基礎が終わり、if文とかも使えるように!
午後も講習はありましたが、基本的にあとは発想と集中力なので、
無理に書いてもプログラムが嫌いになるだけなので、無理強いはせずに

聞かれたり困ってそうだと話しかけたり、雑談してました。
ちゃんとやれとか言われそう。。。

 

講習会の終わりごろはみんな集中力切れてましたが、
目標としていた、
・ブロックに埋まらない。
・敵が近くに居たら敵にブロックを置く。

がみんな達成できていたのでワタシ的には大成功ですv

パソコンの充電器とマウス忘れてきたけどね☆

ということで、お疲れ様でした。

よかったらまた呼んでほしいものです。

 

その後も質問メールが来ていました。
もうマップ記憶したいとか言っててまじかよってなりました
俺なんてマップ記憶挑戦したの1年後だぞ・・・

メールで説明するのも大変でした・・・

どうしても長文になってしまう。。。