Skip to main content

[RTEMS/GEM5] RTEMS boot on GEM5 SPARC64


Thanks for Gedare Bloom.
This quest only to show that all the mentioned steps in his blog still work well.

Start from the case of SPARC64 on Gem5. (only for full simulation)
There is a fatal bug on Gem5 Sparc itself, about the cmdline reading error..
The error is held by the number of arguments is different.
In my opinion, I change the makeSparcSystem() with an additional argument "cmdline=None".

After that, the fs.py will report some misc. are missed.
http://gem5-users.gem5.narkive.com/MdeuWEv1/sparc-fs-trouble-running

Download the essential files of SPARC T1 from oracle and put them into binaries and disks folders/directory.
Of note, when we build Gem5 with scon command, $M5-PATH will change the default PATH of kernel loader.

Until here, all the stuffs are set up to execute!
If you directly execute the command:
build/SPARC/gem5.opt configs/example/fs.py
The result will be identical as the quest of Gedare for Booting OpenSolaris on M5 SPARC_FS.

<<<<<suppose you have the executable file from RTEMS SPRAC64>>>>>
By using the script from Gedare, we can have the executable files automatically, if the environment is set properly, in which the file is named image.iso in the boot directory.

With the generated image.iso, I stuck on the step that full simulation cannot load kernel file.
->In fact, we don't have to use the option --kernel to assign the specific kernel.
This is designed for the linux kernel case.
For se.py, I stuck on the privileged action fault. So far there is no any solution here.
At the end, run it!
build/SPARC/gem5.opt -d /tmp/output configs/example/fs.py

and use m5term to connect on port  3457 instead of 3456

For more detail, please check Gedare blog.


Comments

Popular posts from this blog

RSB+RTEMS 5/6 with QEMU-SMP (ARM realview_pbx_a9_qemu as example)

Since I got a request regarding this blog  written in 2016, summarizing again the complete flow with the latest version of RTEMS could be a good idea. Prepare a suitable workspace according to the adopted operating system on your host ( https://docs.rtems.org/branches/master/user/hosts/index.html ):  sudo apt-get build-dep build-essential gcc-defaults g++ gdb git unzip pax bison flex texinfo unzip python3-dev libpython-dev libncurses5-dev zlib1g-dev Checkout RSB and build: git clone git://git.rtems.org/rtems-source-builder.git rsb change directory to rsb/rtems/ and type ../source-builder/sb-set-builder --prefix=<the path you like to store the built toolchains> <the name of bsp> For example, to use QEMU, I need toolchains for ARM, so: ../source-builder/sb-set-builder --prefix=/home/kh.chen/respository/build/. 6/rtems-arm This will take a while. Please ensure your connection is reliable. Add the built folder into your PATH. For example, you can add one line in ~/.bas...

[Gem5] Full system Simulation with Official Kernel

I follow the youtube provided by Gem5 to get the inspiration. (http://gem5.org/Running_gem5#Full_System_.28FS.29_Mode) I download the file here: http://www.gem5.org/dist/current/arm/ with http://www.gem5.org/dist/current/arm/aarch-system-20170616.tar.xz Then Set up M5_PATH as the place I extract the files: "/home/khchen/full_system_images/" If the setting is correct, assigning the disk-image will finish the rest of setting for dtb and kernel specifications. So far I can only use this img (aarch32-ubuntu-natty-headless.img) as my disk-image to run up to the login interface of the ubuntu: build/ARM/gem5.opt configs/example/fs.py --disk-image=/home/khchen/full_system_images/disks/aarch32-ubuntu-natty-headless.img With the other imgs, for example like "aarch64-ubuntu-trusty-headless.img", I think the kernel and the dtb should be given manually, because it will automatically load something with aarch32 prefix which doesn't make sense: info: kernel ...

[ubuntu] Removing the instance/package which is not fully installed from apt-get

When I'm installing g77-3.4 for pgplot, I trivially use dkpg to install it. However, g77-3.4-doc is not able to fully installed. And I stuck for this kind of error due to the broken packages (refer to here ): dpkg: error processing realplayer (--configure/--purge/--remove): (Whatever messages) Errors were encountered while processing: g77-3.4-doc cd /var/lib/dpkg/info sudo rm g77-3.4-doc* sudo dpkg --remove --force-remove-reinstreq g77-3.4-doc Hmm, now apt-get works well again. https://www.youtube.com/watch?v=S9HJ-iAzf3k