Using the VistA Appliance: Difference between revisions
Peterbodtke (talk | contribs) bat file mod - added accelerator support |
Peterbodtke (talk | contribs) |
||
| Line 35: | Line 35: | ||
Moved 'xxxx' directory to 'C:\Program Files\qemu-0.8.2-windows' | Moved 'xxxx' directory to 'C:\Program Files\qemu-0.8.2-windows' | ||
</pre> | </pre> | ||
Updates to VA VistA Demo Toaster appliance: http://groups.google.com/group/Hardhats/browse_thread/thread/89ba7bbdf941b19?hl=en | |||
Modifications to '''inetd''' configuration (courtesy KS BHaskar): | |||
<pre> | |||
To enable inetd to start automatically, | |||
execute each of the following commands once. When you reboot your | |||
Toaster, inetd will start automatically: | |||
sudo ln -s /etc/init.d/inetd /etc/rc2.d/S20inetd | |||
sudo ln -s /etc/init.d/inetd /etc/rc3.d/S20inetd | |||
sudo ln -s /etc/init.d/inetd /etc/rc4.d/S20inetd | |||
sudo ln -s /etc/init.d/inetd /etc/rc5.d/S20inetd | |||
sudo ln -s /etc/init.d/inetd /etc/rc1.d/K20inetd | |||
sudo ln -s /etc/init.d/inetd /etc/rc2.d/K20inetd | |||
sudo ln -s /etc/init.d/inetd /etc/rc3.d/K20inetd | |||
sudo ln -s /etc/init.d/inetd /etc/rc4.d/K20inetd | |||
sudo ln -s /etc/init.d/inetd /etc/rc5.d/K20inetd | |||
</pre> | |||
Enhancement to automatically start and stop Taskaman (courtesy KS BHaskar): | |||
<pre> | |||
Edit the file /etc/init.d/VAVistADemo20060926 (e.g., with "sudo | |||
beaver /etc/init.d/VAVistADemo20060926" which gives you a WYSIWYG GUI | |||
editor), and make it look like this: | |||
---------------------------------------------- | |||
#!/bin/sh | |||
PATH=/bin:/usr/bin:/sbin:/usr/sbin | |||
source /usr/local/gtm_V5.2-000/gtmprofile | |||
cd /var/VAVistADemo20060926/gtm_V5.2-000 | |||
case "$1" in | |||
start) | |||
sudo -u dsl /usr/local/gtm_V5.2-000/mupip journal -recover - | |||
backward g/mumps.mjl | |||
sudo -u dsl ./run RESTART^ZTMB <<EOF | |||
Y | |||
EOF | |||
;; | |||
stop) | |||
sudo -u dsl ./run STOP^ZTMKU <<EOF | |||
Y | |||
Y | |||
EOF | |||
sleep 5 | |||
sudo -u dsl killall mumps | |||
sudo -u dsl /usr/local/gtm_V5.2-000/mupip journal -recover - | |||
backward g/mumps.mjl | |||
;; | |||
*) | |||
echo "Usage: /etc/init.d/VAVistADemo20060926 {start|stop}" | |||
exit 1 | |||
esac | |||
exit 0 | |||
---------------------------------------------- | |||
Taskman will automatically start when you boot the Toaster, and shut | |||
down when you stop it. | |||
</pre> | |||
*Guest launch scripting | *Guest launch scripting | ||
Revision as of 00:12, 30 January 2007
Project Goal
Create a plug and play VistA virtual appliance to support training and demonstration activities.
Development Milestones
Virtual environment selection: QEMU
- Host Configuration: 10%
- Guest Configuration: 33%
- Installer design and development: 2%
- Security cerrtification: 0%
- User documentation: 5%
- Technical documentation: 1%
- Testing and User Acceptance: 0%
Development Steps
Host architecture
- Directory structure & Initial Set-up (Pre-Installer Work Envinonment)
QEMU
Extracted files from downloaded file, 'qemu-0.8.2-windows.zip' Directory 'qemu-0.8.2-windows' is produced when extaction is complete Moved 'qemu-0.8.2-windows' directory to 'C:\Program Files\qemu-0.8.2-windows'
QEMU Accelerator Module
Extracted files from downloaded file, 'kqemu-1.3.0pre9.tar.gz' Directory 'kqemu-1.3.0pre9' is produced when extaction is complete Moved 'kqemu-1.3.0pre9' directory to 'C:\Program Files\kqemu-1.3.0pre9' Right click on 'kqemu.inf' and select 'Install' from pop-up menu
VA VistA Demo Toaster 20060926
Extracted files from downloaded file, 'VAVistADemo20060912.zip' File 'xxxx' is produced when extaction is complete Moved 'xxxx' directory to 'C:\Program Files\qemu-0.8.2-windows'
Updates to VA VistA Demo Toaster appliance: http://groups.google.com/group/Hardhats/browse_thread/thread/89ba7bbdf941b19?hl=en
Modifications to inetd configuration (courtesy KS BHaskar):
To enable inetd to start automatically, execute each of the following commands once. When you reboot your Toaster, inetd will start automatically: sudo ln -s /etc/init.d/inetd /etc/rc2.d/S20inetd sudo ln -s /etc/init.d/inetd /etc/rc3.d/S20inetd sudo ln -s /etc/init.d/inetd /etc/rc4.d/S20inetd sudo ln -s /etc/init.d/inetd /etc/rc5.d/S20inetd sudo ln -s /etc/init.d/inetd /etc/rc1.d/K20inetd sudo ln -s /etc/init.d/inetd /etc/rc2.d/K20inetd sudo ln -s /etc/init.d/inetd /etc/rc3.d/K20inetd sudo ln -s /etc/init.d/inetd /etc/rc4.d/K20inetd sudo ln -s /etc/init.d/inetd /etc/rc5.d/K20inetd
Enhancement to automatically start and stop Taskaman (courtesy KS BHaskar):
Edit the file /etc/init.d/VAVistADemo20060926 (e.g., with "sudo
beaver /etc/init.d/VAVistADemo20060926" which gives you a WYSIWYG GUI
editor), and make it look like this:
----------------------------------------------
#!/bin/sh
PATH=/bin:/usr/bin:/sbin:/usr/sbin
source /usr/local/gtm_V5.2-000/gtmprofile
cd /var/VAVistADemo20060926/gtm_V5.2-000
case "$1" in
start)
sudo -u dsl /usr/local/gtm_V5.2-000/mupip journal -recover -
backward g/mumps.mjl
sudo -u dsl ./run RESTART^ZTMB <<EOF
Y
EOF
;;
stop)
sudo -u dsl ./run STOP^ZTMKU <<EOF
Y
Y
EOF
sleep 5
sudo -u dsl killall mumps
sudo -u dsl /usr/local/gtm_V5.2-000/mupip journal -recover -
backward g/mumps.mjl
;;
*)
echo "Usage: /etc/init.d/VAVistADemo20060926 {start|stop}"
exit 1
esac
exit 0
----------------------------------------------
Taskman will automatically start when you boot the Toaster, and shut
down when you stop it.
- Guest launch scripting
Modifications: qemu-win.bat
The .bat file that comes with QEMU has been modified to launch Toaster.
The original file:
REM Start qemu on windows. @ECHO OFF REM SDL_VIDEODRIVER=directx is faster than windib. But keyboard cannot work well. SET SDL_VIDEODRIVER=windib REM SDL_AUDIODRIVER=waveout or dsound can be used. Only if QEMU_AUDIO_DRV=sdl. SET SDL_AUDIODRIVER=dsound REM QEMU_AUDIO_DRV=dsound or fmod or sdl or none can be used. See qemu -audio- help. SET QEMU_AUDIO_DRV=dsound REM QEMU_AUDIO_LOG_TO_MONITOR=1 displays log messages in QEMU monitor. SET QEMU_AUDIO_LOG_TO_MONITOR=0 qemu.exe -L . -m 128 -hda linux.img -soundhw all -localtime
The modified file: (UPDATED 01/28/06 - added 'net start kqemu' to launch QEMU Accelerator Module
net start kqemu REM Start qemu on windows. @ECHO OFF REM SDL_VIDEODRIVER=directx is faster than windib. But keyboard cannot work well. SET SDL_VIDEODRIVER=windib REM SDL_AUDIODRIVER=waveout or dsound can be used. Only if QEMU_AUDIO_DRV=sdl. SET SDL_AUDIODRIVER=dsound REM QEMU_AUDIO_DRV=dsound or fmod or sdl or none can be used. See qemu -audio-help. SET QEMU_AUDIO_DRV=dsound REM QEMU_AUDIO_LOG_TO_MONITOR=1 displays log messages in QEMU monitor. SET QEMU_AUDIO_LOG_TO_MONITOR=0 qemu.exe -L . -m 128 -hda -soundhw all -localtime -redir tcp:2222::22 -redir tcp:9297::9297 VAVistADemo20060912.qcow
Client connection configuration
CPRS Connection CPRS can connect to the appliance from the host with "CPRSChart s=localhost p=9297 CCOW=DISABLE".
- Need to understand where to add the above string.
- Need steps to configure Hosts file (C:\WINDOWS\system32\drivers\etc)
Guest architecture
- Guest loading scripting
- Start up / Shut down (/etc/init.d/)
- Start/stop TaskMan
- Start/stop RPCBroker (or use inetd/xinetd)
- ...
- Start up / Shut down (/etc/init.d/)
If you start Taskman, retrieving data in the background will work for the CPRS client. The Access and Verify codes are VistAis#1 and #1isVistA respectively.
- Can Taskman be start automatically on guest OS boot?
Development Resources
- [1] QEMU Main Page
Installation files
- [2] QEMU on Windows provides precompiled QEMU versions for Windows.
- [3] QEMU Accelerator Module
- [4] Detailed release notes and VA VistA Demo Toaster 20060926
- [5] BigFiles: file sharing
Open Issues & Questions
- Gain permission to distribute QEMU Accelerator Module
[6] Time Zone Map