之前搜索过,以前在mac上搞过gdk还是啥的对x11阴影很大,这次想着只管搞一下,开虚拟机太费劲了。
mikecoder.cn/?post=116
安装这篇文章搞定了,备份一下。
brew install sdl
./configure --enable-ne2000
--enable-all-optimizations
--enable-cpu-level=6
--enable-x86-64
--enable-vmx=2
--enable-pci
--enable-usb
--enable-usb-ohci
--enable-e1000
--enable-debugger
--enable-disasm
--disable-debugger-gui
--with-sdl
--prefix=$HOME/opt/bochs
make & make install
export BXSHARE="$HOME/opt/bochs/share/bochs"
export PATH="$PATH:$HOME/opt/bochs/bin"
就好了。
Read more...
Archive for 编写操作系统
操作系统编写-hello world
clear主要作用是清屏
ax=0600h初始化屏幕
cx起始位置
dx结束位置
然后调用bios中断
clear下边是设置光标的位置
ah=02h
dh行,dl列
DispStr主要打印hello world
详细介绍google搜索得到。
boot/boot.asm代码:
Read more...
org 07c00h
mov ax,cx
mov ds,ax
mov es,ax
call clear
call DispStr
jmp $
clear:
mov cx,00h
mov dx, 2580h
mov bh, 00h
mov ax, 0600h
int 10h
mov bh, 00h
mov dh, 11h
mov dl, 00h
mov ah, 02h
int 10h
ret
DispStr:
mov ax,BootMessage
mov bp, ax
mov cx, 12
mov ax, 1301h
mov bx, 000ch
mov dl, 0
int 10h
ret
BootMessage: db "hello, world!"
times 510-($-$$) db 0
dw 0xaa55
操作系统编写环境搭建
lisp群里有人写操作系统,我又想起了以前写的。以前写的没做完,当时有很多不明白的,现在决定看书再做一遍。
环境搭建:系统是ubuntu,编译器gcc,make,nasm,虚拟机bochs,然后应该没了。
bochsrc.txt文件配置
floppya: image=./img/a.img, status=inserted,加载软盘镜像
ata0-master: type=disk, path="./img/c.img", mode=flat, cylinders=20, heads=16, spt=63, 硬盘镜像,这个还没用,建了个10M的文件
boot: floppy,,启动顺序
#boot: disk
log: ./log/bochsout.txt 日志记录
parport1: enabled=1, file="./log/parport.out"# 并口的数据记录文件
应该在没啥了,有错误可以再改。
Makefile文件配置
Read more...
build/boot : boot/boot.asm nasm boot/boot.asm -o build/boot a.img : build/boot dd if=build/boot of=img/a.img bs=512 count=1 conv=notrunc run : a.img bochs clean : rm build/boot每次直接make run就可以了
~/code/os$ tree . ├── bochsrc.txt ├── boot │ └── boot.asm ├── build │ └── boot ├── img │ ├── a.img │ └── c.img ├── log │ ├── bochsout.txt │ └── parport.out └── Makefile目录结构,先这样了。慢慢添加
ubuntu安装bochs笔记
$ sudo apt-get install build-essential xorg-dev libgtk2.0-dev
编译bochs
$ ./configure --enable-debugger --enable-disasm
$ sudo make
$ sudo make install
记录几个目录:
/usr/local/bin/bochs Bochs启动程序
/usr/local/bin/bximage Bochs带的制作磁盘镜像文件的工具
/usr/local/share/doc/bochsrc-sample.txt Bochs的配置文件例子
配置文件官方给的例子有详细的解释,修改一下就好。比如我编译的bochs的版本为 bochs-2.5.1,提示错误:
device: hd
message:ata0-0:could not open hard drive image file '30M.sample'
你可以新建一个hd img 也可以把配置文件里hd注释掉,再修改一下boot就好了.
这样安装的bochs带有调试功能,如果你想直接运行,可以执行c命令。
[caption id="attachment_698" align="alignnone" width="227" caption="ubuntu bochs调试"][/caption]
Read more...