home ホーム search 検索 -  login ログイン  | help ヘルプ

find 検索

491 - 500 / 1320    [|<]  [|<]  [<]  41  42  43  44  45  46  47  48  49  50   [>]  [>|][>|]
タイトル/名前 更新者 更新日
日記/2011/05/14/就職しました。 msakamoto-sf 2011-05-14 08:56:47
日記/2011/05/03/伊豆・谷津 msakamoto-sf 2011-05-06 10:09:23
日記/2011/05/01/涼宮ハルヒのイラスト msakamoto-sf 2011-05-01 18:42:52
C言語系/memos/gcc/舞台裏を知りたいときのヒント集メモ msakamoto-sf 2011-05-01 18:40:22
技術/Windows/システムファイル属性とATTRIBコマンド msakamoto-sf 2011-04-30 21:58:49
技術/Linux/手作りLinuxシステム msakamoto-sf 2011-04-29 15:38:33
技術/Linux/手作りLinuxシステム/01. Boot from Floppy Disk (kernel-2.6.x) msakamoto-sf 2011-04-29 15:38:22
技術/Linux/手作りLinuxシステム/02. Boot from Floppy Disk (kernel-2.4.x) msakamoto-sf 2011-04-29 15:38:13
技術/Linux/手作りLinuxシステム/03. BusyBoxとuClibcを組み合わせる msakamoto-sf 2011-04-29 15:38:02
技術/Linux/手作りLinuxシステム/04. Boot from CD (kernel-2.6.x) msakamoto-sf 2011-04-29 15:37:47
ソート項目 / ソート順     1ページ 件ずつ表示

日記/2011/05/14/就職しました。  

所有者: msakamoto-sf    作成日: 2011-05-14 08:48:15
カテゴリ:

東京都内のWebアプリケーション脆弱性検査を行っている企業に就職しました。

1年半に及ぶNEET生活とも一旦はサヨナラです。


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2011-05-14 08:56:47
md5:0e2a61ec46209df7a226a3951903159c
sha1:f09b7e6e880701b49b73ee3d81a8374abbdd467c

日記/2011/05/03/伊豆・谷津  

所有者: msakamoto-sf    作成日: 2011-05-06 09:32:58
カテゴリ: ダイビング 

5/3-4と伊豆・谷津にダイビングしてきました。
地元の漁師の人たちが大変フレンドリーで、軽トラで機材を運んでくれたり、4隻の漁船をGW休み中フル回転でダイビング用に回してくれました。

5/2の夜は熱海のビジネスホテルに泊まりました。近くのコンビニで見つけた「しずおか謹製 茶 コーラ」です:


(全て表示する)
プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2011-05-06 10:09:23
md5:3227b278b726a75c06d0fe98878d423b
sha1:7b3268645941214c64d60ef8eb2da4f90deb7c42

日記/2011/05/01/涼宮ハルヒのイラスト  

所有者: msakamoto-sf    作成日: 2011-05-01 18:41:10
カテゴリ:

アニメ絵のデザインに目が慣れすぎたせいか、久しぶりに いとういのぢ の描くハルヒを見ると、「あれ?こんなデザインだったっけ?」と軽い違和感を感じてしまった。


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2011-05-01 18:42:52
md5:af8d232e61119aa92786b455561e351a
sha1:3e890882bcaf31a03e5c818d570d0ae5d9f72796

C言語系/memos/gcc/舞台裏を知りたいときのヒント集メモ  

所有者: msakamoto-sf    作成日: 2010-11-21 17:13:08
カテゴリ: C言語 

gccコマンドの裏側を知りたいときのヒント集メモ。

使用環境:

CentOS 5.x
gcc-4.1.2-48.el5
libgcc-4.1.2-48.el5
cpp-4.1.2-48.el5
binutils-2.17.50.0.6-6.el5
binutils-devel-2.17.50.0.6-14.el5
(全て表示する)
プレーンテキスト形式でダウンロード
現在のバージョン : 2
更新者: msakamoto-sf
更新日: 2011-05-01 18:40:22
md5:b63cfabd7a8d58e15c89518160df8619
sha1:b4ec477cf2ce843e4834becfc41134b7ed3d5e09

技術/Windows/システムファイル属性とATTRIBコマンド  

所有者: msakamoto-sf    作成日: 2011-04-30 21:54:28
カテゴリ: Windows プログラミング 

システムファイル属性が有効になっていると、「隠しファイル」のチェックボックスがグレーアウトされてしまう。


システムファイル属性を確認するにはATTRIBコマンドを使う。

> ATTRIB abc.txt
A  SH        C:\...\abc.txt

隠しファイル属性を維持したままシステムファイル属性を無効化:

> ATTRIB -S +H abc.txt

→これで「隠しファイル」のチェックボックスが使えるようになる。

隠しファイル属性を維持したままシステムファイル属性を有効化:

> ATTRIB +S +H abc.txt

参考:



プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2011-04-30 21:58:49
md5:c32b6e0061583456a3bd2ecbd10fd844
sha1:f3223f69f6ec7a89b5e0bda4891c6ae666f2771c

