1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

OpenWRT インストール中 (ビルド ver.)

Last updated at Posted at 2019-10-24

OpenWRT 自己ビルド version

Raspberry Pi初代のopkgのサポート状況がさみしいので、自分でビルドする環境を整えてみた。

OpenWRT ビルド中

ここ(Quick Image Building Guide)に従って、進めれば入ります。
https://openwrt.org/docs/guide-developer/quickstart-build-images

セットアップ@ホスト環境

書かれているまんま

$ sudo apt install subversion g++ zlib1g-dev build-essential git python python3
$ sudo apt install libncurses5-dev gawk gettext unzip file libssl-dev wget
$ sudo apt install libelf-dev ecj fastjar java-propose-classpath
$ sudo apt install build-essential libncursesw5-dev python unzip 

ビルド@ホスト環境

必要なパッケージをダウンロードします。(まんまですが、やらないとLuciが入らないというはまりモードになるので重要)

cd openwrt
./scripts/feeds update -a
./scripts/feeds install -a

menuconfigを開いて、環境を整えます。

$ make menuconfig

初代Raspberry Piの肝はこのあたり

CONFIG_TARGET_brcm2708=y
CONFIG_TARGET_brcm2708_bcm2708=y
CONFIG_TARGET_brcm2708_bcm2708_DEVICE_rpi=y

あと、うちのWiFiは、rtl8192cuなので、そのドライバもあわせて設定

CONFIG_PACKAGE_rtl8192cu-firmware=y

save --> exit して、いよいよビルド。

うちの環境では、make -j 8するとエラーになるので、おとなしくj 1でビルド
また、ビルドしている感を出したいので、 V=scも追記

$ make -j 1 V=sc

#OpenWRT インストール中

ただ、sd cardに焼き付ければOK
モノは、bin/targets/brcm2708/bcm2708の配下にある

$ sudo dmesg | tail <-- /dev/sdxの確認
$ zcat openwrt-brcm2708-bcm2708-rpi-ext4-factory.img.gz | sudo dd of=/dev/sdx conv=fsync bs=1M status=progress

一度起動してしまえば、sysupgrade.img.gzを利用して、GUIからアップグレード可能

#OpenWRT 起動

メモリカードをraspberry piへ差し込めばOK!!

image.png

なぜか、日本語で登場。英語verのブラウザで見ると、英語で表示されます。--> システム->システムで、自動になっているから。固定したければ、好きな言語を選択すべし。

なお、LuCiを使うためには、menuconfigで、luci関連を選択する必要あり

パッケージの追加

opkgを使わない、opkgにない、パッケージも入れることができます。
たとえば、ad block。raspberry piのopkgにはでてきません。

image.png

"make menuconfig"にて、好きなパッケージを選択して、とすれば、ipkが作られます。

$ ls bin/packages/arm_arm1176jzf-s_vfp/packages
Packages
Packages.gz
Packages.manifest
Packages.sig
adblock_3.8.10-1_all.ipk <--これが追加
arp-scan-database_1.9.6-1_arm_arm1176jzf-s_vfp.ipk
cgi-io_14_arm_arm1176jzf-s_vfp.ipk
libattr_2.4.48-2_arm_arm1176jzf-s_vfp.ipk
libdb47_4.7.25.4.NC-5_arm_arm1176jzf-s_vfp.ipk
libopenssl-afalg_sync_1.0.1-1_arm_arm1176jzf-s_vfp.ipk
libxml2_2.9.9-4_arm_arm1176jzf-s_vfp.ipk

このipkをLuCiのソフトウェア画面から登録します。

image.png

インストール済のタブから、インストールされたことが確認できます。
image.png

adblockを動かすには、次のモジュールも必要でした。

  • luci-app-adblock
  • luci-compat

app-adblockを入れようとすると、luci-compatがない、と怒られるので、気づきます。

#おまけ

SD Cardサイズをアップする

ビルドでは、デフォルトでは、104MBの領域を確保しています。これをsd cardの最大領域までアップするには、以下の手順が必要です。

$ sudo parted /dev/sdx
(parted) resizepart 2      ; /dev/sdx2が対象。sdx1はboot
(parted) -0                ; "-0"指定で、最大領域の確保
(parted) quit
$ sudo e2fsck -f /dev/sdx2
$ sudo resize2fs /dev/sdx2

##追記#1
ソフトウェアをアップグレードする際は、*sysupgrade.img.gzを指定します。
この際、 gz をつけないと、XHR request timed outなるエラーが発生します。要注意です。
ファイルの転送速度が遅すぎると、タイムアウトするようです。gzのファイルでも、buildサーバのSMBから転送しようとしたら、しばしば同じエラーが発生しました。最終的に、最寄りのサーバ(つまりweb操作をしているPC)から転送したら、今のところ100% OKです。

[おしまい]

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?