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

2022-06-02

RISC-VなClockwork DevTermがやってきた

Clockworkが発売してるDevTermにRISC-V64なボードが追加されてたので買ったところ届きました。

中のパーツは組み立てる必要がある。電源はUSB-C経由だが、18650バッテリー搭載可能。

なお、このボードは阿里巴巴のXuanTie C906コアなAllwinner D1使っているのでこんな感じ。

cpi@devterm-R01:~$ uname -a
Linux devterm-R01 5.4.61 #12 PREEMPT Wed Mar 30 14:44:22 CST 2022 riscv64 riscv64 riscv64 GNU/Linux

cpi@devterm-R01:~$ cat /proc/cpuinfo
processor	: 0
hart		: 0
isa		: rv64imafdcvu
mmu		: sv39

だそうです。Vecter Extension!

同梱のSDカードにUbuntu 22.04ベースの起動イメージが入っているのだが、これはhttp://dl.clockworkpi.com/からダウンロード可能。なお、スクラッチから作る方法も公開されている

なお、参考にUnix Bench

========================================================================
   BYTE UNIX Benchmarks (Version 5.1.3)

   System: devterm-R01: GNU/Linux
   OS: GNU/Linux -- 5.4.61 -- #12 PREEMPT Wed Mar 30 14:44:22 CST 2022
   Machine: riscv64 (riscv64)
   Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
   16:18:46 up 3 min,  2 users,  load average: 0.92, 1.11, 0.53; runlevel 2022-06-02

------------------------------------------------------------------------
Benchmark Run: Fri Jun 03 2022 16:18:46 - 16:46:57
1 CPU in system; running 1 parallel copy of tests

Dhrystone 2 using register variables        2958013.9 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     1045.0 MWIPS (9.9 s, 7 samples)
Execl Throughput                                254.0 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks         44255.0 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           12537.2 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        116663.8 KBps  (30.0 s, 2 samples)
Pipe Throughput                              163270.2 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  26226.4 lps   (10.0 s, 7 samples)
Process Creation                                696.3 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                    567.4 lpm   (60.1 s, 2 samples)
Shell Scripts (8 concurrent)                     73.9 lpm   (60.5 s, 2 samples)
System Call Overhead                         383377.8 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0    2958013.9    253.5
Double-Precision Whetstone                       55.0       1045.0    190.0
Execl Throughput                                 43.0        254.0     59.1
File Copy 1024 bufsize 2000 maxblocks          3960.0      44255.0    111.8
File Copy 256 bufsize 500 maxblocks            1655.0      12537.2     75.8
File Copy 4096 bufsize 8000 maxblocks          5800.0     116663.8    201.1
Pipe Throughput                               12440.0     163270.2    131.2
Pipe-based Context Switching                   4000.0      26226.4     65.6
Process Creation                                126.0        696.3     55.3
Shell Scripts (1 concurrent)                     42.4        567.4    133.8
Shell Scripts (8 concurrent)                      6.0         73.9    123.1
System Call Overhead                          15000.0     383377.8    255.6
                                                                   ========
System Benchmarks Index Score                                         120.8

2021-07-02

Firefox on Linux/riscv64

This step is out of date since I have merged all patches to trunk. Please read How to build Firefox for Linux/riscv64 on Ubuntu 22.10 + Unmatched instead.

Although I don't land all patches to mozilla-central yet, source code is https://github.com/makotokato/gecko-dev/tree/riscv64.

To build this, you have to build nodejs v16.0 since Firefox build sytem requires it. So I recommend that you setup cross compile environemnt instead of building on Unmatched board host.

Also, this is .mozconfig sample.

mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir
mk_add_options AUTOCLOBBER=1
ac_add_options NODEJS=/home/makoto/node-v16/bin/node

ac_add_options --enable-application=browser
ac_add_options --disable-debug
ac_add_options --enable-optimize

export CC=gcc
export CXX=g++

