Skip to main content

[RTEMS] Alternative way to run QEMU on cluster like executing in background

My case is to get some stdio output from console with QEMU. Unfortunately, it is not possible to run QEMU with & command.
An alternative way is that using screen to keep ssh session running when you disconnect.
Assume I have a PC with linux shell to connect to cluster:
screen ssh yourname@clusterpc

I use the following option to set up my qemu vm and output to a file called result.txt:
qemu-system-arm -no-reboot -nographic -M realview-pbx-a9 -m 256M -kernel \
kernel file >> result.txt
After this command, the vm is started.
Press Ctrl + A and then Ctrl + D in immediate succession.
And now it is disconnected.
To reconnect to the session
screen -r

If you have multiple sessions like my case, you need to specify the session you are going to resume:
There are several suitable screens on:
        3390.pts-13.ls12sq      (Detached)
        3646.pts-13.ls12sq      (Detached)
Type "screen [-d] -r [pid.]tty.host" to resume one of them.
In my case, I can type the following command to resume 3390.
screen -r 3390 

To kill session, Ctrl + A and than Ctrl + K, or exit the terminal.
Reference from:
http://www.howtogeek.com/howto/ubuntu/keep-your-ssh-session-running-when-you-disconnect/

------------------
The following is the Q&A for different potential errors:
  1. error opening terminal: xterm-256color
    • export TERM=xterm
  2. No command for screen
    • sudo apt-get install screen

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...

[LEGOEV3] About Ev3dev kernel upgrading, real-time operating system, and bugs in 4.10 linux kernel.

By following the tutorial in Ev3 , one who is interested to run Linux on Ev3 should be able to have Debian with 3.16.7 linux kernel with the internet feature. For the research/lecture usage, I start to patch 4.10 Linux kernel and litmus-RT on it. I will list and update the possible delights for some of students who are just starting to develop Linux kernel stuffs. If in Ev3dev wget fails, please add on --no-check-certificate in the option before the download link. Ref: http://www.tecmint.com/install-kernel-3-16-in-debian/ As far as we can find, https://www.youtube.com/watch?v=PGy5XrI6lLs provides the video about how to patching Linux kernel for LitmusRT. The tutorial in installation page ( https://wiki.litmus-rt.org/litmus/InstallationInstructions ) is missing the command for the newbie who is lacking experience of linux tools: sudo apt-get install build-essential kernel-package \ libncurse5-dev bzip2 fakeroot \ And use the following command for wrapping the kernel as deb pac...

[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