<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wikis.ece.iastate.edu/cpre584/index.php?action=history&amp;feed=atom&amp;title=Loading_Linux_on_ML507</id>
	<title>Loading Linux on ML507 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wikis.ece.iastate.edu/cpre584/index.php?action=history&amp;feed=atom&amp;title=Loading_Linux_on_ML507"/>
	<link rel="alternate" type="text/html" href="https://wikis.ece.iastate.edu/cpre584/index.php?title=Loading_Linux_on_ML507&amp;action=history"/>
	<updated>2026-05-22T14:53:28Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wikis.ece.iastate.edu/cpre584/index.php?title=Loading_Linux_on_ML507&amp;diff=521&amp;oldid=prev</id>
		<title>Cnel711: 1 revision</title>
		<link rel="alternate" type="text/html" href="https://wikis.ece.iastate.edu/cpre584/index.php?title=Loading_Linux_on_ML507&amp;diff=521&amp;oldid=prev"/>
		<updated>2012-02-27T17:49:05Z</updated>

		<summary type="html">&lt;p&gt;1 revision&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 17:49, 27 February 2012&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Cnel711</name></author>
	</entry>
	<entry>
		<id>https://wikis.ece.iastate.edu/cpre584/index.php?title=Loading_Linux_on_ML507&amp;diff=520&amp;oldid=prev</id>
		<title>127.0.0.1 at 23:26, 16 December 2009</title>
		<link rel="alternate" type="text/html" href="https://wikis.ece.iastate.edu/cpre584/index.php?title=Loading_Linux_on_ML507&amp;diff=520&amp;oldid=prev"/>
		<updated>2009-12-16T23:26:04Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;# The website to be followed is http://xilinx.wikidot.com/powerpc-linux&lt;br /&gt;
# The following things need to be taken care while loading linux on ML507 board&lt;br /&gt;
## The linux source has to be downloaded using git git clone git://git.xilinx.com/linux-2.6-xlnx.git. Do not try to get the snapshot from the website http://git.xilinx.com . It might not contain the virtex440-ml507.dts file. Instead it might contain ml507.dts, which would lead to errors while building the linux kernel&lt;br /&gt;
## In the dts (virtex440-ml507.dts) file the following boot arguments need to be updated &lt;br /&gt;
### ip=on (DHCP) =&amp;gt; ip=192.168.1.10  (Which assigns linux a static IP address)&lt;br /&gt;
### Change root to root=/dev/ram rw.  This makes the filesystem read write.&lt;br /&gt;
## Before connecting to the ml507 board using the connect command, the fpga must be programmed with the reference bitfile available at https://secure.xilinx.com/webreg/clickthrough.do?cid=111799 (you will need to have a Xilinx account to access the project). It is called ug511_ppc440_emb_ref.zip.The bitfile to be downloaded is ml507_ppc440_emb_ref/ready_for_download/download.bit. Use impact to download this bit file onto FPGA and then connect to the board.&lt;br /&gt;
## The kernel image file simpleImage.virtex440-ml507.elf needs to be loaded onto the board instead of the simpleImage.initrd.virtex440-ml507.elf file. The initrd* file contains the ram disk image.  However, one of the fall 2009 teams used the simpleImage.initrd.virtex440-ml507.elf successfully, assuming the previous steps. &lt;br /&gt;
&lt;br /&gt;
Detailed notes from Fall 2009 dmrisse/adamj:&lt;br /&gt;
I originally wrote this as a script (on this machine), but eventually just used it for notes.  Here are the steps for building and loading the kernel enumerated:&lt;br /&gt;
# source /usr/local/bin/Xilinx_src&lt;br /&gt;
# create a project directory such as /home/$USER/583/project&lt;br /&gt;
# cd to that directory&lt;br /&gt;
# git clone git://git.xilinx.com/device-tree.git&lt;br /&gt;
# git clone git://git.xilinx.com/linux-2.6.git&lt;br /&gt;
# edit ./linux-2.6-xlnx/arch/powerpc/boot/dts/virtex440-ml507.dts as shown above for IP address and file system writeability.&lt;br /&gt;
# PATH=$PATH:/opt/eldk/usr/bin&lt;br /&gt;
# export CROSS_COMPILE=ppc_4xx-&lt;br /&gt;
# cd ./linux-2.6-xlnx&lt;br /&gt;
# make ARCH=powerpc simpleImage.virtex440-ml507&lt;br /&gt;
# make ARCH=powerpc simpleImage.initrd.virtex440-ml507   (this is the image I used)&lt;br /&gt;
# Use iMPACT to load a suitable bitfile as described above.  We ended up basing our project partially on MP2, so that bitfile provided a basis.&lt;br /&gt;
# cd ./arch/powerpc/boot&lt;br /&gt;
# (from the website above using XMD:&lt;br /&gt;
## connect ppc hw -debugdevice deviceNr 5 cpunr 1&lt;br /&gt;
## dow simpleImage.initrd.virtex440-ml507.elf&lt;br /&gt;
## run&lt;br /&gt;
## (when done) stop&lt;br /&gt;
# use minicom to connect to and watch the kernel boot up.  Alternately, you can telnet to 192.168.1.10.  Login with user and password both &amp;quot;root&amp;quot; (can also FTP in to load files into it).  The kernel doesn&amp;#039;t come with many binaries; things in /bin are all sym-links to busybox.&lt;br /&gt;
&lt;br /&gt;
How we compiled software for the ppc Linux kernel:&lt;br /&gt;
# Since one of this did the VHDL project and the other focused on the software side, I had to include files from his directory.  Assuming a Xilinx project like MP2 in /home/$USER/583/project.&lt;br /&gt;
# source /usr/local/bin/Xilinx_src&lt;br /&gt;
# PATH=/opt/phj_eldk/usr/bin:$PATH&lt;br /&gt;
# export CROSS_COMPILE=ppc_4xx-&lt;br /&gt;
# cd to directory with source code you want to build (my example is a self-contained .c file).&lt;br /&gt;
# powerpc-linux-gcc -static -o myBinary.exe -I /home/$USER/583/project/ppc440_0/include -L /home/$USER/project/ppc_440)0/lib mySource.c&lt;br /&gt;
# myBinary.exe is an arbitrary choice, you could leave out the -o file.exe altogether.&lt;br /&gt;
# Use FTP to put the executable onto the ppc linux kernel while its running.&lt;br /&gt;
# chmod +x the binary on the PPC (or chmod u+x or whatever...).&lt;br /&gt;
# now you can run the binary on Linux on the PPC on the FPGA.&lt;/div&gt;</summary>
		<author><name>127.0.0.1</name></author>
	</entry>
</feed>