If using corss compile,

mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir
mk_add_options AUTOCLOBBER=1

ac_add_options --enable-application=browser
ac_add_options --disable-debug
ac_add_options --enable-optimize

ac_add_options --target=riscv64
export CC=riscv64-linux-gnu-gcc
export CXX=riscv64-linux-gnu-g++
export HOST_CC=gcc
export HOST_CXX=g++

2021-06-07

HiFive Unmatched にUbuntuをインストールする

デフォルトのSDカードには、OpenEmbededな環境のLinuxがインストールされているのだが、いろいろパッケージをアップデートしたいので、NVMeを取り付けて、そこにUbuntuをインストールした。

Install Ubuntu on HiFive Unmatchedに方法が書いてあるのだが、この方法だと実はブートしない。

u-boot-update

した後、

/boot/extlinux/extlinux.confを直接編集して、以下のようにfdt行を追加してdtbファイルを指定しないといけない。

label l0
  menu label Ubuntu 21.04 5.11.0-1007-generic
  linux /boot/vmlinuz-5.11.0-1007-generic
  initrd /boot/initrd.img-5.11.0-1007-generic
  fdt /lib/firmware/5.11.0-1007-generic/device-tree/sifive/hifive-unmatched-a00.dtb
  append root=LABEL=cloudimg-rootfs ro earlycon

2015-11-04

Gecko cross build using docker

Firefox 4のリリースがされたらへんから10くらいにかけてコツコツとLinuxのクロスビルド環境の整備をしてた。その結果クロスビルド環境においては、DebianのMultiarch/HOWTOで書かれているやり方で環境構築できるようにしている。

FirefoxというかGeckoを組み込みで使いたいなんて話が仕事柄たまに来るんだけど、環境の作り方を説明するのが面倒すぎるし、自分で検証用にVMWareのクロス環境を持つのもバカバカしい (OSのアップグレードのたびにテストしてた) のでDockerを使ったコンテナに移行した。

https://hub.docker.com/r/wontfix/gecko-armhf-dev/ (armhf用)

dockerで以下のようにイメージを実行すれば、必要なライブラリは入っているので、mercurialでcloneするなりtarballを持ってきて、.mozconfigを書けばarmhfのビルドができる。
docker pull wontfix/gecko-armhf-dev
docker run -it wontfix/gecko-armhf-dev

Dockerfileを見ればわかるけど、クロス用のライブラリをインストールするとき (特にlibgtk2.0-dev)、--no-install-recommendsをつけないとライブラリがコンフリクトしてしまうものあるので、注意が必要みたい。(というかlibgtk2.0-devのパッケージングの際、RecommendにPythonが入ってるんだけど、それはおそらくPython:anyにすべきなんじゃないかなと)

2013-01-27

ArndaleBoardを買った

TIのOMAP5を使ったボードがほしかった (BeagleBoardPandaBoardも当然購入した) んだけど、OMAP5自体が出てこない今、サムスンのExynos 5 (IPはCortex-A15) を使ったボード、Arndale Boardがリリースされてたので買った。


オーダー自体はhowchip.comで行うんだけど、ここのサイト、さすが韓国って感じでInternet Explorer以外は警告がでるという造り。ARMの組み込みボード買うやつがIEでアクセスするかよって思うんだけどさすがだよね。ちなみに支払いはpaypal経由。オーダーしたのは12月上旬だったんだけど発送は1月の中旬 (FedEx経由)。だいたい一か月程度かかった。(発送元も韓国)

昔だったらARMの最新のIPを使ったのを先に出してくるのがTIって感じだったのに、現在の半導体製造の能力を示すかのようにCortex-A15を使ったチップはサムスンが最初のリリースになってた。実際これは第一世代でNexus 10とかにも使われてる電源食いまくりのCortex-A15のデュアルなんだけど、Exynos 5の第二世代になればbig.LITTLEなCortex-A15とCortex-A7のハイブリッドなコアが出てくる。第二世代になったらまた買わないといけないよね。でもそのころには、Cortex-A57とか出てるヨカーン。Cortex-A57は、Aarch64とAES/SHA-2のハードウェア実装があるからこっちのほうが楽しそうだね。

