General
|
Features
|
Building
|
Running
|
Debugging
|
|
Running
SeptemberOS Image
SeptemberOS 1.0 beta evaluation package is prepared to run on the
following targets:
- x86 PC
- evmdm6467
- x86 PC emulated on QEMU
- x86 PC emulated on VmWare
- versatile emulated on QEMU
- malta emulated on QEMU
Below target-specific procedures are described.
x86 PC
SeptemberOS is prepared to run on a PC as bootable floppy image. When
you build an application (for example, uart-sample by issuing 'make
uart-sample'), a floppy image 'boot.flp' will be created in 'image/'
build result directory. You need to copy this image to a blank floppy
disk, from which PC will boot SeptemberOS. If you have a floppy drive
connected to your Linux build machine, you may simply copy it as:
dd
if=image/boot.flp of=/dev/fda
If you have a floppy drive connected to a Windows computer, you may use
rawcopy
utility, which provides similar functionality to 'dd' but with less
options. If you have Cygwin installed on your Windows computer,
you may also use 'dd' program supplied with Cygwin. Remember to use
Windows naming for floppy drive (i.e. "\\.\a:" instead of "/dev/fda")
when writing a floppy on Windows.
After preparing boot floppy, reboot the PC, set "boot from floppy"
option
in BIOS and boot SeptemberOS.
evmdm6467
SeptemberOS is prepared for evmdm6467 as ELF image that can be loaded
by u-boot
boot monitor. This image can be loaded as other "raw" programs. For
example, you may place the compiled image on TFTP server and then run
on u-boot prompt:
tftp 0x800F0000 ${tftp_server_ip}/image.elf
go 0x80100000
Note that by default SeptemberOS is prepared to run at 0x80100000 (you
may change that in arch/arm/mach-evmdm6467/septos.ld
x86 PC emulated by QEMU
Prepare floppy boot image as explained for x86 PC. Copy that image to
your virtual machine location. Then start QEMU:
qemu -L "c:\program
files\qemu\pc-bios" -fda boot.flp -hda septos.qcow2 -boot a -net
nic,model=pcnet,macaddr=11:22:33:0B:0C:0D -net tap,ifname=lan2 -serial
file:uart-output.txt -localtime
This example line starts a virtual PC with BIOS located at "c:\program
files\qemu\pc-bios", you may need to change that to a directory where
you put "bios.bin" supplied with QEMU. Boot floppy is emulated with
image file "boot.flp" and IDE hard drive is emulated with file
"septos.qcow2". You may download
a prepared image or create one with "qemu-img"
utility
supplied
with the emulator.
The example above also directs the virtual PC to boot from floppy "A:"
and adds to the system a virtual LAN adapter of type PCNET32 (AMD
Lance). In order to use networking with QEMU you need to install and
virtual TAP adapter supplied with OpenVPN package (on Windows) or
install tun/tap adapter and configure virtual Ethernet bridge on Linux.
Please consult QEMU documentation for details.
Serial output is redirected to file "uart-output.txt".
Note: in order to run UART interface examples with input (uart and
uart-mon) you
will have to direct emulated serial port to real serial port and
connect a terminal to it on the other side.
x86 PC emulated by
VmWare
SeptemberOS runs on VmWare emulation very similar to it running under
QEMU. You may download
a sample virtual appliance, which
is configured in a similar way to QEMU (boots from a floppy emulated by
"boot.flp"; emulates three IDE hard drives (one with ext2 partition,
one with FAT partition and one not partitioned at all); emulates an AMD
Lance (PCNET32) ethernet adapter and redirects serial port to file
"uart-output.txt").
Note: in order to run UART interface examples with
input (uart and uart-mon) you
will have to direct emulated serial port to real serial port and
connect a terminal to it on the other side.
ARM versatile emulated
by QEMU
You may run SeptemberOS compiled for
ARM versatile target on QEMU with
the following line:
qemu-system-arm -M
versatilepb -kernel image.elf -m 128 -serial file:uart-serial.txt -net
nic,model=smc91c111 -net tap,ifname=lan2
QEMU ARM emulator is instructed to emulate a "versatilepb" platform
with 128M of memory, SMC91C111 MAC/PHY controller and
send serial output to a file "uart-serial.txt". "-kernel"
option tells QEMU to boot "image.elf"; in this mode QEMU acts as boot
monitor, emulating its initialization of hardware and ability
to load
and execute OS binary.
Note: in order to run UART interface examples with
input (uart
and uart-mon) you
will have to direct emulated serial port to real serial port and
connect a terminal to it on the other side.
MIPS malta emulated
by QEMU
You may run SeptemberOS compiled for
MIPS malta target on QEMU with
the following line:
qemu-system-mips -M
malta -kernel image.elf -m 128 -serial uart-serial.txt
QEMU MIPS emulator is instructed to emulate a "malta" platform
with 128M of memory and
send serial output to a file "uart-serial.txt". "-kernel"
option tells QEMU to boot "image.elf"; in this mode QEMU acts as boot
monitor, emulating its initialization of hardware and ability
to load
and execute OS binary.
Note: in order to run UART interface examples with
input (uart
and uart-mon) you
will have to direct emulated serial port to real serial port and
connect a terminal to it on the other side. |
|
Documentation
|
Download
|
Links
|
Articles
|
|
|