2012年11月30日金曜日

Gentoo/DragonFlyをインストールしてみた

前から気になっていたGentoo/DragonFlyをインストールしてみることにした。
実機に入れようとしたのですが余りのPCが無いので、やむなくKVM上でインストールすることにした。
ほぼインストールに関してはAotaさんのページを参考にしました。
非常に参考になりました、ありがとうございました。

イメージの作成

cuomo@poke ~ $ qemu-img create -f qcow2 gentoo-dragonfly_bsd.qcow2 70G
Formatting 'gentoo-dragonfly_bsd.qcow2', fmt=qcow2 size=75161927680 encryption=off cluster_size=0 

後でファイルシステムをHammerを利用するので50GB以上で作成しておく。
Hammerファイルシステムは50GB以上のストレージで使用する設計になっているらしいので。

DragonFlyのisoイメージをダウンロード

以下のサイトからi386版をダウンロード
[http://mirror-master.dragonflybsd.org/iso-images/dfly-i386-2.8.2_REL.iso.bz2]
で展開する
cuomo@poke ~/download $ bunzip2 -dc dfly-i386-2.8.2_REL.iso.bz2 > dfly-i386-2.8.2_REL.iso

isoイメージから起動する

poke KVM_VirtualServers # kvm -hda gentoo-dragonfly_bsd.qcow2 -cdrom dfly-i386-2.8.2_REL.iso -boot d -m 1024 -daemonize -net nic -net tap,ifname=tap0,script=/etc/qemu-ifup
VNC server running on `127.0.0.1:5900'

適当なVNCクライアントで接続する


ブートしたDragonFlyにログインする

login: rootでログインが可能、パスワードは要らない


ネットワークを確認する

ifconfigコマンドで確認してみると、re0がそれっぽいのでdhclientでIPを割り当ててみる。
# dhclient re0

パーティションの設定

これがなかなかそれぞれのOSでちょっとした癖があるので面倒。

gptコマンドでインストールできるディスクを確認する。
/dev/ad1がインストール可能なディスクドライブだとわかる。
次にパーティションを作成する
この辺はいろいろ試行錯誤して確認したのですが間違っていたらツッコミください。
まずad1デバイスを作成する、mkmodとはちょっと違うみたいなのですが、ls -l /dev/ad*で確認すると、たしか /dev/ad1のみ表示されるようになったような...スナップとるのを忘れました。
# gpt create ad1
次にboot領域を作成(してるのかな?)
# gpt boot ad1
ここで/dev/ad1を確認してみたら、GPT part - DragonFly Label32っていうスライスが出来てるのでこれがbootなのでしょう
次に残りの全部を割り当てる、そしてもう一度確認してみる
# gpt add ad1
# ls -l /dev/ad*
# spt show ad1

GPT part - DragonFly Label64って出来てる、これが残りで/dev/ad1s1ということか。

次にディスクラベルをつける、これがチョッと分かりずらかった。

bootの設定、disklabelコマンドの詳細はよく分からないがブートするスライスとして/dev/ad1s0を設定している。

そして次にディスクの使用量の設定、
# disklabel -e ad1s0
のコマンドで、viエディタが起動するのでファイルを編集する。

total size:の行が 256.00 MBとかかれているのでおそらく/bootスライスで、
一番下の行に/bootとして利用するサイズを指定する。
a:   *    *     4.2BSD
a:が/dev/ad1s0aの最後のaと言うことでしょうか、*は256MB全部を利用するということ。

さらにルートファイルシステムを同じように作成する
# disklabel -r -w ad1s1 auto
# disklabel -e ad1s1

最初の1GB(/dev/ad1s1a)をスワップにし、次の残り全部(/dev/ad1s1b)をルートファイルシステムとして利用するように編集する。

最終的に出来上がったデバイスは以下のような感じ
ついでにswapをマウントしておく

Hammer FSでフォーマットする

最初に/bootになるデバイスをufsでファーマットする

次にルートをHammerでフォーマットする

さらに作成したデバイスをマウントしていく

# mkdir -p /var/mnt/gentoo
# mount_hammer /dev/ad1s1b /var/mnt/gentoo
# mkdir /vat/mnt/gentoo/boot
# mount /dev/ad1s0a /var/mnt/gentoo/boot

stage、portageファイルのダウンロード展開


次にstatge3をダウンロードして展開する


# cd /var/mnt/gentoo
# curl -O http://elisp.net/gentoo-dragonfly/files/stage3-x86-20101010.tar.bz2
# tar jpxf stage3-x86-20101010.tar.bz2
# cd /var/mnt/gentoo/usr
# curl -O http://elisp.net/gentoo-dragonfly/files/portage-20101010.tar.bz2
# tar jpxv portage-20101010.tar.bz2

chrootする

作成した環境にchrootする


リゾルバなどを確認してchrootする、この辺までくればGentoo Linuxとほぼ同じなので何か安心する。

/etc/make.confを編集する、迷惑かけないようにローカルのrsyncへ変更

overlayを展開する、画像はローカルにへダウンロードしてしまったのでscpで転送しました。

http://elisp.net/gentoo-dragonfly/files/dragonfly-overlay-20101021.tar.bz2

/etc/make.confへoverlayの設定を追記


metadataの作成

ベースシステムのインストール

ここからはベースシステムの作成、カーネルの構築を開始する。
カーネルの構築は何の問題もなく終了しました。さすがBSDです。

# emerge --sync
# cd /usr/portage
# scripts/bootstrap.sh

カーネルの構築

bootstrap.shでdfbsd-sourcesがemergeされたっぽいのでそのままコンパイル。
# cd /usr/src/sys/config
# config GENERIC
# cd ../compile/GENERIC
# make cleandepend && make depend && make && make install

ブート環境の構築とfstabの設定

# boot0cfg -s 2 ad1
# echo 'vfs.root.mountfrom="hammer:ad1s1b"' >> /boot/loader.conf

/etc/fstabを編集する
# cat /etc/fstab
/dev/ad1s1b  /   hammer  rw    2 0
/dev/ad1s0a  /boot ufs   rw,noatime  1 0
/dev/ad1s1a  none  swap  sw   0 0
/dev/acd0   /mnt/cdrom   cd9660  ro,noauto  0 0

# Enable this line to mount /proc automatically.
# Required for Linux emulation.
none     /proc  procfs rw,noexec,nosuid  0 0

rootユーザーのパスワードの設定

# passwd root

必要なパッケージを入れておく

# emerge dhcpcd

DragonFly BSDがめでたく再起動

# exit
# umount /var/mnt/gentoo/dev
# umount /var/mnt/gentoo/proc
# umount /var/mnt/gentoo/boot
# umount /var/mnt/gentoo
# reboot

めでたくもなかった

だいたい何時もそうなんですが、何か忘れて一発で起動したためしがない。
こんな画像出されたって素人には分からない。
rootファイルシステムがマウントでできないので指定しろのようなメッセージが出たのでいろいろ調べた。

結果、インストール時に利用していたディスク名がad1からad0に変わっていたのが原因だったらしく/etc/fstabも修正して起動できるようになった。

ほんとにめでたく起動した


何か[!!]出てるが、いちよう良としよう。

2012年11月29日木曜日

firefoxでjavascriptの実行エラーを修理してみた

最近、firefoxでyoutubeを見てたらjsの実行エラーらしいダイアログBOXが出るようになって、まともに動画が見れなくなったので修理をしてみた。


gdbで何が起こったのか調べてみた
cuomo@poke ~ $ gdb /usr/bin/firefox 
GNU gdb (Gentoo 7.2 p1) 7.2
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.gentoo.org/>...
Reading symbols from /usr/bin/firefox...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/bin/firefox 
[Thread debugging using libthread_db enabled]
[New Thread 0x7fffe821b700 (LWP 27839)]
[New Thread 0x7fffe7816700 (LWP 27840)]
gdbを使ってfirefoxを起動しエラーが出るページへアクセスをするとgdbが以下のエラーを吐く
/usr/lib64/nspluginwrapper/i386/linux/npviewer.bin: error while loading shared libraries: libEGL.so.1: cannot open shared object file: No such file or directory
npviewer.binがlibEGL.so.1をロードできないらしいのでその辺を調べてみる

npviewer.binとlibEGL.so.1を調べてみた
エラーが出てるnpviewer.binはfileで調べて見たら32bit、でどのライブラリをリンクしているか調べてみる。
cuomo@poke ~ $ file /usr/lib64/nspluginwrapper/i386/linux/npviewer.bin
/usr/lib64/nspluginwrapper/i386/linux/npviewer.bin: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped

cuomo@poke ~ $ ldd -v /usr/lib64/nspluginwrapper/i386/linux/npviewer.bin
...
...
   libXfixes.so.3 => /usr/lib32/libXfixes.so.3 (0xf6e57000)
   libatk-1.0.so.0 => /usr/lib32/libatk-1.0.so.0 (0xf6e3a000)
   libcairo.so.2 => /usr/lib32/libcairo.so.2 (0xf6d4e000)
   libpixman-1.so.0 => /usr/lib32/libpixman-1.so.0 (0xf6ce2000)
   libEGL.so.1 => not found
   libXrender.so.1 => /usr/lib32/libXrender.so.1 (0xf6cd8000)
   libxcb.so.1 => /usr/lib32/libxcb.so.1 (0xf6cbd000)
   libXau.so.6 => /usr/lib32/libXau.so.6 (0xf6cb9000)
...
libEGL.so.1 => not foundでロードできてない様子。
とりあえず、/usr/lib32にあるlibEGL.so.1を読み込んでるらしいがどのパスから読み込んでるのかstraceで確認してみる。

straceでlibEGL.so.1の読み込み具合を確認
straceでどこのライブラリを読み込んでいるか確認してみる
cuomo@poke ~ $ straceでどこのライブラリを読み込んでいるか確認してみる
strace /usr/lib64/nspluginwrapper/i386/linux/npviewer.bin
mprotect(0xf6d8b000, 4096, PROT_NONE)   = 0
mmap2(0xf6d8c000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x67) = 0xfffffffff6d8c000
close(3)                                = 0
<span style="font-weight:bold;">open("/usr/lib32/libEGL.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)</span>
open("/lib32/tls/i686/sse2/libEGL.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
..
..
open("/usr/lib32/sse2/libEGL.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib32/sse2", 0xffff5b0c)   = -1 ENOENT (No such file or directory)
open("/usr/lib32/libEGL.so.1", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/lib32", {st_mode=S_IFDIR|0755, st_size=36864, ...}) = 0
writev(2, [{"/usr/lib64/nspluginwrapper/i386/"..., 50}, {": ", 2}, {"error while loading shared libra"..., 36}, {": ", 2}, {"libEGL.so.1", 11}, {": ", 2}, {"cannot open shared object file", 30}, {": ", 2}, {"No such file or directory", 25}, {"\n", 1}], 10/usr/lib64/nspluginwrapper/i386/linux/npviewer.bin: error while loading shared libraries: libEGL.so.1: cannot open shared object file: No such file or directory
) = 161
exit_group(127)   = ?
いろいろ読み込んだ挙句に無いと文句を言って終了してしまう。
open("/usr/lib32/libEGL.so.1", O_RDONLY) = -1 を読み込もうとしている。


ところでlibEGL.so.1ってなに?
libEGL.so.1の共有ライブラリのパッケージは何か調べてみると
poke ~ # equery b /usr/lib64/libEGL.so.1.0 
[ Searching for file(s) /usr/lib64/libEGL.so.1.0 in *... ]
media-libs/mesa-7.9.1 (/usr/lib64/libEGL.so.1.0)

mesaパッケージに含まれているので/usr/lib32にシンボリックリンクを張ってみた
poke ~ # ls -l /usr/lib32 | grep libEGL
lrwxrwxrwx 1 root root       11 Mar 20 10:30 libEGL.so -> libEGL.so.1
lrwxrwxrwx 1 root root       13 Mar 20 10:29 libEGL.so.1 -> libEGL.so.1.0
でもう一回straceで確認
cuomo@poke ~ $ ldd -v /usr/lib64/nspluginwrapper/i386/linux/npviewer.bin

open("/usr/lib32/libEGL.so.1", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\2401\0\0\0\0\0\0"..., 512) = 512
close(3)                                = 0
stat64("/usr/lib32", {st_mode=S_IFDIR|0755, st_size=36864, ...}) = 0
writev(2, [{"/usr/lib64/nspluginwrapper/i386/"..., 50}, {": ", 2}, {"error while loading shared libra"..., 36}, {": ", 2}, {"libEGL.so.1", 11}, {": ", 2}, {"wrong ELF class: ELFCLASS64", 27}, {"", 0}, {"", 0}, {"\n", 1}], 10/usr/lib64/nspluginwrapper/i386/linux/npviewer.bin: error while loading shared libraries: libEGL.so.1: wrong ELF class: ELFCLASS64
) = 131
exit_group(127) = ?
ライブラリは読み込んだものの今度は、libEGL.so.1が64bitなのでダメだという
poke ~ # file /usr/lib64/libEGL.so.1.0
/usr/lib64/libEGL.so.1.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped

media-libs/mesaのインストールでは/usr/lib64/libEGL.so.1.0の64bit版がインストールされてるみたいなので、32bitをとりあえず別の32bitのGentooなPCから持ってきて置いてみた。
poke lib32 # cd /usr/lib32/
poke lib32 # rm libEGL.so.1.0 <span style="font-weight:bold;"><--- 64bit/usr/lib64/libEGL.so.1.0へのシンボリックリンクを削除</span>
poke lib32 # ls -l | grep libEGL.so
lrwxrwxrwx 1 root root       11 Mar 20 10:30 libEGL.so -> libEGL.so.1
lrwxrwxrwx 1 root root       13 Mar 20 10:29 libEGL.so.1 -> libEGL.so.1.0
rwxr-xr-x 1 root root    62972 Mar 20 10:29 libEGL.so.1.0 <-- 新しく設置した32bit版のlibEGL.so.1.0

poke lib32 # file /usr/lib32/libEGL.so.1.0 
/usr/lib32/libEGL.so.1.0: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped
新しく設置した32bit版のlibEGL.so.1.0
poke lib32 # file /usr/lib32/libEGL.so.1.0
/usr/lib32/libEGL.so.1.0: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped
もう一度、/usr/lib64/nspluginwrapper/i386/linux/npviewer.binを実行してみる
cuomo@poke ~ $ /usr/lib64/nspluginwrapper/i386/linux/npviewer.bin
npviewer, NPAPI plugin viewer. Version 1.3.0

usage: /usr/lib64/nspluginwrapper/i386/linux/npviewer.bin [GTK flags] [flags]
  -h --help       print this message
  -t --test       check plugin is compatible
  -i --info       print plugin information
  -p --plugin     set plugin path
  -c --connection set connection path
動いたっぽいのでfirefoxでエラーの出たページを表示してみると治っているっぽい。

こんなのでいいのか?

とりあえず直してみたが、問題はmesaパッケージにあるのか分からない。
Gentooのbugzillaにも[http://bugs.gentoo.org/show_bug.cgi?id=354943:title=Bug 354943]であったが、どうやって修理すればいいのか?

とりあえず動いたからそのまま放置、時間が無いのであとで調べよう。
誰か、分かったら教えてください、よろしく。

2012年11月28日水曜日

KVMでopenindianaをいれる

最近会社でsolarisを触る機会が増えたので、
solarisのお勉強をしようと思いKVM環境にopenindianaの
インストールを試みた。
KVMのインストールは面倒なのでハショリます。

実行環境
Linux poke 2.6.36-gentoo-r5 #2 SMP Tue Jan 4 23:07:40 JST 2011
x86_64 AMD Phenom(tm) II X4 955 Processor AuthenticAMD GNU/Linux

openindianaダウンロード
http://dlc.openindiana.org/isos/148/oi-dev-148a-x86-20110223-1.iso

まずイメージの作成
$ qemu-img create -f qcow2 openindiana.qcow2 20G
イメージからインストール
$ kvm -hda openindiana.qcow2 -cdrom oi-dev-148a-x86-20110223-1.iso -boot d -m 1024 -daemonize tap,ifname=tap0,script=/etc/qemu-ifup
後はそのまま放置、インストールを開始


インストールイメージから起動(ネットワークは設定なし)
$ kvm -smp 2 -hda openindiana.qcow2 -boot c -m 1024 -daemonize
VNC server running on `127.0.0.1:5900'
適当なVNCクライアントで表示する
# emerge net-misc/vinagre
$ vinagre 127.0.0.1:5900

以上でインストールは終了、インストールにだいぶ時間がかかった。
(こんなに時間がかかるのかな?)
今度はネットワークを設定して外に出してやるか。

Gentooのemergeでdbusへリンクするパッケージがこける(2)

うまく行ったと思ったら、今度はhalパッケージがこけた(32bit環境)
# emerge hal
...
...
partutil.c:232: warning: dereferencing pointer 
'guid' does break strict-aliasing rules
partutil.c:231: warning: dereferencing pointer 
'guid' does break strict-aliasing rules
partutil.c:230: warning: dereferencing pointer 
'guid' does break strict-aliasing rules
partutil.c:224: note: initialized from here
  CCLD   libpartutil.la
/bin/grep: /usr/lib/libdbus-1.la: No such file 
or directory
/bin/sed: can't read /usr/lib/libdbus-1.la: 
No such file or directory
libtool: link: `/usr/lib/libdbus-1.la' is not a 
valid libtool archive
make[2]: *** [libpartutil.la] Error 1
さっき勢いよく削除したファイル、もう無いので作ってみた 以下ファイル(libdbus-1.la)
# libdbus-1.la - a libtool library file
# Generated by ltmain.sh (GNU libtool) 2.2.6b
#
# Please DO NOT delete this file!
# It is necessary for linking the library.

# The name that we can dlopen(3).
dlname='libdbus-1.so.3'

# Names of this library.
library_names='libdbus-1.so.3.5.3 libdbus-1.so.3 libdbus-1.so'

# The name of the static archive.
old_library='libdbus-1.a'

# Linker flags that can not go in dependency_libs.
inherited_linker_flags=''

# Libraries that this one depends upon.
dependency_libs=' -L/usr/lib -ldbus-1 -lgobject-2.0 -lglib-2.0'

# Names of additional weak libraries provided by this library
weak_library_names=''

# Version information for libdbus-1.
current=3
age=1
revision=0

# Is this an already installed library?
installed=yes

# Should we warn about portability when linking against -modules?
shouldnotlink=no

# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''

# Directory that this library needs to be installed in:
libdir='/usr/lib'
で、一応OK、こんなんでいいのかね?

Gentooのemergeでdbusへリンクするパッケージがこける

Gentooのアップデートを久しぶりにやったらglibパッケージがこけてる

以下エラーメッセージ
poke ~ # emerge glib
 * IMPORTANT: 6 news items need reading for repository 'gentoo'.
 * Use eselect news to read news items.
 * IMPORTANT: 7 config files in '/etc/portage' need updating.
 * See the CONFIGURATION FILES section of the emerge
 * man page to learn how to update config files.
Calculating dependencies... done!

>>> Verifying ebuild manifests



>>> Emerging (1 of 1) dev-libs/glib-2.26.1-r1

 * glib-2.26.1.tar.bz2 RMD160 SHA1 SHA256 size ;-) 
...
...
...
gdbus_serialization-gdbus-serialization.o: In function `message_serialize_invalid':
/var/tmp/portage/dev-libs/glib-2.26.1-r1/work/glib-2.26.1/gio/tests/gdbus-serialization.c:776: 
undefined reference to `dbus_message_new'
/var/tmp/portage/dev-libs/glib-2.26.1-r1/work/glib-2.26.1/gio/tests/gdbus-serialization.c:777: 
undefined reference to `dbus_message_set_serial'
/var/tmp/portage/dev-libs/glib-2.26.1-r1/work/glib-2.26.1/gio/tests/gdbus-serialization.c:778: 
undefined reference to `dbus_message_set_path'
/var/tmp/portage/dev-libs/glib-2.26.1-r1/work/glib-2.26.1/gio/tests/gdbus-serialization.c:779: 
undefined reference to `dbus_message_set_member'
/var/tmp/portage/dev-libs/glib-2.26.1-r1/work/glib-2.26.1/gio/tests/gdbus-serialization.c:784: 
undefined reference to `dbus_message_append_args'
/var/tmp/portage/dev-libs/glib-2.26.1-r1/work/glib-2.26.1/gio/tests/gdbus-serialization.c:807: 
undefined reference to `dbus_message_marshal'
/var/tmp/portage/dev-libs/glib-2.26.1-r1/work/glib-2.26.1/gio/tests/gdbus-serialization.c:818: 
undefined reference to `dbus_free'
...
大量に出力されるので省略

dbus関連のライブラリが見つからないって出てるのでライブラリとを確認

poke lib64 # ls -l | grep libdbus
lrwxrwxrwx  1 root root       17 Jan 17 15:40 libdbus-1.la -> libdbus-glib-1.la
lrwxrwxrwx  1 root root       18 Feb 27 10:43 libdbus-1.so -> libdbus-1.so.3.5.3
lrwxrwxrwx  1 root root       18 Feb 27 10:43 libdbus-1.so.3 -> libdbus-1.so.3.5.3
-rwxr-xr-x  1 root root   290256 Feb 27 10:43 libdbus-1.so.3.5.3
-rw-r--r--  1 root root   278208 Jun 27  2010 libdbus-glib-1.a
-rw-r--r--  1 root root     1026 Feb  9 23:06 libdbus-glib-1.la
lrwxrwxrwx  1 root root       23 Jun 27  2010 libdbus-glib-1.so -> libdbus-glib-1.so.2.1.0
lrwxrwxrwx  1 root root       23 Jun 27  2010 libdbus-glib-1.so.2 -> libdbus-glib-1.so.2.1.0
-rwxr-xr-x  1 root root   147864 Jun 27  2010 libdbus-glib-1.so.2.1.0
確認のため調べてみてもちゃんと関数がある
poke lib64 # nm -D libdbus-1.so | grep dbus_message_new
000000000001c820 T dbus_message_new
なにか違う共有ライブラリをリンクしようとしているらしい、libdbus-1.laの中身を除いてみたら何か違うような気がしたので、頭にきて削除してやった。
# emerge glib
すんなり終了、原因はlibtoolが先に参照するファイルが.laらしくたまにリンク時におかしな事になるらしい。
こんなのおれだけ?

どうでもいいけど、libtool調べておくか...

2012年11月15日木曜日

2012/10/29 富戸区祭典


富戸のお祭り

今年もこの時期がやって参りました、伊東市では一番最後のお祭りで、毎年10月28日から10月30日まで富戸三島神社で行われる奉納祭です。今年は理由あって、真のボウッキレ的な参加になってしまったお祭りですが、何気に外からお祭りを見れた分ちょっと感じが違いました。

これが富戸のお祭りです...

神楽保存会の皆さん


毎年、朝早くからご苦労さまです、一番背が高い眼鏡の人がブルマ好きで、手前の眼鏡が分かりません、右奥のハゲた人は、怖そうですがいい奴です。神楽から始まるお祭りはなかなか神秘的で気持ちが高まります。


富戸万灯保存会の皆さん


見るからに重そうな万灯を簡単に持ち上げちゃうし舞わしちゃうから凄い、力自慢の男たちがモリモリ入れ替わりグルグルやっちゃう。

下方保存会の皆さん

毎年思うのですが祭りを引き立てるのに絶対必要な、シャギリをやってくれる。太鼓、三味線、笛、鐘、このメロディが流れてくると何とも言えない祭りモードに突入する。最終日の締めが終わると祭りをやりきった感を実感させられる。

鹿島保存会の皆さん

自分も所属させてもらっている鹿島保存会、今年は外野でしたが改めて外から見てみるとかなりハードでタフじゃないと出来ないなって感じました。今年は、僕の同級生が竿先(踊り手で一番偉い人)だったので参加したかったのですが理由あって一緒に踊れず残念でした。
かっこいいですね、いい汗かいててさすが竿先です、40分以上も踊りつづけます

竿踊り、縦にみんなで並んで踊ります

ユウちゃんです、この時ばかりは真面目な顔をしています、1年で一回だけです



これが、恒例の暴れ神輿です、ほんとに迫力があって凄いです、しかも40分以上踊った後にさらに暴れるのですから頭が下がります。自分も2年ほど神輿を担がしてもらいましたが、これは見た目以上に体をやられます。痛いです。


これは危ない、ああぁぁ、でもこれをやりたい若い人が多いのはワカル気がする。

ウーです、人相を見ると神輿にやられたのでしょう

TAKESHITA48 の皆さん


祭りの最後を盛り上げるのは、TAKESHITA48の皆さんです。
画像だけで申し訳ないのですが、映像はちょっと放映するのに問題があると判断したため他で探してください。
TAKESHITA48は今年で解散するらしいので寂しいのですがしょうがないです。来年はどんな鬼畜が現れるのか期待です。
小学生の皆さんのアンコールのコールが異様でした、真似しないように祈ります。

4保存会のみんなさんお疲れさまでした、また来年、頑張りましょう