Cortex-A15といえばバッテリバカ食いしそうなアーキテクチャなんだけど、ARMv7-RやARMv7-Mとかで使えたSDIVがついに使えるってのが最適化屋としては美味しい。

まずは、cpuinfo。
/proc/cpuinfo                                                                   
shell@android:/ $ cat /proc/cpuinfo                                             
Processor       : ARMv7 Processor rev 4 (v7l)                                   
processor       : 0                                                             
BogoMIPS        : 2795.11                                                       
                                                                                
Features        : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt 
CPU implementer : 0x41                                                          
CPU architecture: 7                                                             
CPU variant     : 0x0                                                           
CPU part        : 0xc0f                                                         
CPU revision    : 4                                                             
                                                                                
Hardware        : ARNDALE                                                       
Revision        : 0000                                                          
Serial          : 0000000000000000
Featuresに idivaとidivtが入ってるってことはSDIVがサポートされてるってこと。

LinaroUbnutu portとかもあるんでいろいろ試せるんで楽しみ。

以下注意点。

  • デカい。BeagleBoard比で言えば6倍
  • HDMIはminiコネクタ。そのために変換アダプタ買うハメに
  • 内蔵のeMMC (4GB) にデフォルトでAndroid入れてあるので、MicroSDカードに入れることなく試せる
  • DISPスイッチの詳細は一切マニュアルに書いてないっていう適当さ。Forumではエンジニアに聞くよ的な言葉で終わってた。

2013-01-21

VAIO PにUbuntu 12.10をインストールする

インストール方法は省くけど、VAIO PにUbuntu 12.10をインストールした。



が、そのままではLinuxカーネルがPanicで起動できない。どうもgma500_gfxでクラッシュしてるようなので (ビデオチップのGMA500用ドライバね)、それを以下のようにブラックリスト行きにすれば起動するようになった。
# sudo sh
# echo 'blacklist gma500_gfx' > /etc/modprobe.d/blacklist-gma500.conf
# update-initramfs -k all -u
当然gma500のドライバが無効になるので、GUIで使ったときのスピードはより悪くなるけど起動できないよりはマシだけどね。

2010-03-14

そういや、MeeGoってどうなるの?

IntelとNokiaの発表でmaemomoblinが合体して、MeeGoになるらしいんだけど、今ある情報からすると、、、

  • Nokiaの偉い人 (Maemo部門のトップ) は、いろんなところで、「Nokiaの戦略としてスーパーハイエンドはすべてMaemoで行くつもり」って発言してる
  • Maemo 6はQtベースで作ってる。(だから、Maemo 6用のFirefoxはQtベースにしようとしているため、モバイルチームがQtのコードをいろいろ実装中)
  • MoblinはGTK+Cutterじゃなかったっけ?。もろQtと被ってるけど、Maemoな人たちは、Qtで作業してるよね
  • Maemoはdebベース。でもMoblinってRPMじゃなかったっけ?。でもMaemo 6やってる人たちはRPMに変わるなんて一切言っていないから、おそらくdebベースのまま。

ということは、Moblinの成果ってカーネルだけで、すべてサヨウナラってこと?。インテルがソフトウェアで成功した試しがないという伝説の新たな一ページになっただけか、Moblinって。

2010-03-13

Ubuntuの新しいテーマ

ATOKのツールバーが非常にダサくなってしまったよ。

それよりも、Ubuntuのlibnotifyでクリッカブルの通知受け付けないのは納得いかない。通知メッセージがクリッカブルを受け付けないデスクトップの場合は、XULベースの通知ウィンドウだすのではなくて、クリックを受け付けないようにする設定作った方がいいのか?

