https://www.coreboot.org/api.php?action=feedcontributions&user=VincentLim&feedformat=atomcoreboot - User contributions [en]2024-03-28T10:29:21ZUser contributionsMediaWiki 1.40.0https://www.coreboot.org/index.php?title=User:VincentLim&diff=8388User:VincentLim2009-04-24T22:27:46Z<p>VincentLim: Created page with 'Vincent Lim SimNow Team Performance CoE Central Engineering T 512.602.1618 F 512.602.7745'</p>
<hr />
<div>Vincent Lim<br />
SimNow Team<br />
Performance CoE<br />
Central Engineering<br />
T 512.602.1618<br />
F 512.602.7745</div>VincentLimhttps://www.coreboot.org/index.php?title=AMD_SimNow&diff=8364AMD SimNow2009-04-20T20:17:43Z<p>VincentLim: /* Download SimNow */</p>
<hr />
<div>These are the steps I use to download, install, and use the AMD SimNow simulator.<br />
You may not want to do exactly what I did, but it should get you started.<br />
There is PDF documentation that you can download on the same page as the simulator. <br />
== Build a ROM image for SimNow (Skip this step if you have your own Bios you want to use)==<br />
# make sure iasl tool is available<br />
# Choose Payload Configuration<br />
## Desired Payload is FILO<br />
## Download the latest version of FILO from Subversion with<br />
##''svn co svn://coreboot.org/filo/trunk/filo''<br />
##'' cd libpayload''<br />
##'' make defconfig''<br />
##'' make''<br />
##'' make DESTDIR=../build install''<br />
##''make menuconfig'' Note: use default configuration.<br />
##''make CC="gcc -m32" LD="ld -b elf32-i386" HOSTCC="gcc" AS="as --32"''<br />
## filo.elf is generated.<br />
# Choose Platform Configuration<br />
## ''svn co svn://coreboot.org/repos/trunk/coreboot-v2'' or go to http://www.coreboot.org/Download_coreboot to download coreboot v2<br />
## ''cd targets/''<br />
## ''./buildtarget amd/serengeti_cheetah/''<br />
## ''cd amd/serengeti_cheetah/serengeti_cheetah/''<br />
## make sure rename filo.elf to payload.elf and copy over to this directory<br />
## ''gmake''<br />
# coreboot.rom is generated.<br />
<br />
== Download SimNow ==<br />
# Download SimNow from [http://developer.amd.com/simnow.jsp AMD's website]<br />
## Create an account<br />
## Accept the license agreement<br />
## Log in.<br />
#Untar the .tar.gz file you download in a convenient place (You'll now have a directory called simnow-linux64-4.5.x.pub)<br />
#Follow the instructions from the help section "Setting up Linux" for the Simulator<br />
## To get enough "mmap"able virtual address space, make sure you have a /etc/sysctl.conf file and that it contains the following line:<br />
<br />
<pre><nowiki> vm.max_map_count = 1048576 </nowiki></pre><br />
<br />
== Run SimNow ==<br />
#Run ''./simnow'' from the simnow-linux64-4.5.xpub directory<br />
#Inside the SimNow Main Window do File->Open BSD, browse to the simnow-linux64-4.5.xpub/bsds directory and load either cheetah_1p.bsd or cheetah_1pjh.bsd (jh is dual-core)<br />
<pre><nowiki>Now you have a single Opteron socket motherboard with:<br />
AMD-8132 PCI-X controller, <br />
AMD-8111 I/O hub, <br />
and Winbond W83627HF SuperIO.</nowiki></pre> <br />
#Copy your coreboot ROM image to simnow-linux64-4.5.xpub/Images for convenience.<br />
#Open the SimNow Device Window (View->Show Devices)<br />
#Double click on Memory Device #5 (Your BIOS chip)<br />
#Click on the Memory Configuration Tab, and change the Base Address, Size, and File (I use Base Address = fff00000 and Size = 32 because I use a 1 MB image)<br />
#Click OK to save your changes<br />
#Go to the main simulator window and hit Run Simulation (Play button)<br />
<br />
== Serial Port Configuration == <br />
In order to see the console output, go to the terminal you are running ./simnow in. Hit enter. You'll see a simnow> prompt. <br />
# Type ''serial.SetCommPort pipe'' and hit enter.<br />
# Type ''serial.GetCommPort'' and hit enter.<br />
On my machine this returns <br />
path (/home/myles/.simnow/com1), mode (PIPE)<br />
<br />
Open a new terminal and type cat /home/myles/.simnow/com1/simnow_out<br />
If you need to send input to the serial port, echo to /home/myles/.simnow/com1/simnow_in<br />
<br />
=== Using the snserial tool ===<br />
<br />
Alternatively, you can use a tool called 'snserial' to interact with the serial ports. snserial will combine the input and output, and provide access to the combined stream through either a psuedo tty, or a telenet port.<br />
<br />
# Download the snserial tool from http://khepri.openbios.org/~jcrouse/snserial-1.0.tar.gz.<br />
# Extract it: ''tar -zxvf snserial-1.0.tar.gz''<br />
# Build it: ''cd snserial/; make''<br />
<br />
Before running the tool, make sure that you have enabled the serial pipes as detailed above.<br />
<br />
To enable serial through a pseudo TTY, start your simulation and type ''./snserial comX'' in another Linux terminal window (where X is 1 or 2). The program will respond with:<br />
<br />
SimNow Serial pipe Muxer<br />
<br />
Connection established.<br />
Type 'target remote /dev/pts/2' in GDB to connect.<br />
(Press CTRL-C to exit)<br />
<br />
You can now connect your serial application (minicom, or GDB for debugging) to the specified pseudo-tty.<br />
<br />
To enable serial interaction through telnet, start the simulation and type ''./snserial -t comX''. The program will respond with:<br />
<br />
SimNow Serial pipe Muxer<br />
<br />
COM 1: Listening on port 9000<br />
(Press CTRL-C to exit)<br />
<br />
You can now connect to the serial stream by typing 'telnet localhost 9000' in a Linux terminal window.<br />
<br />
'''Note:''' It is a quirk of SimNow that the pipes are not created until the simulation for the BSD is started for the first time. Make sure you start the simulation before running ''snserial'', otherwise you will see this: ''Couldn't stat /home/<user>/.simnow/com1/simnow_out: No such file or directory.'' The best course of action is to start the simulation quickly, attach the snserial program, and then restart the simulation to see the early serial output.<br />
<br />
== Add disks == <br />
#Hit the Stop Simulation button if the simulation is running<br />
##File->Set IDE Primary Master Image<br />
###Browse to your hard drive (.HDD) image<br />
##File->Set IDE Secondary Master Image <br />
###Browse to a CD (.ISO) image<br />
#Hit Run Simulation again<br />
<br />
You should get output from the serial port scrolling in one terminal, and be able to watch the VGA output in the main window.<br />
<br />
If you used buildrom to get a BIOS image with coreboot + LAB, you'll end up at a linux prompt where you can mount the disks, etc.<br />
<br />
{{Cc-by-sa-3.0}}</div>VincentLimhttps://www.coreboot.org/index.php?title=AMD_SimNow&diff=8363AMD SimNow2009-04-20T20:17:23Z<p>VincentLim: /* Download SimNow */</p>
<hr />
<div>These are the steps I use to download, install, and use the AMD SimNow simulator.<br />
You may not want to do exactly what I did, but it should get you started.<br />
There is PDF documentation that you can download on the same page as the simulator. <br />
== Build a ROM image for SimNow (Skip this step if you have your own Bios you want to use)==<br />
# make sure iasl tool is available<br />
# Choose Payload Configuration<br />
## Desired Payload is FILO<br />
## Download the latest version of FILO from Subversion with<br />
##''svn co svn://coreboot.org/filo/trunk/filo''<br />
##'' cd libpayload''<br />
##'' make defconfig''<br />
##'' make''<br />
##'' make DESTDIR=../build install''<br />
##''make menuconfig'' Note: use default configuration.<br />
##''make CC="gcc -m32" LD="ld -b elf32-i386" HOSTCC="gcc" AS="as --32"''<br />
## filo.elf is generated.<br />
# Choose Platform Configuration<br />
## ''svn co svn://coreboot.org/repos/trunk/coreboot-v2'' or go to http://www.coreboot.org/Download_coreboot to download coreboot v2<br />
## ''cd targets/''<br />
## ''./buildtarget amd/serengeti_cheetah/''<br />
## ''cd amd/serengeti_cheetah/serengeti_cheetah/''<br />
## make sure rename filo.elf to payload.elf and copy over to this directory<br />
## ''gmake''<br />
# coreboot.rom is generated.<br />
<br />
== Download SimNow ==<br />
# Download SimNow from [http://developer.amd.com/simnow.jsp AMD's website]<br />
## Create an account<br />
## Accept the license agreement<br />
## Log in.<br />
#Untar the .tar.gz file you download in a convenient place (You'll now have a directory called simnow-linux64-4.5.xpub)<br />
#Follow the instructions from the help section "Setting up Linux" for the Simulator<br />
## To get enough "mmap"able virtual address space, make sure you have a /etc/sysctl.conf file and that it contains the following line:<br />
<br />
<pre><nowiki> vm.max_map_count = 1048576 </nowiki></pre><br />
<br />
== Run SimNow ==<br />
#Run ''./simnow'' from the simnow-linux64-4.5.xpub directory<br />
#Inside the SimNow Main Window do File->Open BSD, browse to the simnow-linux64-4.5.xpub/bsds directory and load either cheetah_1p.bsd or cheetah_1pjh.bsd (jh is dual-core)<br />
<pre><nowiki>Now you have a single Opteron socket motherboard with:<br />
AMD-8132 PCI-X controller, <br />
AMD-8111 I/O hub, <br />
and Winbond W83627HF SuperIO.</nowiki></pre> <br />
#Copy your coreboot ROM image to simnow-linux64-4.5.xpub/Images for convenience.<br />
#Open the SimNow Device Window (View->Show Devices)<br />
#Double click on Memory Device #5 (Your BIOS chip)<br />
#Click on the Memory Configuration Tab, and change the Base Address, Size, and File (I use Base Address = fff00000 and Size = 32 because I use a 1 MB image)<br />
#Click OK to save your changes<br />
#Go to the main simulator window and hit Run Simulation (Play button)<br />
<br />
== Serial Port Configuration == <br />
In order to see the console output, go to the terminal you are running ./simnow in. Hit enter. You'll see a simnow> prompt. <br />
# Type ''serial.SetCommPort pipe'' and hit enter.<br />
# Type ''serial.GetCommPort'' and hit enter.<br />
On my machine this returns <br />
path (/home/myles/.simnow/com1), mode (PIPE)<br />
<br />
Open a new terminal and type cat /home/myles/.simnow/com1/simnow_out<br />
If you need to send input to the serial port, echo to /home/myles/.simnow/com1/simnow_in<br />
<br />
=== Using the snserial tool ===<br />
<br />
Alternatively, you can use a tool called 'snserial' to interact with the serial ports. snserial will combine the input and output, and provide access to the combined stream through either a psuedo tty, or a telenet port.<br />
<br />
# Download the snserial tool from http://khepri.openbios.org/~jcrouse/snserial-1.0.tar.gz.<br />
# Extract it: ''tar -zxvf snserial-1.0.tar.gz''<br />
# Build it: ''cd snserial/; make''<br />
<br />
Before running the tool, make sure that you have enabled the serial pipes as detailed above.<br />
<br />
To enable serial through a pseudo TTY, start your simulation and type ''./snserial comX'' in another Linux terminal window (where X is 1 or 2). The program will respond with:<br />
<br />
SimNow Serial pipe Muxer<br />
<br />
Connection established.<br />
Type 'target remote /dev/pts/2' in GDB to connect.<br />
(Press CTRL-C to exit)<br />
<br />
You can now connect your serial application (minicom, or GDB for debugging) to the specified pseudo-tty.<br />
<br />
To enable serial interaction through telnet, start the simulation and type ''./snserial -t comX''. The program will respond with:<br />
<br />
SimNow Serial pipe Muxer<br />
<br />
COM 1: Listening on port 9000<br />
(Press CTRL-C to exit)<br />
<br />
You can now connect to the serial stream by typing 'telnet localhost 9000' in a Linux terminal window.<br />
<br />
'''Note:''' It is a quirk of SimNow that the pipes are not created until the simulation for the BSD is started for the first time. Make sure you start the simulation before running ''snserial'', otherwise you will see this: ''Couldn't stat /home/<user>/.simnow/com1/simnow_out: No such file or directory.'' The best course of action is to start the simulation quickly, attach the snserial program, and then restart the simulation to see the early serial output.<br />
<br />
== Add disks == <br />
#Hit the Stop Simulation button if the simulation is running<br />
##File->Set IDE Primary Master Image<br />
###Browse to your hard drive (.HDD) image<br />
##File->Set IDE Secondary Master Image <br />
###Browse to a CD (.ISO) image<br />
#Hit Run Simulation again<br />
<br />
You should get output from the serial port scrolling in one terminal, and be able to watch the VGA output in the main window.<br />
<br />
If you used buildrom to get a BIOS image with coreboot + LAB, you'll end up at a linux prompt where you can mount the disks, etc.<br />
<br />
{{Cc-by-sa-3.0}}</div>VincentLimhttps://www.coreboot.org/index.php?title=AMD_SimNow&diff=8362AMD SimNow2009-04-20T20:16:43Z<p>VincentLim: /* Run SimNow */</p>
<hr />
<div>These are the steps I use to download, install, and use the AMD SimNow simulator.<br />
You may not want to do exactly what I did, but it should get you started.<br />
There is PDF documentation that you can download on the same page as the simulator. <br />
== Build a ROM image for SimNow (Skip this step if you have your own Bios you want to use)==<br />
# make sure iasl tool is available<br />
# Choose Payload Configuration<br />
## Desired Payload is FILO<br />
## Download the latest version of FILO from Subversion with<br />
##''svn co svn://coreboot.org/filo/trunk/filo''<br />
##'' cd libpayload''<br />
##'' make defconfig''<br />
##'' make''<br />
##'' make DESTDIR=../build install''<br />
##''make menuconfig'' Note: use default configuration.<br />
##''make CC="gcc -m32" LD="ld -b elf32-i386" HOSTCC="gcc" AS="as --32"''<br />
## filo.elf is generated.<br />
# Choose Platform Configuration<br />
## ''svn co svn://coreboot.org/repos/trunk/coreboot-v2'' or go to http://www.coreboot.org/Download_coreboot to download coreboot v2<br />
## ''cd targets/''<br />
## ''./buildtarget amd/serengeti_cheetah/''<br />
## ''cd amd/serengeti_cheetah/serengeti_cheetah/''<br />
## make sure rename filo.elf to payload.elf and copy over to this directory<br />
## ''gmake''<br />
# coreboot.rom is generated.<br />
<br />
== Download SimNow ==<br />
# Download SimNow from [http://developer.amd.com/simnow.jsp AMD's website]<br />
## Create an account<br />
## Accept the license agreement<br />
## Log in.<br />
#Untar the .tar.gz file you download in a convenient place (You'll now have a directory called simnow-linux64-4.5.xpub - new release by April 2009 that eliminate SimNow patch source on coreboot)<br />
#Follow the instructions from the help section "Setting up Linux" for the Simulator<br />
## To get enough "mmap"able virtual address space, make sure you have a /etc/sysctl.conf file and that it contains the following line:<br />
<br />
<pre><nowiki> vm.max_map_count = 1048576 </nowiki></pre><br />
<br />
== Run SimNow ==<br />
#Run ''./simnow'' from the simnow-linux64-4.5.xpub directory<br />
#Inside the SimNow Main Window do File->Open BSD, browse to the simnow-linux64-4.5.xpub/bsds directory and load either cheetah_1p.bsd or cheetah_1pjh.bsd (jh is dual-core)<br />
<pre><nowiki>Now you have a single Opteron socket motherboard with:<br />
AMD-8132 PCI-X controller, <br />
AMD-8111 I/O hub, <br />
and Winbond W83627HF SuperIO.</nowiki></pre> <br />
#Copy your coreboot ROM image to simnow-linux64-4.5.xpub/Images for convenience.<br />
#Open the SimNow Device Window (View->Show Devices)<br />
#Double click on Memory Device #5 (Your BIOS chip)<br />
#Click on the Memory Configuration Tab, and change the Base Address, Size, and File (I use Base Address = fff00000 and Size = 32 because I use a 1 MB image)<br />
#Click OK to save your changes<br />
#Go to the main simulator window and hit Run Simulation (Play button)<br />
<br />
== Serial Port Configuration == <br />
In order to see the console output, go to the terminal you are running ./simnow in. Hit enter. You'll see a simnow> prompt. <br />
# Type ''serial.SetCommPort pipe'' and hit enter.<br />
# Type ''serial.GetCommPort'' and hit enter.<br />
On my machine this returns <br />
path (/home/myles/.simnow/com1), mode (PIPE)<br />
<br />
Open a new terminal and type cat /home/myles/.simnow/com1/simnow_out<br />
If you need to send input to the serial port, echo to /home/myles/.simnow/com1/simnow_in<br />
<br />
=== Using the snserial tool ===<br />
<br />
Alternatively, you can use a tool called 'snserial' to interact with the serial ports. snserial will combine the input and output, and provide access to the combined stream through either a psuedo tty, or a telenet port.<br />
<br />
# Download the snserial tool from http://khepri.openbios.org/~jcrouse/snserial-1.0.tar.gz.<br />
# Extract it: ''tar -zxvf snserial-1.0.tar.gz''<br />
# Build it: ''cd snserial/; make''<br />
<br />
Before running the tool, make sure that you have enabled the serial pipes as detailed above.<br />
<br />
To enable serial through a pseudo TTY, start your simulation and type ''./snserial comX'' in another Linux terminal window (where X is 1 or 2). The program will respond with:<br />
<br />
SimNow Serial pipe Muxer<br />
<br />
Connection established.<br />
Type 'target remote /dev/pts/2' in GDB to connect.<br />
(Press CTRL-C to exit)<br />
<br />
You can now connect your serial application (minicom, or GDB for debugging) to the specified pseudo-tty.<br />
<br />
To enable serial interaction through telnet, start the simulation and type ''./snserial -t comX''. The program will respond with:<br />
<br />
SimNow Serial pipe Muxer<br />
<br />
COM 1: Listening on port 9000<br />
(Press CTRL-C to exit)<br />
<br />
You can now connect to the serial stream by typing 'telnet localhost 9000' in a Linux terminal window.<br />
<br />
'''Note:''' It is a quirk of SimNow that the pipes are not created until the simulation for the BSD is started for the first time. Make sure you start the simulation before running ''snserial'', otherwise you will see this: ''Couldn't stat /home/<user>/.simnow/com1/simnow_out: No such file or directory.'' The best course of action is to start the simulation quickly, attach the snserial program, and then restart the simulation to see the early serial output.<br />
<br />
== Add disks == <br />
#Hit the Stop Simulation button if the simulation is running<br />
##File->Set IDE Primary Master Image<br />
###Browse to your hard drive (.HDD) image<br />
##File->Set IDE Secondary Master Image <br />
###Browse to a CD (.ISO) image<br />
#Hit Run Simulation again<br />
<br />
You should get output from the serial port scrolling in one terminal, and be able to watch the VGA output in the main window.<br />
<br />
If you used buildrom to get a BIOS image with coreboot + LAB, you'll end up at a linux prompt where you can mount the disks, etc.<br />
<br />
{{Cc-by-sa-3.0}}</div>VincentLimhttps://www.coreboot.org/index.php?title=AMD_SimNow&diff=8361AMD SimNow2009-04-20T20:16:10Z<p>VincentLim: /* Run SimNow */</p>
<hr />
<div>These are the steps I use to download, install, and use the AMD SimNow simulator.<br />
You may not want to do exactly what I did, but it should get you started.<br />
There is PDF documentation that you can download on the same page as the simulator. <br />
== Build a ROM image for SimNow (Skip this step if you have your own Bios you want to use)==<br />
# make sure iasl tool is available<br />
# Choose Payload Configuration<br />
## Desired Payload is FILO<br />
## Download the latest version of FILO from Subversion with<br />
##''svn co svn://coreboot.org/filo/trunk/filo''<br />
##'' cd libpayload''<br />
##'' make defconfig''<br />
##'' make''<br />
##'' make DESTDIR=../build install''<br />
##''make menuconfig'' Note: use default configuration.<br />
##''make CC="gcc -m32" LD="ld -b elf32-i386" HOSTCC="gcc" AS="as --32"''<br />
## filo.elf is generated.<br />
# Choose Platform Configuration<br />
## ''svn co svn://coreboot.org/repos/trunk/coreboot-v2'' or go to http://www.coreboot.org/Download_coreboot to download coreboot v2<br />
## ''cd targets/''<br />
## ''./buildtarget amd/serengeti_cheetah/''<br />
## ''cd amd/serengeti_cheetah/serengeti_cheetah/''<br />
## make sure rename filo.elf to payload.elf and copy over to this directory<br />
## ''gmake''<br />
# coreboot.rom is generated.<br />
<br />
== Download SimNow ==<br />
# Download SimNow from [http://developer.amd.com/simnow.jsp AMD's website]<br />
## Create an account<br />
## Accept the license agreement<br />
## Log in.<br />
#Untar the .tar.gz file you download in a convenient place (You'll now have a directory called simnow-linux64-4.5.xpub - new release by April 2009 that eliminate SimNow patch source on coreboot)<br />
#Follow the instructions from the help section "Setting up Linux" for the Simulator<br />
## To get enough "mmap"able virtual address space, make sure you have a /etc/sysctl.conf file and that it contains the following line:<br />
<br />
<pre><nowiki> vm.max_map_count = 1048576 </nowiki></pre><br />
<br />
== Run SimNow ==<br />
#Run ''./simnow'' from the simnow-linux64-4.5.xpub directory<br />
#Inside the SimNow Main Window do File->Open BSD, browse to the simnow-linux64-4.5.xpub/bsds directory and load either cheetah_1p.bsd or cheetah_1pjh.bsd (jh is dual-core)<br />
<pre><nowiki>Now you have a single Opteron socket motherboard with:<br />
AMD-8132 PCI-X controller, <br />
AMD-8111 I/O hub, <br />
and Winbond W83627HF SuperIO.</nowiki></pre> <br />
#Copy your coreboot ROM image to simnow-linux64-4.4.1pub/Images for convenience.<br />
#Open the SimNow Device Window (View->Show Devices)<br />
#Double click on Memory Device #5 (Your BIOS chip)<br />
#Click on the Memory Configuration Tab, and change the Base Address, Size, and File (I use Base Address = fff00000 and Size = 32 because I use a 1 MB image)<br />
#Click OK to save your changes<br />
#Go to the main simulator window and hit Run Simulation (Play button)<br />
<br />
== Serial Port Configuration == <br />
In order to see the console output, go to the terminal you are running ./simnow in. Hit enter. You'll see a simnow> prompt. <br />
# Type ''serial.SetCommPort pipe'' and hit enter.<br />
# Type ''serial.GetCommPort'' and hit enter.<br />
On my machine this returns <br />
path (/home/myles/.simnow/com1), mode (PIPE)<br />
<br />
Open a new terminal and type cat /home/myles/.simnow/com1/simnow_out<br />
If you need to send input to the serial port, echo to /home/myles/.simnow/com1/simnow_in<br />
<br />
=== Using the snserial tool ===<br />
<br />
Alternatively, you can use a tool called 'snserial' to interact with the serial ports. snserial will combine the input and output, and provide access to the combined stream through either a psuedo tty, or a telenet port.<br />
<br />
# Download the snserial tool from http://khepri.openbios.org/~jcrouse/snserial-1.0.tar.gz.<br />
# Extract it: ''tar -zxvf snserial-1.0.tar.gz''<br />
# Build it: ''cd snserial/; make''<br />
<br />
Before running the tool, make sure that you have enabled the serial pipes as detailed above.<br />
<br />
To enable serial through a pseudo TTY, start your simulation and type ''./snserial comX'' in another Linux terminal window (where X is 1 or 2). The program will respond with:<br />
<br />
SimNow Serial pipe Muxer<br />
<br />
Connection established.<br />
Type 'target remote /dev/pts/2' in GDB to connect.<br />
(Press CTRL-C to exit)<br />
<br />
You can now connect your serial application (minicom, or GDB for debugging) to the specified pseudo-tty.<br />
<br />
To enable serial interaction through telnet, start the simulation and type ''./snserial -t comX''. The program will respond with:<br />
<br />
SimNow Serial pipe Muxer<br />
<br />
COM 1: Listening on port 9000<br />
(Press CTRL-C to exit)<br />
<br />
You can now connect to the serial stream by typing 'telnet localhost 9000' in a Linux terminal window.<br />
<br />
'''Note:''' It is a quirk of SimNow that the pipes are not created until the simulation for the BSD is started for the first time. Make sure you start the simulation before running ''snserial'', otherwise you will see this: ''Couldn't stat /home/<user>/.simnow/com1/simnow_out: No such file or directory.'' The best course of action is to start the simulation quickly, attach the snserial program, and then restart the simulation to see the early serial output.<br />
<br />
== Add disks == <br />
#Hit the Stop Simulation button if the simulation is running<br />
##File->Set IDE Primary Master Image<br />
###Browse to your hard drive (.HDD) image<br />
##File->Set IDE Secondary Master Image <br />
###Browse to a CD (.ISO) image<br />
#Hit Run Simulation again<br />
<br />
You should get output from the serial port scrolling in one terminal, and be able to watch the VGA output in the main window.<br />
<br />
If you used buildrom to get a BIOS image with coreboot + LAB, you'll end up at a linux prompt where you can mount the disks, etc.<br />
<br />
{{Cc-by-sa-3.0}}</div>VincentLimhttps://www.coreboot.org/index.php?title=AMD_SimNow&diff=8033AMD SimNow2009-03-09T20:58:32Z<p>VincentLim: /* Download SimNow */</p>
<hr />
<div>These are the steps I use to download, install, and use the AMD SimNow simulator.<br />
You may not want to do exactly what I did, but it should get you started.<br />
There is PDF documentation that you can download on the same page as the simulator. <br />
== Build a ROM image for SimNow (Skip this step if you have your own Bios you want to use)==<br />
# make sure iasl tool is available<br />
# Choose Payload Configuration<br />
## Desired Payload is FILO<br />
## Download the latest version of FILO from Subversion with<br />
##''svn co svn://coreboot.org/filo/trunk/filo''<br />
##'' cd libpayload''<br />
##'' make defconfig''<br />
##'' make''<br />
##'' make DESTDIR=../build install''<br />
##''make menuconfig'' Note: use default configuration.<br />
##''make CC="gcc -m32" LD="ld -b elf32-i386" HOSTCC="gcc" AS="as --32"''<br />
## filo.elf is generated.<br />
# Choose Platform Configuration<br />
## ''svn co svn://coreboot.org/repos/trunk/coreboot-v2'' or go to http://www.coreboot.org/Download_coreboot to download coreboot v2<br />
## ''cd targets/''<br />
## ''./buildtarget amd/serengeti_cheetah/''<br />
## ''cd amd/serengeti_cheetah/serengeti_cheetah/''<br />
## make sure rename filo.elf to payload.elf and copy over to this directory<br />
## ''gmake''<br />
# coreboot.rom is generated.<br />
<br />
== Download SimNow ==<br />
# Download SimNow from [http://developer.amd.com/simnow.jsp AMD's website]<br />
## Create an account<br />
## Accept the license agreement<br />
## Log in.<br />
#Untar the .tar.gz file you download in a convenient place (You'll now have a directory called simnow-linux64-4.5.xpub - new release by April 2009 that eliminate SimNow patch source on coreboot)<br />
#Follow the instructions from the help section "Setting up Linux" for the Simulator<br />
## To get enough "mmap"able virtual address space, make sure you have a /etc/sysctl.conf file and that it contains the following line:<br />
<br />
<pre><nowiki> vm.max_map_count = 1048576 </nowiki></pre><br />
<br />
== Run SimNow ==<br />
#Run ''./simnow'' from the simnow-linux64-4.4.1pub directory<br />
#Inside the SimNow Main Window do File->Open BSD, browse to the simnow-linux64-4.4.1pub/bsds directory and load either cheetah_1p.bsd or cheetah_1pjh.bsd (jh is dual-core)<br />
<pre><nowiki>Now you have a single Opteron socket motherboard with:<br />
AMD-8132 PCI-X controller, <br />
AMD-8111 I/O hub, <br />
and Winbond W83627HF SuperIO.</nowiki></pre> <br />
#Copy your coreboot ROM image to simnow-linux64-4.4.1pub/Images for convenience.<br />
#Open the SimNow Device Window (View->Show Devices)<br />
#Double click on Memory Device #5 (Your BIOS chip)<br />
#Click on the Memory Configuration Tab, and change the Base Address, Size, and File (I use Base Address = fff00000 and Size = 32 because I use a 1 MB image)<br />
#Click OK to save your changes<br />
#Go to the main simulator window and hit Run Simulation (Play button)<br />
<br />
== Serial Port Configuration == <br />
In order to see the console output, go to the terminal you are running ./simnow in. Hit enter. You'll see a simnow> prompt. <br />
# Type ''serial.SetCommPort pipe'' and hit enter.<br />
# Type ''serial.GetCommPort'' and hit enter.<br />
On my machine this returns <br />
path (/home/myles/.simnow/com1), mode (PIPE)<br />
<br />
Open a new terminal and type cat /home/myles/.simnow/com1/simnow_out<br />
If you need to send input to the serial port, echo to /home/myles/.simnow/com1/simnow_in<br />
<br />
=== Using the snserial tool ===<br />
<br />
Alternatively, you can use a tool called 'snserial' to interact with the serial ports. snserial will combine the input and output, and provide access to the combined stream through either a psuedo tty, or a telenet port.<br />
<br />
# Download the snserial tool from http://khepri.openbios.org/~jcrouse/snserial-1.0.tar.gz.<br />
# Extract it: ''tar -zxvf snserial-1.0.tar.gz''<br />
# Build it: ''cd snserial/; make''<br />
<br />
Before running the tool, make sure that you have enabled the serial pipes as detailed above.<br />
<br />
To enable serial through a pseudo TTY, start your simulation and type ''./snserial comX'' in another Linux terminal window (where X is 1 or 2). The program will respond with:<br />
<br />
SimNow Serial pipe Muxer<br />
<br />
Connection established.<br />
Type 'target remote /dev/pts/2' in GDB to connect.<br />
(Press CTRL-C to exit)<br />
<br />
You can now connect your serial application (minicom, or GDB for debugging) to the specified pseudo-tty.<br />
<br />
To enable serial interaction through telnet, start the simulation and type ''./snserial -t comX''. The program will respond with:<br />
<br />
SimNow Serial pipe Muxer<br />
<br />
COM 1: Listening on port 9000<br />
(Press CTRL-C to exit)<br />
<br />
You can now connect to the serial stream by typing 'telnet localhost 9000' in a Linux terminal window.<br />
<br />
'''Note:''' It is a quirk of SimNow that the pipes are not created until the simulation for the BSD is started for the first time. Make sure you start the simulation before running ''snserial'', otherwise you will see this: ''Couldn't stat /home/<user>/.simnow/com1/simnow_out: No such file or directory.'' The best course of action is to start the simulation quickly, attach the snserial program, and then restart the simulation to see the early serial output.<br />
<br />
== Add disks == <br />
#Hit the Stop Simulation button if the simulation is running<br />
##File->Set IDE Primary Master Image<br />
###Browse to your hard drive (.HDD) image<br />
##File->Set IDE Secondary Master Image <br />
###Browse to a CD (.ISO) image<br />
#Hit Run Simulation again<br />
<br />
You should get output from the serial port scrolling in one terminal, and be able to watch the VGA output in the main window.<br />
<br />
If you used buildrom to get a BIOS image with coreboot + LAB, you'll end up at a linux prompt where you can mount the disks, etc.<br />
<br />
{{Cc-by-sa-3.0}}</div>VincentLimhttps://www.coreboot.org/index.php?title=AMD_SimNow&diff=8032AMD SimNow2009-03-09T19:37:23Z<p>VincentLim: /* Build a ROM image for SimNow (Skip this step if you have your own Bios you want to use) */</p>
<hr />
<div>These are the steps I use to download, install, and use the AMD SimNow simulator.<br />
You may not want to do exactly what I did, but it should get you started.<br />
There is PDF documentation that you can download on the same page as the simulator. <br />
== Build a ROM image for SimNow (Skip this step if you have your own Bios you want to use)==<br />
# make sure iasl tool is available<br />
# Choose Payload Configuration<br />
## Desired Payload is FILO<br />
## Download the latest version of FILO from Subversion with<br />
##''svn co svn://coreboot.org/filo/trunk/filo''<br />
##'' cd libpayload''<br />
##'' make defconfig''<br />
##'' make''<br />
##'' make DESTDIR=../build install''<br />
##''make menuconfig'' Note: use default configuration.<br />
##''make CC="gcc -m32" LD="ld -b elf32-i386" HOSTCC="gcc" AS="as --32"''<br />
## filo.elf is generated.<br />
# Choose Platform Configuration<br />
## ''svn co svn://coreboot.org/repos/trunk/coreboot-v2'' or go to http://www.coreboot.org/Download_coreboot to download coreboot v2<br />
## ''cd targets/''<br />
## ''./buildtarget amd/serengeti_cheetah/''<br />
## ''cd amd/serengeti_cheetah/serengeti_cheetah/''<br />
## make sure rename filo.elf to payload.elf and copy over to this directory<br />
## ''gmake''<br />
# coreboot.rom is generated.<br />
<br />
== Download SimNow ==<br />
# Download SimNow from [http://developer.amd.com/simnow.jsp AMD's website]<br />
## Create an account<br />
## Accept the license agreement<br />
## Log in.<br />
#Untar the .tar.gz file you download in a convenient place (You'll now have a directory called simnow-linux64-4.4.xpub)<br />
#Follow the instructions from the help section 2.4 Setting up Linux for the Simulator<br />
## To get enough "mmap"able virtual address space, make sure you have a /etc/sysctl.conf file and that it contains the following line:<br />
<br />
<pre><nowiki> vm.max_map_count = 1048576 </nowiki></pre><br />
<br />
== Run SimNow ==<br />
#Run ''./simnow'' from the simnow-linux64-4.4.1pub directory<br />
#Inside the SimNow Main Window do File->Open BSD, browse to the simnow-linux64-4.4.1pub/bsds directory and load either cheetah_1p.bsd or cheetah_1pjh.bsd (jh is dual-core)<br />
<pre><nowiki>Now you have a single Opteron socket motherboard with:<br />
AMD-8132 PCI-X controller, <br />
AMD-8111 I/O hub, <br />
and Winbond W83627HF SuperIO.</nowiki></pre> <br />
#Copy your coreboot ROM image to simnow-linux64-4.4.1pub/Images for convenience.<br />
#Open the SimNow Device Window (View->Show Devices)<br />
#Double click on Memory Device #5 (Your BIOS chip)<br />
#Click on the Memory Configuration Tab, and change the Base Address, Size, and File (I use Base Address = fff00000 and Size = 32 because I use a 1 MB image)<br />
#Click OK to save your changes<br />
#Go to the main simulator window and hit Run Simulation (Play button)<br />
<br />
== Serial Port Configuration == <br />
In order to see the console output, go to the terminal you are running ./simnow in. Hit enter. You'll see a simnow> prompt. <br />
# Type ''serial.SetCommPort pipe'' and hit enter.<br />
# Type ''serial.GetCommPort'' and hit enter.<br />
On my machine this returns <br />
path (/home/myles/.simnow/com1), mode (PIPE)<br />
<br />
Open a new terminal and type cat /home/myles/.simnow/com1/simnow_out<br />
If you need to send input to the serial port, echo to /home/myles/.simnow/com1/simnow_in<br />
<br />
=== Using the snserial tool ===<br />
<br />
Alternatively, you can use a tool called 'snserial' to interact with the serial ports. snserial will combine the input and output, and provide access to the combined stream through either a psuedo tty, or a telenet port.<br />
<br />
# Download the snserial tool from http://khepri.openbios.org/~jcrouse/snserial-1.0.tar.gz.<br />
# Extract it: ''tar -zxvf snserial-1.0.tar.gz''<br />
# Build it: ''cd snserial/; make''<br />
<br />
Before running the tool, make sure that you have enabled the serial pipes as detailed above.<br />
<br />
To enable serial through a pseudo TTY, start your simulation and type ''./snserial comX'' in another Linux terminal window (where X is 1 or 2). The program will respond with:<br />
<br />
SimNow Serial pipe Muxer<br />
<br />
Connection established.<br />
Type 'target remote /dev/pts/2' in GDB to connect.<br />
(Press CTRL-C to exit)<br />
<br />
You can now connect your serial application (minicom, or GDB for debugging) to the specified pseudo-tty.<br />
<br />
To enable serial interaction through telnet, start the simulation and type ''./snserial -t comX''. The program will respond with:<br />
<br />
SimNow Serial pipe Muxer<br />
<br />
COM 1: Listening on port 9000<br />
(Press CTRL-C to exit)<br />
<br />
You can now connect to the serial stream by typing 'telnet localhost 9000' in a Linux terminal window.<br />
<br />
'''Note:''' It is a quirk of SimNow that the pipes are not created until the simulation for the BSD is started for the first time. Make sure you start the simulation before running ''snserial'', otherwise you will see this: ''Couldn't stat /home/<user>/.simnow/com1/simnow_out: No such file or directory.'' The best course of action is to start the simulation quickly, attach the snserial program, and then restart the simulation to see the early serial output.<br />
<br />
== Add disks == <br />
#Hit the Stop Simulation button if the simulation is running<br />
##File->Set IDE Primary Master Image<br />
###Browse to your hard drive (.HDD) image<br />
##File->Set IDE Secondary Master Image <br />
###Browse to a CD (.ISO) image<br />
#Hit Run Simulation again<br />
<br />
You should get output from the serial port scrolling in one terminal, and be able to watch the VGA output in the main window.<br />
<br />
If you used buildrom to get a BIOS image with coreboot + LAB, you'll end up at a linux prompt where you can mount the disks, etc.<br />
<br />
{{Cc-by-sa-3.0}}</div>VincentLimhttps://www.coreboot.org/index.php?title=AMD_SimNow&diff=8031AMD SimNow2009-03-09T19:30:46Z<p>VincentLim: /* Build a ROM image for SimNow (Skip this step if you have your own Bios you want to use) */</p>
<hr />
<div>These are the steps I use to download, install, and use the AMD SimNow simulator.<br />
You may not want to do exactly what I did, but it should get you started.<br />
There is PDF documentation that you can download on the same page as the simulator. <br />
== Build a ROM image for SimNow (Skip this step if you have your own Bios you want to use)==<br />
# make sure iasl tool is available<br />
# Choose Payload Configuration<br />
## Desired Payload is FILO<br />
## Download the latest version of FILO from Subversion with<br />
##''svn co svn://coreboot.org/filo/trunk/filo''<br />
##'' cd libpayload''<br />
##'' make defconfig''<br />
##'' make''<br />
##'' make DESTDIR=../build install''<br />
##''make CC="gcc -m32" LD="ld -b elf32-i386" HOSTCC="gcc" AS="as --32"''<br />
## filo.elf is generated.<br />
# Choose Platform Configuration<br />
## ''svn co svn://coreboot.org/repos/trunk/coreboot-v2'' or go to http://www.coreboot.org/Download_coreboot to download coreboot v2<br />
## ''cd targets/''<br />
## ''./buildtarget amd/serengeti_cheetah/''<br />
## ''cd amd/serengeti_cheetah/serengeti_cheetah/''<br />
## make sure rename filo.elf to payload.elf and copy over to this directory<br />
## ''gmake''<br />
# coreboot.rom is generated.<br />
<br />
== Download SimNow ==<br />
# Download SimNow from [http://developer.amd.com/simnow.jsp AMD's website]<br />
## Create an account<br />
## Accept the license agreement<br />
## Log in.<br />
#Untar the .tar.gz file you download in a convenient place (You'll now have a directory called simnow-linux64-4.4.xpub)<br />
#Follow the instructions from the help section 2.4 Setting up Linux for the Simulator<br />
## To get enough "mmap"able virtual address space, make sure you have a /etc/sysctl.conf file and that it contains the following line:<br />
<br />
<pre><nowiki> vm.max_map_count = 1048576 </nowiki></pre><br />
<br />
== Run SimNow ==<br />
#Run ''./simnow'' from the simnow-linux64-4.4.1pub directory<br />
#Inside the SimNow Main Window do File->Open BSD, browse to the simnow-linux64-4.4.1pub/bsds directory and load either cheetah_1p.bsd or cheetah_1pjh.bsd (jh is dual-core)<br />
<pre><nowiki>Now you have a single Opteron socket motherboard with:<br />
AMD-8132 PCI-X controller, <br />
AMD-8111 I/O hub, <br />
and Winbond W83627HF SuperIO.</nowiki></pre> <br />
#Copy your coreboot ROM image to simnow-linux64-4.4.1pub/Images for convenience.<br />
#Open the SimNow Device Window (View->Show Devices)<br />
#Double click on Memory Device #5 (Your BIOS chip)<br />
#Click on the Memory Configuration Tab, and change the Base Address, Size, and File (I use Base Address = fff00000 and Size = 32 because I use a 1 MB image)<br />
#Click OK to save your changes<br />
#Go to the main simulator window and hit Run Simulation (Play button)<br />
<br />
== Serial Port Configuration == <br />
In order to see the console output, go to the terminal you are running ./simnow in. Hit enter. You'll see a simnow> prompt. <br />
# Type ''serial.SetCommPort pipe'' and hit enter.<br />
# Type ''serial.GetCommPort'' and hit enter.<br />
On my machine this returns <br />
path (/home/myles/.simnow/com1), mode (PIPE)<br />
<br />
Open a new terminal and type cat /home/myles/.simnow/com1/simnow_out<br />
If you need to send input to the serial port, echo to /home/myles/.simnow/com1/simnow_in<br />
<br />
=== Using the snserial tool ===<br />
<br />
Alternatively, you can use a tool called 'snserial' to interact with the serial ports. snserial will combine the input and output, and provide access to the combined stream through either a psuedo tty, or a telenet port.<br />
<br />
# Download the snserial tool from http://khepri.openbios.org/~jcrouse/snserial-1.0.tar.gz.<br />
# Extract it: ''tar -zxvf snserial-1.0.tar.gz''<br />
# Build it: ''cd snserial/; make''<br />
<br />
Before running the tool, make sure that you have enabled the serial pipes as detailed above.<br />
<br />
To enable serial through a pseudo TTY, start your simulation and type ''./snserial comX'' in another Linux terminal window (where X is 1 or 2). The program will respond with:<br />
<br />
SimNow Serial pipe Muxer<br />
<br />
Connection established.<br />
Type 'target remote /dev/pts/2' in GDB to connect.<br />
(Press CTRL-C to exit)<br />
<br />
You can now connect your serial application (minicom, or GDB for debugging) to the specified pseudo-tty.<br />
<br />
To enable serial interaction through telnet, start the simulation and type ''./snserial -t comX''. The program will respond with:<br />
<br />
SimNow Serial pipe Muxer<br />
<br />
COM 1: Listening on port 9000<br />
(Press CTRL-C to exit)<br />
<br />
You can now connect to the serial stream by typing 'telnet localhost 9000' in a Linux terminal window.<br />
<br />
'''Note:''' It is a quirk of SimNow that the pipes are not created until the simulation for the BSD is started for the first time. Make sure you start the simulation before running ''snserial'', otherwise you will see this: ''Couldn't stat /home/<user>/.simnow/com1/simnow_out: No such file or directory.'' The best course of action is to start the simulation quickly, attach the snserial program, and then restart the simulation to see the early serial output.<br />
<br />
== Add disks == <br />
#Hit the Stop Simulation button if the simulation is running<br />
##File->Set IDE Primary Master Image<br />
###Browse to your hard drive (.HDD) image<br />
##File->Set IDE Secondary Master Image <br />
###Browse to a CD (.ISO) image<br />
#Hit Run Simulation again<br />
<br />
You should get output from the serial port scrolling in one terminal, and be able to watch the VGA output in the main window.<br />
<br />
If you used buildrom to get a BIOS image with coreboot + LAB, you'll end up at a linux prompt where you can mount the disks, etc.<br />
<br />
{{Cc-by-sa-3.0}}</div>VincentLimhttps://www.coreboot.org/index.php?title=AMD_SimNow&diff=8030AMD SimNow2009-03-09T03:09:51Z<p>VincentLim: /* Add disks */</p>
<hr />
<div>These are the steps I use to download, install, and use the AMD SimNow simulator.<br />
You may not want to do exactly what I did, but it should get you started.<br />
There is PDF documentation that you can download on the same page as the simulator. <br />
== Build a ROM image for SimNow (Skip this step if you have your own Bios you want to use)==<br />
# install Intel's ASL iasl tool<br />
# ''svn co svn://coreboot.org/buildrom/''<br />
# ''cd buildrom/buildrom-devel/''<br />
# ''make menuconfig''<br />
## Choose Platform Configuration<br />
### Vendor AMD<br />
### Platform Target AMD Serengeti-Cheetah<br />
### Select Build for SimNow emulator<br />
## Choose Payload Configuration<br />
### Desired Payload Linux-As-Bootloader<br />
### Desired Target Architecture 64-bit<br />
### LAB Configuration<br />
#### Select Busybox but not reduced-size kexec tools<br />
## Save and Exit<br />
# ''make''<br />
# Enjoy your amd_serengeti_cheetah.rom file<br />
== Download SimNow ==<br />
# Download SimNow from [http://developer.amd.com/simnow.jsp AMD's website]<br />
## Create an account<br />
## Accept the license agreement<br />
## Log in.<br />
#Untar the .tar.gz file you download in a convenient place (You'll now have a directory called simnow-linux64-4.4.xpub)<br />
#Follow the instructions from the help section 2.4 Setting up Linux for the Simulator<br />
## To get enough "mmap"able virtual address space, make sure you have a /etc/sysctl.conf file and that it contains the following line:<br />
<br />
<pre><nowiki> vm.max_map_count = 1048576 </nowiki></pre><br />
<br />
== Run SimNow ==<br />
#Run ''./simnow'' from the simnow-linux64-4.4.1pub directory<br />
#Inside the SimNow Main Window do File->Open BSD, browse to the simnow-linux64-4.4.1pub/bsds directory and load either cheetah_1p.bsd or cheetah_1pjh.bsd (jh is dual-core)<br />
<pre><nowiki>Now you have a single Opteron socket motherboard with:<br />
AMD-8132 PCI-X controller, <br />
AMD-8111 I/O hub, <br />
and Winbond W83627HF SuperIO.</nowiki></pre> <br />
#Copy your coreboot ROM image to simnow-linux64-4.4.1pub/Images for convenience.<br />
#Open the SimNow Device Window (View->Show Devices)<br />
#Double click on Memory Device #5 (Your BIOS chip)<br />
#Click on the Memory Configuration Tab, and change the Base Address, Size, and File (I use Base Address = fff00000 and Size = 32 because I use a 1 MB image)<br />
#Click OK to save your changes<br />
#Go to the main simulator window and hit Run Simulation (Play button)<br />
<br />
== Serial Port Configuration == <br />
In order to see the console output, go to the terminal you are running ./simnow in. Hit enter. You'll see a simnow> prompt. <br />
# Type ''serial.SetCommPort pipe'' and hit enter.<br />
# Type ''serial.GetCommPort'' and hit enter.<br />
On my machine this returns <br />
path (/home/myles/.simnow/com1), mode (PIPE)<br />
<br />
Open a new terminal and type cat /home/myles/.simnow/com1/simnow_out<br />
If you need to send input to the serial port, echo to /home/myles/.simnow/com1/simnow_in<br />
<br />
=== Using the snserial tool ===<br />
<br />
Alternatively, you can use a tool called 'snserial' to interact with the serial ports. snserial will combine the input and output, and provide access to the combined stream through either a psuedo tty, or a telenet port.<br />
<br />
# Download the snserial tool from http://khepri.openbios.org/~jcrouse/snserial-1.0.tar.gz.<br />
# Extract it: ''tar -zxvf snserial-1.0.tar.gz''<br />
# Build it: ''cd snserial/; make''<br />
<br />
Before running the tool, make sure that you have enabled the serial pipes as detailed above.<br />
<br />
To enable serial through a pseudo TTY, start your simulation and type ''./snserial comX'' in another Linux terminal window (where X is 1 or 2). The program will respond with:<br />
<br />
SimNow Serial pipe Muxer<br />
<br />
Connection established.<br />
Type 'target remote /dev/pts/2' in GDB to connect.<br />
(Press CTRL-C to exit)<br />
<br />
You can now connect your serial application (minicom, or GDB for debugging) to the specified pseudo-tty.<br />
<br />
To enable serial interaction through telnet, start the simulation and type ''./snserial -t comX''. The program will respond with:<br />
<br />
SimNow Serial pipe Muxer<br />
<br />
COM 1: Listening on port 9000<br />
(Press CTRL-C to exit)<br />
<br />
You can now connect to the serial stream by typing 'telnet localhost 9000' in a Linux terminal window.<br />
<br />
'''Note:''' It is a quirk of SimNow that the pipes are not created until the simulation for the BSD is started for the first time. Make sure you start the simulation before running ''snserial'', otherwise you will see this: ''Couldn't stat /home/<user>/.simnow/com1/simnow_out: No such file or directory.'' The best course of action is to start the simulation quickly, attach the snserial program, and then restart the simulation to see the early serial output.<br />
<br />
== Add disks == <br />
#Hit the Stop Simulation button if the simulation is running<br />
##File->Set IDE Primary Master Image<br />
###Browse to your hard drive (.HDD) image<br />
##File->Set IDE Secondary Master Image <br />
###Browse to a CD (.ISO) image<br />
#Hit Run Simulation again<br />
<br />
You should get output from the serial port scrolling in one terminal, and be able to watch the VGA output in the main window.<br />
<br />
If you used buildrom to get a BIOS image with coreboot + LAB, you'll end up at a linux prompt where you can mount the disks, etc.<br />
<br />
{{Cc-by-sa-3.0}}</div>VincentLimhttps://www.coreboot.org/index.php?title=AMD_SimNow&diff=8029AMD SimNow2009-03-09T03:06:06Z<p>VincentLim: /* Run SimNow */</p>
<hr />
<div>These are the steps I use to download, install, and use the AMD SimNow simulator.<br />
You may not want to do exactly what I did, but it should get you started.<br />
There is PDF documentation that you can download on the same page as the simulator. <br />
== Build a ROM image for SimNow (Skip this step if you have your own Bios you want to use)==<br />
# install Intel's ASL iasl tool<br />
# ''svn co svn://coreboot.org/buildrom/''<br />
# ''cd buildrom/buildrom-devel/''<br />
# ''make menuconfig''<br />
## Choose Platform Configuration<br />
### Vendor AMD<br />
### Platform Target AMD Serengeti-Cheetah<br />
### Select Build for SimNow emulator<br />
## Choose Payload Configuration<br />
### Desired Payload Linux-As-Bootloader<br />
### Desired Target Architecture 64-bit<br />
### LAB Configuration<br />
#### Select Busybox but not reduced-size kexec tools<br />
## Save and Exit<br />
# ''make''<br />
# Enjoy your amd_serengeti_cheetah.rom file<br />
== Download SimNow ==<br />
# Download SimNow from [http://developer.amd.com/simnow.jsp AMD's website]<br />
## Create an account<br />
## Accept the license agreement<br />
## Log in.<br />
#Untar the .tar.gz file you download in a convenient place (You'll now have a directory called simnow-linux64-4.4.xpub)<br />
#Follow the instructions from the help section 2.4 Setting up Linux for the Simulator<br />
## To get enough "mmap"able virtual address space, make sure you have a /etc/sysctl.conf file and that it contains the following line:<br />
<br />
<pre><nowiki> vm.max_map_count = 1048576 </nowiki></pre><br />
<br />
== Run SimNow ==<br />
#Run ''./simnow'' from the simnow-linux64-4.4.1pub directory<br />
#Inside the SimNow Main Window do File->Open BSD, browse to the simnow-linux64-4.4.1pub/bsds directory and load either cheetah_1p.bsd or cheetah_1pjh.bsd (jh is dual-core)<br />
<pre><nowiki>Now you have a single Opteron socket motherboard with:<br />
AMD-8132 PCI-X controller, <br />
AMD-8111 I/O hub, <br />
and Winbond W83627HF SuperIO.</nowiki></pre> <br />
#Copy your coreboot ROM image to simnow-linux64-4.4.1pub/Images for convenience.<br />
#Open the SimNow Device Window (View->Show Devices)<br />
#Double click on Memory Device #5 (Your BIOS chip)<br />
#Click on the Memory Configuration Tab, and change the Base Address, Size, and File (I use Base Address = fff00000 and Size = 32 because I use a 1 MB image)<br />
#Click OK to save your changes<br />
#Go to the main simulator window and hit Run Simulation (Play button)<br />
<br />
== Serial Port Configuration == <br />
In order to see the console output, go to the terminal you are running ./simnow in. Hit enter. You'll see a simnow> prompt. <br />
# Type ''serial.SetCommPort pipe'' and hit enter.<br />
# Type ''serial.GetCommPort'' and hit enter.<br />
On my machine this returns <br />
path (/home/myles/.simnow/com1), mode (PIPE)<br />
<br />
Open a new terminal and type cat /home/myles/.simnow/com1/simnow_out<br />
If you need to send input to the serial port, echo to /home/myles/.simnow/com1/simnow_in<br />
<br />
=== Using the snserial tool ===<br />
<br />
Alternatively, you can use a tool called 'snserial' to interact with the serial ports. snserial will combine the input and output, and provide access to the combined stream through either a psuedo tty, or a telenet port.<br />
<br />
# Download the snserial tool from http://khepri.openbios.org/~jcrouse/snserial-1.0.tar.gz.<br />
# Extract it: ''tar -zxvf snserial-1.0.tar.gz''<br />
# Build it: ''cd snserial/; make''<br />
<br />
Before running the tool, make sure that you have enabled the serial pipes as detailed above.<br />
<br />
To enable serial through a pseudo TTY, start your simulation and type ''./snserial comX'' in another Linux terminal window (where X is 1 or 2). The program will respond with:<br />
<br />
SimNow Serial pipe Muxer<br />
<br />
Connection established.<br />
Type 'target remote /dev/pts/2' in GDB to connect.<br />
(Press CTRL-C to exit)<br />
<br />
You can now connect your serial application (minicom, or GDB for debugging) to the specified pseudo-tty.<br />
<br />
To enable serial interaction through telnet, start the simulation and type ''./snserial -t comX''. The program will respond with:<br />
<br />
SimNow Serial pipe Muxer<br />
<br />
COM 1: Listening on port 9000<br />
(Press CTRL-C to exit)<br />
<br />
You can now connect to the serial stream by typing 'telnet localhost 9000' in a Linux terminal window.<br />
<br />
'''Note:''' It is a quirk of SimNow that the pipes are not created until the simulation for the BSD is started for the first time. Make sure you start the simulation before running ''snserial'', otherwise you will see this: ''Couldn't stat /home/<user>/.simnow/com1/simnow_out: No such file or directory.'' The best course of action is to start the simulation quickly, attach the snserial program, and then restart the simulation to see the early serial output.<br />
<br />
== Add disks == <br />
#Hit the Stop Simulation button if the simulation is running<br />
##File->Set IDE Primary Master Image<br />
###Browse to your hard drive image<br />
##File->Set IDE Secondary Master Image <br />
###Browse to a CD .iso<br />
#Hit Run Simulation again<br />
<br />
You should get output from the serial port scrolling in one terminal, and be able to watch the VGA output in the main window.<br />
<br />
If you used buildrom to get a BIOS image with coreboot + LAB, you'll end up at a linux prompt where you can mount the disks, etc.<br />
<br />
{{Cc-by-sa-3.0}}</div>VincentLimhttps://www.coreboot.org/index.php?title=AMD_SimNow&diff=8028AMD SimNow2009-03-09T02:56:29Z<p>VincentLim: /* Download SimNow */</p>
<hr />
<div>These are the steps I use to download, install, and use the AMD SimNow simulator.<br />
You may not want to do exactly what I did, but it should get you started.<br />
There is PDF documentation that you can download on the same page as the simulator. <br />
== Build a ROM image for SimNow (Skip this step if you have your own Bios you want to use)==<br />
# install Intel's ASL iasl tool<br />
# ''svn co svn://coreboot.org/buildrom/''<br />
# ''cd buildrom/buildrom-devel/''<br />
# ''make menuconfig''<br />
## Choose Platform Configuration<br />
### Vendor AMD<br />
### Platform Target AMD Serengeti-Cheetah<br />
### Select Build for SimNow emulator<br />
## Choose Payload Configuration<br />
### Desired Payload Linux-As-Bootloader<br />
### Desired Target Architecture 64-bit<br />
### LAB Configuration<br />
#### Select Busybox but not reduced-size kexec tools<br />
## Save and Exit<br />
# ''make''<br />
# Enjoy your amd_serengeti_cheetah.rom file<br />
== Download SimNow ==<br />
# Download SimNow from [http://developer.amd.com/simnow.jsp AMD's website]<br />
## Create an account<br />
## Accept the license agreement<br />
## Log in.<br />
#Untar the .tar.gz file you download in a convenient place (You'll now have a directory called simnow-linux64-4.4.xpub)<br />
#Follow the instructions from the help section 2.4 Setting up Linux for the Simulator<br />
## To get enough "mmap"able virtual address space, make sure you have a /etc/sysctl.conf file and that it contains the following line:<br />
<br />
<pre><nowiki> vm.max_map_count = 1048576 </nowiki></pre><br />
<br />
== Run SimNow ==<br />
#Run ''./simnow'' from the simnow-linux64-4.4.1pub directory<br />
#Inside the SimNow Main Window do File->Open BSD, browse to the simnow-linux64-4.4.1pub/bsds directory and load either cheetah_1p.bsd or cheetah_1pjh.bsd (jh is dual-core)<pre><nowiki>Now you have a single Opteron socket motherboard with an AMD-8132 PCI-X controller, an AMD-8111 I/O hub, and a Winbond W83627HF SuperIO.</nowiki></pre> <br />
#Copy your coreboot ROM image to simnow-linux64-4.4.1pub/Images for convenience.<br />
#Open the SimNow Device Window (View->Show Devices)<br />
#Double click on Memory Device #5 (Your BIOS chip)<br />
#Click on the Memory Configuration Tab, and change the Base Address, Size, and File (I use Base Address = fff00000 and Size = 32 because I use a 1 MB image)<br />
#Click OK to save your changes<br />
#Go to the main simulator window and hit Run Simulation (Play button)<br />
<br />
== Serial Port Configuration == <br />
In order to see the console output, go to the terminal you are running ./simnow in. Hit enter. You'll see a simnow> prompt. <br />
# Type ''serial.SetCommPort pipe'' and hit enter.<br />
# Type ''serial.GetCommPort'' and hit enter.<br />
On my machine this returns <br />
path (/home/myles/.simnow/com1), mode (PIPE)<br />
<br />
Open a new terminal and type cat /home/myles/.simnow/com1/simnow_out<br />
If you need to send input to the serial port, echo to /home/myles/.simnow/com1/simnow_in<br />
<br />
=== Using the snserial tool ===<br />
<br />
Alternatively, you can use a tool called 'snserial' to interact with the serial ports. snserial will combine the input and output, and provide access to the combined stream through either a psuedo tty, or a telenet port.<br />
<br />
# Download the snserial tool from http://khepri.openbios.org/~jcrouse/snserial-1.0.tar.gz.<br />
# Extract it: ''tar -zxvf snserial-1.0.tar.gz''<br />
# Build it: ''cd snserial/; make''<br />
<br />
Before running the tool, make sure that you have enabled the serial pipes as detailed above.<br />
<br />
To enable serial through a pseudo TTY, start your simulation and type ''./snserial comX'' in another Linux terminal window (where X is 1 or 2). The program will respond with:<br />
<br />
SimNow Serial pipe Muxer<br />
<br />
Connection established.<br />
Type 'target remote /dev/pts/2' in GDB to connect.<br />
(Press CTRL-C to exit)<br />
<br />
You can now connect your serial application (minicom, or GDB for debugging) to the specified pseudo-tty.<br />
<br />
To enable serial interaction through telnet, start the simulation and type ''./snserial -t comX''. The program will respond with:<br />
<br />
SimNow Serial pipe Muxer<br />
<br />
COM 1: Listening on port 9000<br />
(Press CTRL-C to exit)<br />
<br />
You can now connect to the serial stream by typing 'telnet localhost 9000' in a Linux terminal window.<br />
<br />
'''Note:''' It is a quirk of SimNow that the pipes are not created until the simulation for the BSD is started for the first time. Make sure you start the simulation before running ''snserial'', otherwise you will see this: ''Couldn't stat /home/<user>/.simnow/com1/simnow_out: No such file or directory.'' The best course of action is to start the simulation quickly, attach the snserial program, and then restart the simulation to see the early serial output.<br />
<br />
== Add disks == <br />
#Hit the Stop Simulation button if the simulation is running<br />
##File->Set IDE Primary Master Image<br />
###Browse to your hard drive image<br />
##File->Set IDE Secondary Master Image <br />
###Browse to a CD .iso<br />
#Hit Run Simulation again<br />
<br />
You should get output from the serial port scrolling in one terminal, and be able to watch the VGA output in the main window.<br />
<br />
If you used buildrom to get a BIOS image with coreboot + LAB, you'll end up at a linux prompt where you can mount the disks, etc.<br />
<br />
{{Cc-by-sa-3.0}}</div>VincentLimhttps://www.coreboot.org/index.php?title=AMD_SimNow&diff=8027AMD SimNow2009-03-09T02:45:09Z<p>VincentLim: /* Download SimNow */</p>
<hr />
<div>These are the steps I use to download, install, and use the AMD SimNow simulator.<br />
You may not want to do exactly what I did, but it should get you started.<br />
There is PDF documentation that you can download on the same page as the simulator. <br />
== Build a ROM image for SimNow (Skip this step if you have your own Bios you want to use)==<br />
# install Intel's ASL iasl tool<br />
# ''svn co svn://coreboot.org/buildrom/''<br />
# ''cd buildrom/buildrom-devel/''<br />
# ''make menuconfig''<br />
## Choose Platform Configuration<br />
### Vendor AMD<br />
### Platform Target AMD Serengeti-Cheetah<br />
### Select Build for SimNow emulator<br />
## Choose Payload Configuration<br />
### Desired Payload Linux-As-Bootloader<br />
### Desired Target Architecture 64-bit<br />
### LAB Configuration<br />
#### Select Busybox but not reduced-size kexec tools<br />
## Save and Exit<br />
# ''make''<br />
# Enjoy your amd_serengeti_cheetah.rom file<br />
== Download SimNow ==<br />
# Download SimNow from [http://developer.amd.com/simnow.jsp AMD's website]<br />
## Create an account<br />
## Accept the license agreement<br />
## Log in.<br />
#Untar the .tar.gz file you download in a convenient place (You'll now have a directory called simnow-linux64-4.4.1pub)<br />
#Follow the instructions from the help section 2.4 Setting up Linux for the Simulator<br />
## To get enough "mmap"able virtual address space, make sure you have a /etc/sysctl.conf file and that it contains the following line:<br />
<br />
<pre><nowiki> vm.max_map_count = 1048576 </nowiki></pre><br />
<br />
== Run SimNow ==<br />
#Run ''./simnow'' from the simnow-linux64-4.4.1pub directory<br />
#Inside the SimNow Main Window do File->Open BSD, browse to the simnow-linux64-4.4.1pub/bsds directory and load either cheetah_1p.bsd or cheetah_1pjh.bsd (jh is dual-core)<pre><nowiki>Now you have a single Opteron socket motherboard with an AMD-8132 PCI-X controller, an AMD-8111 I/O hub, and a Winbond W83627HF SuperIO.</nowiki></pre> <br />
#Copy your coreboot ROM image to simnow-linux64-4.4.1pub/Images for convenience.<br />
#Open the SimNow Device Window (View->Show Devices)<br />
#Double click on Memory Device #5 (Your BIOS chip)<br />
#Click on the Memory Configuration Tab, and change the Base Address, Size, and File (I use Base Address = fff00000 and Size = 32 because I use a 1 MB image)<br />
#Click OK to save your changes<br />
#Go to the main simulator window and hit Run Simulation (Play button)<br />
<br />
== Serial Port Configuration == <br />
In order to see the console output, go to the terminal you are running ./simnow in. Hit enter. You'll see a simnow> prompt. <br />
# Type ''serial.SetCommPort pipe'' and hit enter.<br />
# Type ''serial.GetCommPort'' and hit enter.<br />
On my machine this returns <br />
path (/home/myles/.simnow/com1), mode (PIPE)<br />
<br />
Open a new terminal and type cat /home/myles/.simnow/com1/simnow_out<br />
If you need to send input to the serial port, echo to /home/myles/.simnow/com1/simnow_in<br />
<br />
=== Using the snserial tool ===<br />
<br />
Alternatively, you can use a tool called 'snserial' to interact with the serial ports. snserial will combine the input and output, and provide access to the combined stream through either a psuedo tty, or a telenet port.<br />
<br />
# Download the snserial tool from http://khepri.openbios.org/~jcrouse/snserial-1.0.tar.gz.<br />
# Extract it: ''tar -zxvf snserial-1.0.tar.gz''<br />
# Build it: ''cd snserial/; make''<br />
<br />
Before running the tool, make sure that you have enabled the serial pipes as detailed above.<br />
<br />
To enable serial through a pseudo TTY, start your simulation and type ''./snserial comX'' in another Linux terminal window (where X is 1 or 2). The program will respond with:<br />
<br />
SimNow Serial pipe Muxer<br />
<br />
Connection established.<br />
Type 'target remote /dev/pts/2' in GDB to connect.<br />
(Press CTRL-C to exit)<br />
<br />
You can now connect your serial application (minicom, or GDB for debugging) to the specified pseudo-tty.<br />
<br />
To enable serial interaction through telnet, start the simulation and type ''./snserial -t comX''. The program will respond with:<br />
<br />
SimNow Serial pipe Muxer<br />
<br />
COM 1: Listening on port 9000<br />
(Press CTRL-C to exit)<br />
<br />
You can now connect to the serial stream by typing 'telnet localhost 9000' in a Linux terminal window.<br />
<br />
'''Note:''' It is a quirk of SimNow that the pipes are not created until the simulation for the BSD is started for the first time. Make sure you start the simulation before running ''snserial'', otherwise you will see this: ''Couldn't stat /home/<user>/.simnow/com1/simnow_out: No such file or directory.'' The best course of action is to start the simulation quickly, attach the snserial program, and then restart the simulation to see the early serial output.<br />
<br />
== Add disks == <br />
#Hit the Stop Simulation button if the simulation is running<br />
##File->Set IDE Primary Master Image<br />
###Browse to your hard drive image<br />
##File->Set IDE Secondary Master Image <br />
###Browse to a CD .iso<br />
#Hit Run Simulation again<br />
<br />
You should get output from the serial port scrolling in one terminal, and be able to watch the VGA output in the main window.<br />
<br />
If you used buildrom to get a BIOS image with coreboot + LAB, you'll end up at a linux prompt where you can mount the disks, etc.<br />
<br />
{{Cc-by-sa-3.0}}</div>VincentLim