JRおでかけネット
マイ・ダイヤ JR西日本エリアを中心 に時刻・経路・運賃が検索できます。
日曜日, 5月 31, 2009
Some Big CSS or Javascript Site I like
- A List Apart: A List Apart
- /* Position Is Everything */ — Modern browser bugs explained in detail!
W3Schools Online Web Tutorials
金曜日, 5月 29, 2009
gdbフロントエンド
gdbフロントエンド
- Insight is a graphical user interface to GDB, the GNU Debugger written in Tcl/Tk by people working at Red Hat, Inc. and Cygnus Solutions.
- GNU DDD is a graphical front-end for command-line debuggers such as GDB, DBX, WDB, Ladebug, JDB, XDB, the Perl debugger, the bash debugger bashdb, the GNU Make debugger remake, or the Python debugger pydb.
木曜日, 5月 28, 2009
How to reuse TCP listening socket immediately after it was connected at least once?
How to reuse TCP listening socket immediately after it was connected at least once?
SO_REUSEADDE should be used on the second listening socket creation (while time_wait already hangs)
SO_REUSEADDE should be used on the second listening socket creation (while time_wait already hangs)
The ReportLab Toolkit: our mature, Open Source PDF library
The ReportLab Toolkit: our mature, Open Source PDF library
水曜日, 5月 27, 2009
火曜日, 5月 26, 2009
Set the default applications on linux
- Use xdg-mime to set default applications either for the whole system or the user account.
/usr/share/applications/defaults.list
~/.local/share/applications/defaults.list //For an individual already has this file
Run apropos xdg and see some commands about xdg-series
- Reference:
- apropos - whatis データベースより文字列を検索する。
xdg-mime - command line tool for querying information about file type handling and adding descriptions for new file types
- Mime types in Gnome/Ubuntu
- Regarding adding new MIME types, apparently previous version of Gnome included "File Types and Programs" utility that did not make up into Gnome 2.8. New approach explained here
http://www.gnome.org/~jrb/files/mime/
For now on you can add new MIME types manually as described here
http://www.fedoraforum.org/forum/showthread.php?t=26875
http://www.au.freebsd.org/gnome/docs/faq2.html#q22
http://www.freedesktop.org/wiki/Standards_2fAddingMIMETutor
There is a graphical MIME editor that is related to ROX file manager (It is not included into rox-filer package, so you need to install it yourself)
http://rox.sourceforge.net/phpwiki/index.php/MIME-Editor
ハードディスクイメージのマウント
- ディスクイメージの作成
dd if=/dev/hdb of=/root/hdd.img bs=512 obs=1024k count=488397168 conv=sync,noerror
obsは出力する単位で、こちらはバッファリングするだけですので大きな値にすると高速化できるそうです。
countは後述するnoerrorで終端が無効になって無限ループするのを防ぐために指定します。countはbs単位です。countの値はdmesgやfdisk -luなどの出力などを見てハードディスク全体の長さになるよう決めます。
convはオプションでsyncは読み込めないセクタがあってもヌルパディングしてデータの位置を保持する、noerrorはエラーがあっても無視して続けることをそれぞれ表しています。- ディスクイメージのoffsetの調査
losetup -f #使われていないloopデバイスを調べる
losetup /dev/loop0 /root/hdd.img #イメージをマウントする
fdisk -lu /dev/loop0 #セクタ単位でパーティションの位置を確認する
losetup -d /dev/loop0 #アンマウント- パーティションのマウント
mount /root/hdd.img /mnt/ntfs -t ntfs -o ro,loop,offset=32256,nls=utf8
offsetが重要でパーティションの開始位置をバイト単位で指定します。パーティションの開始位置とはセクタサイズ512byteのハードディスクの場合、fdisk -luで出てくるStartにセクタサイズの512をかけた値になります(今回は32256=512*63)。
ntfsパーティションをマウントする場合はnls=utf8を指定しないと日本語ファイルがLinuxから見えなくなります。utf8の指定方法にはiocharset=utf8とする方法や、-oとは別に-utfする方法がありますが、いずれも現在は推奨されずnlsを使うのが良いようです。
losetupしてからmountしても同じ事ができますlosetup /dev/loop0 /root/hdd.img --offset=32256
mount /dev/loop0 /mnt/ntfs -t ntfs -o ro,loop,nls=utf8
参照:ハードディスクイメージのマウント
日曜日, 5月 24, 2009
幾つかのgccオプション
リンクオプション
- -fno-builtin
名前の先頭が__builtin__で始まらない組み込み関数を認識しません.影響を受ける関数には,abort,abs,alloca,cos,exit,fabs,ffs,labs,memcmp,memcpy,sin,
sqrt,strcmp,strcpy,strlenがあります.
通常,GCCは特定の組み込み関数をより効率的に処理するために特殊なコードを生成します.たとえばallocaの呼び出しは,スタックを直接調整する単一の命令になることがあります.
また,memcpyの呼び出しは,コピー命令のループをインライン展開したものになることがあります.結果として生成されるコードは,多くの場合,より小さくかつより速いものになりますが,関数を呼び出している部分が,実際にはもはや関数呼び出しには見えなくなるため,その関数呼び出しに対してブレークポイントを設定することができなくなるうえ,異なるライブラリとリンクすることによって関数のふるまいを変更することもできなくなります.
-ansiオプションを指定すると,allocaとffsは組み込み関数ではなくなります.これらの関数はANSI規格では規定されていないからです. - -ffreestanding
このオプションは組み込み環境や,カーネルをコンパイルする際に使用します.標準ライブラリが存在しない環境や,プログラムのスタートが__mainではない環境において使用します.
これを指定すると同時に-fno-builtinオプションを指定したことになります.連載第3回で-fno-builtinオプションの解説をしましたが,GCC3.3になって,その意味が変わっています.これも後述します. - -nostartfiles
リンク時に標準システムスタートアップファイルを使いません.標準システムライブラリは,-nostdlibや-nodefaultlibsが使用されない限り,通常は使用されます.
組み込みなどの用途で標準スタートアップを使用しない場合に指定します. - -nostdlib
リンク時に標準システムスタートアップファイルや標準システムライブラリを使用しません.スタートアップファイルはいっさいリンカに渡されません.指定されたライブラリだけがリンカに渡されます.
-nostartfilesと同様に,組み込みなどの用途で標準スタートアップを使用しない場合に指定します.
木曜日, 5月 21, 2009
bashとsedで複数ファイルのテキストを置換する方法
bashとsedで複数ファイルのテキストを置換する方法
或いは
Howto Replace multiple file text string in Linux
Sorted
Sed
find . -name "*.html" -exec sed -i 's/元テキスト/置換後テキスト/' {} \;
或いは
find . -type f -exec perl -p -i -e 's/<html>/<html lang="ja">/g' {} \;
Howto Replace multiple file text string in Linux
grep -rl OLDSTRING . | xargs perl -pi~ -e ’s/OLDSTRING/NEWSTRING/’
Sorted
grep -rl OLDSTRING . | sort -u | xargs perl -pi~ -e ’s/OLDSTRING/NEWSTRING/’
Sed
grep -rl OLDSTRING . | xargs sed -i -e ’s/OLDSTRING/NEWSTRING/’
水曜日, 5月 20, 2009
Amazon Web Serviceで書籍情報を取得する
Amazon Web Serviceで書籍情報を取得する
ブラウザからの取得例:
http://webservices.amazon.co.jp/onca/xml?Service=AWSECommerceService&AWSAccessKeyId=XXXXXXXXXXXXXXX&Operation=ItemLookup&SearchIndex=Books&ResponseGroup=Large&IdType=ISBN&ItemId=9784873113647&ReviewPage=1
Valid values for the Operation parameter include TagLookup, ListLookup, CartGet, SellerListingLookup, CustomerContentLookup, ItemLookup, SimilarityLookup, SellerLookup, ItemSearch, VehiclePartLookup, BrowseNodeLookup, CartModify, ListSearch, CartClear, VehiclePartSearch, CustomerContentSearch, CartCreate, TransactionLookup, VehicleSearch, SellerListingSearch, CartAdd, Help.
PythonでAmazon Webサービスに接続する
Python library of Amazon Associates Web Service
SellerIDとMerchantIdの識別
http://ecs.amazonaws.jp/onca/xml?Service=AWSECommerceService&Version=2007-01-15&Operation=ItemLookup&SubscriptionId=xxxxxxxxx&ItemId=4792303419&IdType=ASIN&Condition=All&MerchantId=All&ResponseGroup=OfferFull,Offers,ItemAttributes
Access Key IDの取得
warehouse_deals_jp
warehouse_deals_jp
warehouse_deals_jp
warehouse_deals_jp
warehouse_deals_jp
warehouse_deals_jp
warehouse_deals_jp
GDAL - Geospatial Data Abstraction Library
GDAL - Geospatial Data Abstraction Library
GDAL is a translator library for raster geospatial data formats that is released under an X/MIT style Open Source license by the Open Source Geospatial Foundation. As a library, it presents a single abstract data model to the calling application for all supported formats. It also comes with a variety of useful commandline utilities for data translation and processing.
GDAL supports 40+ popular data formats, including commonly used ones (GeoTIFF, JPEG, PNG and more) as well as the ones used in GIS and remote sensing software packages (ERDAS Imagine, ESRI Arc/Info, ENVI, PCI Geomatics). Also supported many remote sensing and scientific data distribution formats such as HDF, EOS FAST, NOAA L1B, NetCDF, FITS.
OGR library supports popular vector formats like ESRI Shapefile, TIGER data, S57, MapInfo File, DGN, GML and more.
gdal source package in Ubuntu 1.5.2-3ubuntu1 version
火曜日, 5月 19, 2009
Scientific Softwares
- R - The R Project for Statistical Computing
統計処理ソフトウェアRについてのTips
linux,macos,macosx,solaris,windows等のダウンロードディレクトリ、R for Windows - Octave - GNU Octave is a high-level language, primarily intended for numerical computations.
- Maxima - a Computer Algebra System
- GSL - GNU Scientific Library
- Scilab - 数値計算のためのオープンソースプラットホーム
- gnuplot - a portable command-line driven interactive data and function plotting utility for UNIX, IBM OS/2, MS Windows, DOS, Macintosh, VMS, Atari and many other platforms.
- GRASS - The World Leading Free Software GIS
- MathematicaとMatlabの違いは
- MathematicaとMatlabの違いは意外と知られていないようだが、Mathematicaは数式処理ソフトであり、Matlabは数値処理ソフトである。前者が連続を扱うのにたいして、後者は離散を扱うと考えればいいのではないか。
- SageはMathematicaのフリー版と言えばいいと思うが、OctaveはMatlabのフリー版といったところ。
W32TeX
月曜日, 5月 18, 2009
日曜日, 5月 17, 2009
Linux Offline Browser
Linux Offline Browser
Linux GUI file downloader(ペンギンの杜 〜 Linux ソフト)
- WebHTTrack
- HarvestMan
- KrawlSite
Linux GUI file downloader(ペンギンの杜 〜 Linux ソフト)
- MultiGet - - グラフィカルなダウンロードマネージャ
土曜日, 5月 16, 2009
面白い映画
中国産インターネットテレビ「PPLive」と「PPstream」
PPLive
PPstream
无英文字幕
PPLive
PPstream
- 校园兔女郎
- 初恋50次
- 偷穿高跟鞋
- 曼哈顿女佣
- 我最好朋友的婚礼
- 两颗绝望的心(2009年05月28日)
无英文字幕
- 小镇姑娘
木曜日, 5月 14, 2009
水曜日, 5月 13, 2009
FirefoxでもcurrentStyleを使う
FirefoxでもcurrentStyleを使う
色を取得する場合はブラウザ毎に挙動が異なるので注意する。IEは指定したまま取得できるが、Operaは色を勝手に#16進6桁に展開。Firefoxに至ってはRGBフォーマットにしてしまう。
またFirefoxは短縮形で取得しようとすると、設定していないプロパティにデフォルト値が入った状態で返ってくるので注意する。
HTMLElement.prototype.__defineGetter__('currentStyle',
function()getComputedStyle(this,null)
)
- camelize
- プロパティ指定の互換を取るためにcamelizeとしてハイフン+小文字アルファベットを大文字アルファベットに直す関数を定義しておく。deCamelizeはその逆。
色を取得する場合はブラウザ毎に挙動が異なるので注意する。IEは指定したまま取得できるが、Operaは色を勝手に#16進6桁に展開。Firefoxに至ってはRGBフォーマットにしてしまう。
またFirefoxは短縮形で取得しようとすると、設定していないプロパティにデフォルト値が入った状態で返ってくるので注意する。
- Main page - MDC Firefox Development topics
QEMU and GDB to debug bootsector
See Trying to use QEMU and GDB to debug GRUB 2
Start Qemu
Start Qemu
- For Floppy:
qemu -fda floppya.img -s -S
- For CDROM:
qemu -cdrom grub2.iso -s -S
- Start GDB in another console
target remote localhost:1234
; as we start in 16bit real mode
set arch i8086
; set breakpoint in entry point, at begining of GRUB2's CD-ROM boot sector ode.
break *0x7c00
; entered 'c' to start execution until it hit the break point.
; to see where I really was I had to use following command:
x/10i $cs*16+$eip
月曜日, 5月 11, 2009
sandpile.org -- The world's leading source for pure technical x86 processor information.
sandpile.org -- The world's leading source for pure technical x86 processor information.
IA-32 architecture
AA-64 architecture
Refer to Interrupt List
日曜日, 5月 10, 2009
Skype Proxy Setting on Linux
Edit shared.xml file to add proxy settings there. This file is in home/.Skype directory.
Add section
in the <connection> scope of the file.
If the proxy has not user or password, then delete lines <user> or <pwd>.
It is better to change <disableport80> to
The password is not "encrypted", it's simply base64 encoded so that no unprintable characters make their way into shared.xml file.See Where are the proxy settings stored?
To figure out what text to put into <Pwd> tag:
Add section
<httpsproxy>
<addr>26.8.1.229:3128</addr>
<enable>1</enable>
<pwd>RmhjsdfsdQ=</pwd>
<user>kolach</user>
</httpsproxy>
in the <connection> scope of the file.
If the proxy has not user or password, then delete lines <user> or <pwd>.
It is better to change <disableport80> to
<disableport80>0</disableport80>
The password is not "encrypted", it's simply base64 encoded so that no unprintable characters make their way into shared.xml file.See Where are the proxy settings stored?
To figure out what text to put into <Pwd> tag:
echo -n "My Password" | base64
金曜日, 5月 08, 2009
Targeting specific Browsers with CSS
Targeting specific Browsers with CSS, originated from Browser-specific CSS hacks
/***** Selector Hacks ******/
/* IE 6 and below */
* html #uno { color: red }
/* IE 7 and below */
*:first-child+html #dos { color: red }
/* IE 7 and modern browsers */
html>body #tres { color: red }
/* Modern browsers (not IE 7) */
html>/**/body #cuatro { color: red }
/* Opera 9.27 and below */
html:first-child #cinco { color: red }
/* Safari */
html[xmlns*=""] body:last-child #seis { color: red }
/*safari 3+, chrome 1+, opera9+, ff 3.5+ */
body:nth-of-type(1) #siete { color: red }
/* safari 3+, chrome 1+, opera9+, ff 3.5+ */
body:first-of-type #ocho { color: red }
/* saf3, chrome1+ */
@media screen and (-webkit-min-device-pixel-ratio:0) {
#diez { background: #FFDECE; border: 2px solid #ff0000 }
}
/***** Attribute Hacks ******/
/* ie6 and below */
#once { _color:blue }
/* ie7 and below */
#doce { *color: blue } /* or #color:blue */
/* 'Modern Browsers' includes IE8, whether you agree or not.. :) */
VirtualBox上におけるFedoraのxorg.confの設定
# Xorg configuration created by system-config-display
Section "ServerLayout"
Identifier "single head configuration"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "InputDevice"
# keyboard added by rhpxl
Identifier "Keyboard0"
Driver "kbd"
Option "XkbModel" "jp106"
Option "XkbLayout" "jp"
EndSection
Section "Device"
Identifier "Videocard0"
Driver "vboxvideo"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Videocard0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1280x800"
EndSubSection
EndSection
前編へ
木曜日, 5月 07, 2009
Mandriva Package Management
Mandriva Package Management, see also First Time Linux
CUI
Refer to Various Linux Package Operations
- GUI Tool
- Mandriva Control Center → rpmdrake
CUI
Command | What it tells you |
---|---|
rpm -qa | list all installed packages |
rpm -qa | grep -i office | search for a certain installed package |
rpm -qf /path/to/file | similar to urpmf, but searches on installed system |
rpm2cpio package.rpm | cpio -div | extract the whole contents from a downloaded rpm |
urpmc | updates the local data about available packages in all media |
urpmf xxxx.so | find individual files in rpm packages |
urpmf /path/to/file | which package has installed "file*" in /path/to |
urpme xxx | removes the package xxx (and those that depend on it) |
urpmi program | install program |
urpmi --auto-select | automatically select upgradeable packages |
urpmi --auto-select --update | To update the packages based on the new lists |
urpmi --auto-update | merge urpmi.update -a and urpmi --auto-select |
urpmi --fuzzy --test xxx | shows all rpms that match string "xxx". |
urpmi --keep xxx.rpm | installs package xxx.rpm from the current directory and it's dependencies, but if anything has to be removed it will not |
urpmi --keep --auto --auto-select | update all packages from your enabled media, but don't remove anything: just tell if anything didn't work |
urpmi --no-install freemind | downloads all the rpms but doesn't install them. However this doesn't just get the package you ask for, it also gets the dependencies as well |
urpmi --test --keep --auto --auto-select | update all packages from your enabled media but don't install or remove anything, just tell if it will work |
urpmi --update --auto-select | installs available updates from your enabled media |
urpmi.update -a | If a new software package is put into a repository urpmi needs to know about it. With the command urpmi.update, urpmi gets to know about these new packages. |
urpmi.update updates | updates the local data about available packages in the medium "updates" |
urpmq xmms | query the urpmi database to see if there is an RPM for a program to install |
urpmq --changelog xxx.rpm | print changelog of the package in the current directory |
urpmq -i stellarium | get a package description |
urpmq -i xxx.rpm | info on the package xxx.rpm in the current directory |
urpmq -il xxx.rpm | info on the package xxx.rpm in the current directory & list of files that it installs |
urpmq -l barrage | see what files are inside the package |
urpmq --list-url | list the media currently being used |
urpmq --sources inkscape | just display the url where the package lives |
urpmq --whatrequires xxx.rpm | which package(s) require(s) the xxx.rpm in the current directory |
wget $(urpmq --sources freemind) | download a single package without its dependencies |
Refer to Various Linux Package Operations
MINIXカーネル再構築:MINIX on VMware Player
MINIXカーネル再構築:MINIX on VMware Player
X Window Systemの起動
ログイン画面表示
xdmプロセスの終了
X Window Systemの起動
ログイン画面表示
xdm或いはデバッグオプションを付けて実行
xdm -debug 1
xdmプロセスの終了
1.ps ax grep xdm コマンドでxdmプロセスのプロセスIDを確認
2.kill コマンドでxdmプロセスを終了
水曜日, 5月 06, 2009
Mandriva 2009 Spring Freeのインストール
Mandriva 2009 Spring Freeのインストール
一旦既存のメディアを削除して、Easy URPMIから、2009.1のOfficial mediasとPLF mediasをインストール。GUIより実行すると途中で応答なしになるので、ターミナルから実行。
# urpmi.removemedia -a
# urpmi.addmedia --distrib --mirrorlist '$MIRRORLIST'
# urpmi.addmedia --distrib --mirrorlist 'http://plf.zarb.org/mirrors/$RELEASE.$ARCH.list' (コーデック関連)
次パッケージの更新も実行。
# urpmi.update -a
# urpmi --auto-select
元のリンクに追加インストールしたパッケージのリストが有って、合わせて念書としてここに書かれます(マルチメディア関連のツール)。
- flash-player-plugin
- smplayer
- real-codecs
- win32-codecs
- pptp-linux
火曜日, 5月 05, 2009
intel2gas
intel2gas - A converter from NASM assembly language to GAS
yasm - modular assembler with multiple syntaxes support
x86dis - Frontend to libdisasm
flasm - assembler and disassembler for Flash (SWF) bytecode
libasm-java - Java bytecode manipulation framework
yasm - modular assembler with multiple syntaxes support
x86dis - Frontend to libdisasm
flasm - assembler and disassembler for Flash (SWF) bytecode
libasm-java - Java bytecode manipulation framework
月曜日, 5月 04, 2009
C++コンパイラ依存のコーディング
C++コンパイラ依存のコーディング
Pre-defined C/C++ Compiler MacrosにStandards,Compilers,Libraries,Operating Systems,Architecturesに分かれて、詳しくかかれています。
GCCでデフォルト定義されるマクロ一覧を見る
- Linux/GCC
- __linux__, __GNUC__
- Windows/VC++
- _WIN32, _MSC_VER
Pre-defined C/C++ Compiler MacrosにStandards,Compilers,Libraries,Operating Systems,Architecturesに分かれて、詳しくかかれています。
GCCでデフォルト定義されるマクロ一覧を見る
echo | gcc -v -E -dM -
Remastersys
Remastersys for Debian and Ubuntu
Remastersys
導入後、端末から「sudo remastersys」として起動。
「dists」コマンドで、home以外の配布用LiveCD/DVDイメージ(.iso形式)が作成できる、「backup」コマンドで、homeを含む全部のバックアップができます。
For other linux:
Remastersys
- $ sudo gedit /etc/apt/sources.list
- sources.listの末尾に
deb http://www.remastersys.klikit-linux.com/repository remastersys/ - $ sudo apt-get update
- $ sudo apt-get install remastersys
導入後、端末から「sudo remastersys」として起動。
「dists」コマンドで、home以外の配布用LiveCD/DVDイメージ(.iso形式)が作成できる、「backup」コマンドで、homeを含む全部のバックアップができます。
For other linux:
- PCLinuxOS remasterme script
- Mandriva mklivecd script
- Fedora 10 Revisor
日曜日, 5月 03, 2009
Linuxにおけるフロッピーディスクのイメージファイルを作成する
Linuxにおけるフロッピーディスクのイメージファイルを作成する
DOSフォーマット2.88Mフロッピーイメージの土台を作る
mformat -f 1440 -C -B ipl.bin -i fd.img ::
mcopy kernel.bin -i fd.img ::
DOSフォーマット2.88Mフロッピーイメージの土台を作る
user$ dd if=/dev/zero of=drdos288.img bs=512 count=5760
user$ su -
root# losetup /dev/loop1 drdos288.img
root# mkdosfs -F 12 -S 512 -R 1 -I -v /dev/loop1
root# losetup -d /dev/loop1
as86汇编语言程序的编译和链接
《Linux内核完全剖析—基于0.12内核》でas86で作成されたファイルは512Bitでなく、544Bitです。この32Bitを削除するため、《Linux内核完全剖析—基于0.12内核》に三つの方法を紹介しました。
現在のLinuxシステムのas86には-bオプションでこの32Bitなしのコードを作成できます。
現在のLinuxシステムのas86には-bオプションでこの32Bitなしのコードを作成できます。
Linux i386 Boot Code HOWTO
- 静的なカーネル改変
カーネルイメージは以下のように構成されている[bootsect][setup][[head][misc][compressed_kernel]
ブートプロセスの詳細を理解しよう。このプロセスは以下のような論理的なステージに分割することが可能である:- BIOS がブートデバイスを選択する。
- BIOS がブートデバイスから [bootsect] をロードする。
- [bootsect] が [setup] および [[head][misc][compressed_kernel]] をロードする。
- [setup] が実行され、 [head](it is at 0x1000 or 0x100000) にジャンプする。
- [head] が [misc] 中のカーネルの展開関数を呼び出す。
- [misc] が [compressed_kernel] を展開し、0x100000 からのアドレスに置く。
- 高レベルの初期化(linux/arch/i386/kernel/head.S 中の startup_32 から開始される) が行なわれる。
- BIOS がブートデバイスを選択する。
- LKM なしでの動的なカーネル改変
ブートストラップ
/* Absolute addresses */
#define ABS(x) ((x) - _start + 0x7c00)
/* Print message string */
#define MSG(x) movw $ABS(x), %si; call message
.text
.code16
.globl _start
_start:
MSG(test_string)
loop: jmp loop
test_string: .string "test boot sector!"
/*
* Use BIOS "int 10H Function 0Eh" to write character in teletype mode
* %ah = 0xe %al = character
* %bh = page %bl = foreground color (graphics modes)
*/
1:
movw $0x0001, %bx
movb $0xe, %ah
int $0x10 /* display a byte */
message:
lodsb
cmpb $0, %al
jne 1b /* if not end of string, jmp to display */
ret
partion_table:
/* パーティションテーブル(16byte * 4)が格納されている */
. = _start + 446
boot_signature:
/* 最後の2バイトはブートシグニチャというマジックナンバになっている */
. = _start + 510
.word 0xaa55
コンパイルは次の通り.boot はちょうど 512 バイトになる.
$ gcc -c -O2 -nostdinc -fno-builtin boot.S -o boot.o
$ gcc -nostdlib -Wl,-N,-Ttext,7c00 -o boot.exec boot.o
$ objcopy -O binary boot.exec boot
$ dd if=boot of=a.img conv=notrunc
金曜日, 5月 01, 2009
Ten top Linux and open-source developer tools
- Ten top Linux and open-source developer tools
- Bluefish
- Anjuta
- Glade
- GCC
- Kdevelop
- GDB
- KompoZer
- Eclipse
- Make
- Quanta Plus
- Bluefish
- Linux操作系统的种种集成开发环境
- 70 款 IDE 工具资源
See Windows Free IDE
Linux必携のオフィス向けアプリケーション10選
Top 10 Open Source (2009-06-12) listed in Open Source Alternative - osalt.com
- Dia
- GnuCash
- OpenOffice Draw
- Gimpshop
- Komodo Edit
- Quanta Plus
- Cinelerra
- StarUML
- InfraRecorder
- Avidemux
登録:
投稿 (Atom)