2009-07-28

Chrome OS

全然イノベーションを感じないのだけど、Xを捨てられるということであれば、ある意味価値のあるものなのかもしれない。

ただ、結局のところ、VAIO Pとかに入っているLinuxを作っているようなベンダーとかを殺したりするだけというのが答えかなぁと。それといろんな会社のNetbookのデフォルトOSがUbuntuベースのものから、Chrome OSに変わるだけかもね。

そういうことになると、UbuntuがDELLからもらったお金がUbuntuに流れなくなってということもありうるので、Googleも本気にはやらないかもね。また、ここでChrome OSが転けると、やっぱりLinux Desktopがダメじゃんという風評もより強くなるので、どっちに転んでもネガティブなことになりそう。

良くない流れだねぇ。

2009-05-08

eglibc

Drepperは普通のバグ報告だと、(面倒で修正コード作らなくても)すぐ修正してくれる感じのヤツだけど、確かに扱いづらいヤツだよね。

gccのフォーク (EGCS) のときは、gccの開発スピードが遅いことが発端だった気がするけど、Debianの決断はARMがらみのところっぽいね。Androidも別のCライブラリ使ってるし。

少なくとも選択があるということはよいこと。

2009-04-27

Ubuntu AMD64 版に ATOK X3 Update2 を入れる

いつの間にかATOK X3 for Linuxのアップデートが出てた模様。

Ubuntu 9.04だと、libwrap.soが/lib32に入っているので、単体でインストール可能にはなっているのだけど、JustSystemは相変わらずDebian系の64ビット環境は考慮してくれない。だから今回のパッケージもdebは32ビット版しか入ってないので、deb版のパッケージを使わずに、tarballを使って入れる。

まず、カレントディレクトリを / に移動

cd /

32ビットのGTKライブラリを展開

sudo tar zxvf <your path>/iiimf-gtk-trunk_r3104-js3.i386.tar.gz

このままだと、32ビット版のダイナミックライブラリが/usr/lib (/usr/lib64) に展開されることになるので、/usr/lib32/にコピー。

sudo cp cd /usr/lib/gtk-2.0/immodules/im-iiim.* /usr/lib32/gtk-2.0/immodules/

続いて64ビット版のパッケージを展開

sudo tar zxvf <your path>/iiimf-gtk-64-trunk_r3104-js3.x86_64.tar.gz

IIIMサーバーも展開

sudo tar zxvf <your path>/iiimf-server-trunk_r3104-js3.i386.tar.gz

IIIMサーバーは32ビット版なので、ダイナミックライブラリを/usr/lib32にコピー

sudo cp /usr/lib/libiiimutils.* /usr/lib32/
sudo cp /usr/lib/iiim/iiimd-watchdog /usr/lib32/iiim/

これで、IIIM側のアップデートは終了。あとは、ATOK側を展開

sudo tar zxvf <your path>/atokxup-20.0-3.0.0.i386.tar.gz

これでアップデートが完了。

2009-04-21

Debug本の紹介

私自身は書いてはないのだけど、ちょっとだけネタを提供してたりするので紹介。

基本的は、gcc系のプラットフォーム (LinuxやMacOSX) での有益な話が多いんだけど、デバッグ技法とかを学ぶにはちょうどいいかとは思う。

あとWindowsでのデバッグについてのいい本はないんだよね、現在のところ。カーネルとかにはデバッグ系の機能とかがあるんだけど、それを有益に紹介されてないし。本とか書いてもいいんだけど、出版社に知り合いいないからなぁ

2009-04-11

Ubuntu 9.04上でDropboxを使う

いろいろなテストもかねて、開発環境をUbuntu 9.04の開発版に変えたのだけど、Dropboxが動かないようだ。GNOMEのトレイにはアイコンが表示されるのだけど、"Start Dropbox"というメニューしか出ない。