技術/Linux/手作りLinuxシステム  

所有者: msakamoto-sf    作成日: 2011-04-05 17:30:49
カテゴリ: Linux 

本シリーズでは Linux, BusyBox, uClibc を活用し、Linuxシステムを手作りしてみます。



本シリーズの目的は次の3つです。

  • 手作りしていくことで BootLoader, Linux Kernel, ルートファイルシステム の関係を理解する。
  • FD, CD, Network のそれぞれからブートさせるための知識をひとまとめにする。
  • LinuxKernelのDebugシーンで役立つよう、ホストマシンでkernelコンパイル→Networkブートでターゲットマシンでロード、KGDBを組み込んでホストマシンからgdbでLinuxKernelのライブデバッグを実現する。

組み込みシステムは特に意識しません。クロスコンパイルも使いません。
x86(32bit)マシンにセットアップしたCentOS5.5上でのx86(32biti)用のgccをそのまま使い、VMware上で動かしてみます。後半はBuildrootを使ってgccツールチェインをホストマシンから分離しています。
各ツールや作業ステップの細かい解説は行いません。関連書籍やURLを随時紹介していきますので、それらを参照していただくか自分で適宜調べてみてください。本ページの最後にシリーズ全体での参考資料を挙げています。

なお、より本格的にLinuxシステムを手作りするドキュメントとしては "Linux From Scratch" があります。

LFSでは用意するソフトウェアの数が多いです。
本シリーズではユーザーランドのソフトウェアについてBusyBoxを使って「手抜き」しており、その他ディレクトリや"/etc"ファイルに付いてもBuildrootにお任せしています。その分、FD/CD-ROM/ネットワークブートなどの起動方法のバリエーションをまとめることに注力しています。
用途や段階に応じて本シリーズとLFSを使い分けてください。

本シリーズで紹介するKernel+ユーザーランドの起動バリエーションを「元ネタ」として、実務や趣味のhackで活用していただければ幸いです。


想定読者レベル:

  • INT 80h を使ってkernelのシステムコールを直接呼ぶタイプの "Hello, World!" をアセンブラで作成できる。
    • システムコールの実体とCランタイムライブラリの関係を理解していないと、BusyBox + uClibc環境の構築時のトラブル対処が難しいと思われる。
  • gccを使わず、binutilsのツールだけで "printf()" Cランタイムライブラリを使った"Hello, World!"を動的リンク・静的リンクのそれぞれで作成できる。
    • gccとbinutilsの関係、オブジェクトファイルと最終的な実行ファイルの関係、unixにおける動的リンク・静的リンクの違いを理解していないと、BusyBox + uClibc環境の構築時のトラブル対処が難しいと思われる。
  • リンカスクリプトを自分で作成し、生成された実行ファイルが上手く動作しない場合はobjdumpやreadelfなどのツールでELFを解析して自分で原因を特定できること。
    • クロスコンパイル環境の構築もそうですが、本シリーズで扱うように開発ツールセットをホストマシン環境から切り離す場合、リンカスクリプトやリンク時のオプション一つで実行ファイルが動かなくなります。そうしたトラブルに対処するためにはELFをある程度自分で解析できる必要があります。
  • シェルスクリプトとMakefileを読める・書ける。
    • kernel, BusyBox, uClibc, Buildrootの全てでシェルスクリプトとMakefileが活用されているため、トラブル対処に必須の技能です。
  • LinuxKernelの解説本やOS自作本を読んで、最低一度はMBRの起動からKernelの最初のプロセスの開始までを追ったことがある。
    • 本シリーズではこの辺の知識は前提条件としており、解説していません。

本シリーズの環境:

VMware : Workstation 7.1.2
VMwareホスト: Windows 7 SP1 (x86 32bit)
VMwareゲスト:
    開発マシン("ホストマシン"):
        CentOS 5.5 (x86, 32bit)
          gcc-4.1.2-48.el5
          libgcc-4.1.2-48.el5
          binutils-2.17.50.0.6-14.el5
    ターゲットマシン:
        (空), 128MB, 1プロセッサ, 1GB HDD, CD-ROM, FDD

開発マシン上でkernelやユーザーランドをビルドし、ターゲットマシン上で起動してみます。
開発マシンとターゲットマシンは同じVMwareのNAT環境内にあります。


シリーズ全体で参考にさせて頂いた資料をここでまとめておきます。
Embedded UNIXの西田亙氏の一連の記事に大いに啓発されました。

参考ムック:

  • CQ出版社, インターフェース増刊 Embedded UNIX
    • Vol.1 : 「Linuxシステム縮小化計画 第1回 BusyBoxによるLinux基本環境の構築」西田亙
    • Vol.2 : 「Linuxシステム縮小化計画 第2回 Linuxカーネルイメージのしくみとルートファイルシステム」西田亙
    • Vol.6 : 「ゼロから始める組み込みLinuxシステム構築」西田亙

Vol.1, Vol.2 が kernel-2.4.x とその時代のBusyBox、Vol.6がkernel-2.6を扱っています。