また、8.10まではレポジトリがあったのだけど、9.04用はまだ作られていないようだ。いろいろと調べてみると、最新版に入れ替えれば動くとのことで入れ替えた。

  1. とりあえず、ダウンロード。Dropboxのフォーラムhttp://forums.getdropbox.com/に最新版が通知されるので、それを使う。私の環境はAMD64なので、それ用をダウンロード。
    wget http://dl.getdropbox.com/u/17/dropbox-lnx.x86_64-0.6.507.tar.gz
  2. そして、~/.dropbox-distを削除して、展開
    cd ~
    rm -r .dropbox-dist/
    tar xzf dropbox-lnx.x86_64-0.6.507.tar.gz
  3. Nautilusを再起動
    killall nautilus
Nautilusを立ち上げるなり、再ログインすればDropboxが使えるようになった。

2009-02-28

Fedora RawHideで日本語に中国語フォントが使われる

FedoraのRawHideを最新にしたら、日本語フォントが、中国語フォントで表示されるような状態になってた。

何かのフォントが悪さしているだけっぽい(日本語フォントよりも中国語フォントが先に参照される状態ともいう)なので、調べてみると、以下のモジュールが悪さしてたので、このフォントを削除したら、san-serifで日本語文字に日本語フォントを使うようになった。

$ rpm -q cjkuni-fonts-common-0.2.20080216.1-20.fc11.noarch --info
Name        : cjkuni-fonts-common          Relocations: (not relocatable)
Version     : 0.2.20080216.1                    Vendor: Fedora Project
Release     : 20.fc11                       Build Date: 2009年02月03日 10時13分01秒
Install Date: 2009年02月26日 19時53分10秒      Build Host: x86-6.fedora.phx.redhat.com
Group       : User Interface/X              Source RPM: cjkuni-fonts-0.2.20080216.1-20.fc11.src.rpm
Size        : 19545                            License: Arphic
Signature   : (none)
Packager    : Fedora Project
URL         : http://www.freedesktop.org/wiki/Software/CJKUnifonts
Summary     : Chinese Unicode TrueType font common files.

それよりも、アップデートで入ったKDEのオーバーローカライズさにウケる。

san-serifとかmonospaceというフォント名をローカライズするのはどうかと思う。(どっかの何とか95というOSのとあるツールなんて、オプションを全部ローカライズしてしまったために、/all/全になってたのはオーバーローカライズの一例だけど)

2009-01-21

Intel's AES-NI instructionsの各ソフトウェア上での実装

Westmere以降のIntelのCPUでは、新機能として、XMMレジスタを使ったAES暗号のための補助インストラクションが追加されているんだけど、チップに機能があったって、コードがなければ意味がない。

その実装の各ソフトウェアでの実装状況について。

Linux Kernel

http://lwn.net/Articles/311094/にパッチの投稿がある。まだ入ってないけど、パッチあり。

Network Security Services (NSS)

https://bugzilla.mozilla.org/show_bug.cgi?id=459248がバグエントリ。コードは既にコミットされていて、NSS 3.12.3 Beta1 から含まれる。でもLinux x86_64とSolarisのみ。

OpenSSL

http://groups.google.com/group/mailing.openssl.dev/browse_thread/thread/15d5fd5b74d528aeにパッチの投稿がある。まだ入ってないけど、パッチあり。

各暗号系の実装はCPUがリリースされた時点でそろってるっぽいよね。

2008-11-11

Ubuntu AMD64 + ATOK X3

UbuntuへATOK X3を再インストールする時に面倒になったので、バグをファイルしておいた。

OSSのいいところは、一応バグを報告したというのが直接見えるところなんだが。コードを入れるとかという話になると、ある意味苦労が。。。

Bug #290533 : need libwrap.so.0 due to ATOK X3
https://bugs.launchpad.net/ubuntu/+source/ia32-libs/+bug/290533

2008-09-25