参考書籍:

"Embedded Linux Primer"が包括的かつ意外と詳しくて助かりました。



プレーンテキスト形式でダウンロード
現在のバージョン : 2
更新者: msakamoto-sf
更新日: 2011-04-29 15:38:33
md5:9d44db3bbc8f3fe8ba9eac73a7371d93
sha1:32ba6427dea0756f83097194364abdbf90607ad4

技術/Linux/手作りLinuxシステム/01. Boot from Floppy Disk (kernel-2.6.x)  

所有者: msakamoto-sf    作成日: 2011-04-06 15:37:14
カテゴリ: Linux 

Linux Kernel 2.6.x を使ってフロッピーディスクから起動するLinuxシステムを作ってみます。

(全て表示する)
プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2011-04-29 15:38:22
md5:c210c959a31114e9e27adafc380a4b44
sha1:cc215c93b35cdd2a790c37fced076452c044f6b1

技術/Linux/手作りLinuxシステム/02. Boot from Floppy Disk (kernel-2.4.x)  

所有者: msakamoto-sf    作成日: 2011-04-07 16:53:37
カテゴリ: Linux 

Linux Kernel 2.4.x を使ってフロッピーディスクから起動するLinuxシステムを作ってみます。
2.4.x に興味のない人はこの記事はスキップして下さい。

(全て表示する)
プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2011-04-29 15:38:13
md5:8f9eb8d852dc73a0cd7f0293689c58ca
sha1:0e35717f07963029547c39b972c5f863726775ca

技術/Linux/手作りLinuxシステム/03. BusyBoxとuClibcを組み合わせる  

所有者: msakamoto-sf    作成日: 2011-04-12 16:43:04
カテゴリ: Linux 

技術/Linux/手作りLinuxシステム/01. Boot from Floppy Disk (kernel-2.6.x) で使用したBusyBoxですが、Linuxカーネルのヘッダーファイルをincludeしています。2011年4月現在、BusyBoxのFAQ( http://www.busybox.net/FAQ.html )にも

Programming questions >
 8. Tips and tricks >
  Including kernel headers

という項目で「本当は避けたほうが良いんだけど、どうしてもincludeしなくちゃならない場面もある」云々と書かれています。
特に設定を行っていない場合、ホストマシンのインクルードパスが使われるので、ホストマシンにインストールされた"kernel-headers"パッケージ提供のヘッダーファイルが参照されます。

どうせなら、ターゲットのLinuxカーネルヘッダを参照したいですよね。

となるとlibcライブラリもターゲットのLinuxに合わせたいところです。しかしglibcはMB単位の大きさになってしまうのでフロッピーに収まりません。
そこで今回取り上げるのが uClibc という組み込み向けにコンパクト化されたCライブラリです。

つまり

ターゲットのLinuxヘッダー + uClibc + BusyBox

の組み合わせにすればBusyBoxが参照するヘッダーも、リンクするライブラリも、全てターゲットとするLinuxに合わせることが出来ます。

この手法は組み込みの世界でも使われているらしく、@ITのMONOistで連載記事が公開されています。大いに参考にさせてもらいました、ありがとうございます。

ということで、今回は kernel-2.6.x のFDブートの発展形というか改良型としてルートファイルシステム上のアプリケーションを BusyBox + uClibc で構築してみます。加えて、簡単なHelloWorldもuClibcをリンクするようコンパイル、動作確認してみましょう。

(全て表示する)
プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2011-04-29 15:38:02
md5:db071f71b65eb61b2a8b9bbe7c730b26
sha1:1b10a9d50a37e85618f414603e3bebf6bb723f2d

技術/Linux/手作りLinuxシステム/04. Boot from CD (kernel-2.6.x)  

所有者: msakamoto-sf    作成日: 2011-04-16 15:27:10
カテゴリ: Linux 

今回はCD/DVDからのLinuxシステムの起動を目指します。
1.4MBの制限が無くなりますので、容量をあまり気にせずkernelの設定やユーザーランドを構築できます。
ローカルHDDのマウントなどは考えません。単純にISOイメージ上に格納されたbzImage(Linuxカーネル)と、kernel-2.6以降で利用出来るようになったcpio形式のInitial RAM Disk(initrd)だけで起動します。ルートファイルシステムはkernelパラメータに "root=/dev/ram0" を指定することで、initrdをそのまま使います。

また、今回は "Buildroot" を使ってuClibc, BusyBoxのビルドとルートファイルシステムの構築を行ってみます。

initrd, initramfsの違いについては "DEBUG HACKS", hack #64 を参照してください。

initrdやInitial RAM Disk関連のカーネルパラメータ、カーネル設定については豊富なWeb資料と共に、カーネルソースツリーの

Documentation/
    blockdev/ramdisk.txt
    devices.txt
    initrd.txt
    filesystems/tmpfs.txt

も参考になります。

(全て表示する)
プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2011-04-29 15:37:47
md5:18f06833d6942a28b84cd960afa4872d
sha1:584b9b7fd322003851de3b6f07fd36b3df76ed5a