FedoraのUpdateが勝手にATOKのiiimf-serverを消した?

今日、tomcatのセキュリティアップデートが来てたからアップデートしたら、ATOK X3が使えない。ps auxを実行すると、どうもATOK関連とIIIM関連のプロセスがいない。rpm -qa | grep iiim とか実行してみてパッケージが入っているかどうかを確認したところ、iiimf-serverとかが消えてる。

なので、ATOKのパッケージからiiimf-serverと、iiimf-xをインストールしなおしたら、ATOK X3が使えるようになったのだが、原因はなんだ?

[管理] - [Update System] から Update Historyみたら、なんか消してるんですが。。。

消した覚えないから、勝手にFedoraのアップデートが消したってこと?scimをアップデートしているから、それが理由っぽいね。。。おいおい。

調べてみると、ATOKのページに以下のような情報がある。このページに書いてある対処をすることで、アップデートでiiimfを消さなくなる。

Fedora Core 6でのインストール方法(参考情報) http://support.justsystems.com/faq/1032/app/servlet/qadoc?QID=030571

2008-06-28

ここ最近の作業

Acid3のTest70に対してのパッチ

Mozillaのパーサーが不正な文字コードのXMLに対してエラーを投げないのは元からしってたけど、それXMLのスペック違反だよねって話。これを調べてみてわかった話がこれ、Bug 174351。オーナーじゃないからレビュー出してない。

そもそもIUnicodeDecoderの実装の動きが文字コードによって違う。UTF-8だと不正な文字が見つかった時点でエラー終了なんだけど、それ以外は違うんだよね。って、そこは元々Frankが実装したどころだっけ?

RFC2640サポート

WorkItemバグとして昔ファイルしておいたけど、離れた数年間で誰も修正してくれなかったやつの一つ。Dougと話中

Breakpad

Google-breakpadというエラーレポーターがあるんだけど、そのダンプの生成方法について、いろいろ直そうとしてる。というのも、今のLinuxクライアントのコードはx86にべったりしすぎなコードになってて、他のプロセッサへのポートが困難。

2008-06-25

CentOS 5.2がリリースされた

RedHat Enterprise Linux 5.2が出てから約1ヶ月たったけど、そのクローンのCent OS 5.2がリリースされました。

http://lists.centos.org/pipermail/centos-announce/2008-June/014999.html
Updating from CentOS-5.0 and 5.1

If you are already running CentOS-5 ( either 5.0 or 5.1 ), all you need to do is run : "yum upgrade" on your machine, and that will bring in the new packages from 5.2 and update your machine. Note that the command required is 'upgrade' and not the usual 'update'. Refer to the yum man page for details on how those two differ in operation.

Should the CentOS-Base.repo file on your existing CentOS-5 install be modified, you might need to pay more attention to the output from the 'yum upgrade' command. If the following command produces no output, your CentOS-Base.repo file is intact :
rpm -V centos-release | grep CentOS-Base

2008-06-10

TrackerでThunderbirdメールの全文検索

とりあえずメモ書き程度。Fedora 9上の話だけど、Ubuntuでも大丈夫かと。

  • TrackerのLatestのツリーに入っているtracker.xpiを持ってくる。(ここにtracker_1097.xpiを置いておく)
  • Thunderbirdのアドオンなので、[ツール(T)] - [アドオン(A)]からこのxpiをインストールして、Thunderbirdを再起動
  • [ツール(T)] - [Tracker indexing settings]で、[Enable indexing]を有効にする

待っていれば、自動的にインデックスが作成されて、Trackerのツール上で検索ができるようになる。

制限事項

  • 日本語検索はできることはできるが、日本語文字列に対してTracker自体のワードブレーカーが上手く働かないので、検索の精度は悪い。これはTracker側の問題なんだけど。
  • 古いバージョンのtracker.xpiを持ってくると、Subjectとかがデコードされない。なので最新版を持ってくる必要あり。