IDE-R - Triggering a Remote ISO boot from a linux / java environment

IDE-R - Triggering a Remote ISO boot from a linux / java environment

Hi,

I just got started using Intel AMT, and have been playing around with the Java based WS-Management library.

I'm now trying to trigger a remote ISO boot. After browsing through the AMT SDK I found that IDE-R support is located in the Intel AMT Redirection Library

According to the docs : Provides an abstraction layer that implements “Serial over LAN” (SOL) and “IDE Redirection” (IDER), via a C language API.

I've found a couple of samples (mostly Microsoft C# / COM based) but I would like to trigger this from a non-microsoft environment

Are there alternative ways to remote boot an iso from another environment ? 

Can this be done in pure java using the WS-Management ?

Or should I use <AMT_SDK_ROOT>/Linux/Intel_AMT/Samples/Redirection/RedirectionSample as inspiration for embedding the remote ISO boot in an application ?

17 帖子 / 0 全新
最新文章
如需更全面地了解编译器优化,请参阅优化注意事项

Have you downloaded the Javalibs? (I assume you are looking at the Java folder from the Intel AMT SDK.) It is a little old but it does support IDE-R.
http://software.intel.com/en-us/articles/download-the-latest-intel-ws-ma...

Follow me on Twitter: @GaelHof Facebook: https://www.facebook.com/GaelHof

Thanks a lot for taking the time to respond.

I started out with the JavaLibs (using the link you provided) but there isn't an example that performs an actual IDE-R session (where an ISO us sent from the client to the AMT machine.)

If you could point me to such a sample that would be great. (I have a memtest ISO here representing a bootable cdrom that I would like to send to the AMT machine to boot into).

I didn't see a Java folder in the Intel AMT SDK but after abandoning the Java WS-Management path, I did stumble upon the Intel AMT Redirection Library in the AMT SDK available through

Dynamic Library (Windows*)
Static Library (Linux*)
Header Files
Sample Code

I compiled the imrcli sample (part of the AMT SDK) on an Amazon AWS instance and was able to connect the Intel AMT machine and start an IDER session :

Handling Client localhost
IDER Session Open (Registers Enabled)

Options:
a. Delete Client
b. Open SOL Session
c. Close IDER Session
d. Disable IDER Registers
e. Get IDER Session Statistics
x. Exit

Choose an option> e
IDER Session Statistics:
Packets sent: 66
Packets received: 64
Data sent (bytes): 0
Data received (bytes): 0
Read/write command active: No
Last read/write length: 0
Session error: No
Number of client resets: 8
Number of client errors: 0

The redirection session was picked up by the Intel AMT console on the machine so I guess communication-wise everything is OK. However, I don't know enough about the process yet to know how this should work.

On my AWS instance, I've mounted a floppy and a cdrom image. The goal is to have the Intel AMT machine boot from one of those 2 images.

ubuntu:~/iso$ sudo losetup -a
/dev/loop0: [ca01]:417308 (/home/ubuntu/iso/memtest86+-4.20.iso)
/dev/loop1: [ca01]:417316 (/home/ubuntu/iso/floppy.img)

However, if I reboot the AMT machine from cdrom, it gives me the standard "Insert proper boot device" message so I'm not sure if the IDE-R is working.

Hi and thanks for all the info. I just found some information regarding javascript - I don't know if this will be helpful to you or not: http://www.serverground.net/2012/06/meshcentral-com-javascript-wsman-sta...

Regarding the console error - could it be that you need to set the tty correctly for linux (see below)? Also which version of the SDK are you using and which library for the imrsdk the 64 bit or 32 bit? Also which version of AMT are you working with?

One thing to note is that the Ubuntu linux was not validated so I don't know if that might be an issue.

Device names for Linux:
When opening an IDE-R session, the sample application will request the names of the floppy and CD devices that are to be redirected (these devices are usually /dev/fd0 and /dev/cdrom, respectively). To redirect these devices, the user must make sure that they are mounted to a file system, using the ‘mount’ command (e.g. /dev/cdrom is usually mounted to /mnt/cdrom).

To change the floppy or CD during an IDE-R session, the user must first unmount the device’s file system (using the ‘umount’ command), and then mount the file system again after the media has been changed.

Follow me on Twitter: @GaelHof Facebook: https://www.facebook.com/GaelHof

Thx for the javascript link ... looks interesting..... I'll definitely take a look but would like to get my server-side solution in place.

Here's some info on the different components I'm using

AMT hardware : Intel DQ77MK board with Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz
BIOS Version : MKQ7710H.86A.0039.2012.0504.1937
AMT SDK Version : 8.1.4198
Ubuntu AWS Image : ubuntu/images/ebs/ubuntu-oneiric-11.10-amd64-server-20120222 (ami-baba68d3)
Mount points :

/dev/loop0 on /mnt/cdrom type iso9660 (ro)
/dev/loop1 on /mnt/fd0 type vfat (rw)

The Intel AMT machine doesn't have a floppy but does have a physical cdrom-drive
In the device manager, I see a Virtual Floppy drive and Virtual CDROM drive

Am I correct in saying that once an IDE-R session has been established, the only thing left to do is send a remote control command to the machine (boot from local cd/dvd drive) ? Or do I need to issue another reboot command so that the AMT machine knows it needs to reboot using the IDE-R settings ?

Small update ....

The floppy drive redirection seems to be working, as I can see the files on the virtual device in windows explorer once the IDER session is up and running. The virtual cdrom drive however doesn't work. I can see the device in windows explorer, but it doesn't recognize the disc.

Here's how I setup the IDER session on the Amazon AWS machine :

Enter floppy device: [/dev/fd0] /dev/loop1
Enter cdrom device: [/dev/cdrom] /dev/loop0

mount | grep loop
/dev/loop1 on /mnt/fd0 type vfat (rw)
/dev/loop0 on /mnt/cdrom type iso9660 (ro)

ls -l /mnt/fd0/
-rwxr-xr-x 1 root root 23 Jan 2 2013 /mnt/fd0/test.txt

ls -l /mnt/cdrom
dr-xr-xr-x 1 root root 2048 Jan 23 2011 boot
-r-xr-xr-x 1 root root 134 Jan 23 2011 readme.txt

Any ideas why the cdrom doesn't work ?

Are you physically trying to reboot to a DVD or to a CD?
Known Issues:

Redirection library: The Linux version of the redirection library does not support IDER over DVD.
Redirection library: Cannot write a to floppy diskette.
KVM: The KVM Control application uses the firmware version to determine how many display pipes are supported, rather than how many are actually available.
KVM: When working with Linux library and using the scancode extension, the caps lock; number lock and Alt+ key events on the console side are not forwarded to the server.
KVM: When opening the Windows Start menu on a remote console, the menu opens on both the management and remote consoles when KVMControlApplication is implemented over default or redirection ports.
KVM: Rapid changes in display color levels while a KVM session is running could result in a session disconnection. Restart the KVM session to reconnect.

Follow me on Twitter: @GaelHof Facebook: https://www.facebook.com/GaelHof

Hi,

My situation involves 2 machines :

1. Amazon AWS Linux Ubuntu
Client machine using the Linux Redirection Library. From this machine I initiate an IDE-R session.

2. Intel AMT machine running Windows 7
This is the vPro / AMT machine that I'm trying to control. (through scripts running on the Amazon Linux Ubuntu machine).

When you're saying :

Redirection library: The Linux version of the redirection library does not support IDER over DVD.

Does that mean

a) it's not possible to trigger a remote DVD ISO boot on an Intel Amt machine running Windows 7 when the IDER session is initiated from a linux machine (Amazon AWS Ubuntu) ?
b) it's not possible to remote DVD ISO boot an Intel AMT machine running Linux .

Regards,
Davy

I'm going to have to check around some more on this. I know there were issues with the 64bit dll that the Open DTK (http://opentools.homeip.net/open-manageability) gets around - but that is a windows program and it looks like your management console is the Linux box. Maybe you could look at the source and see what it does. But to answer your question, the issue would be with the software that is building with the linux redirection library - so that would be running on your linux box which would be your non-amt system.

Follow me on Twitter: @GaelHof Facebook: https://www.facebook.com/GaelHof

The issue is partly resolved. Due to a bug in my code the machine was not restarted properly. The useIDER and IDERBootDevice was not properly set.

I still have an issue that it's not booting correctly without human intervention.
After the IDE-R restart, the AMT client reports a missing boot disk, and I need to go into the bios to override the boot order and select the virtual cd. After that it boots fine in the IDE-R session that was started from the Linux management console.

When you are doing your IDER session, is your IDER boot disk a linux image? There is a known issue where we are seeing what you are describing and there is a specific kernel version that fixes it (2.6.37). Let me know if this is the case.

Follow me on Twitter: @GaelHof Facebook: https://www.facebook.com/GaelHof

Hi,

The problem seems to be related to the Linux library initiating the IDE-R session, and not so much the ISO being used. (I also tried it with a 3.0.21 kernel and I'm getting the same behavior).

If I start the IDE-R session from a C# app (code based on http://communities.intel.com/community/vproexpert/blog/2010/12/02/remote...), where I just do the following to start an IDE-R session.

InitAMTSystem();
string floppyImage = "C:\\Users\\Davy\\Downloads\\Dos6.22.img";
string ISOImage = "C:\\Users\\Davy\\Downloads\\Memtest86_4.0a.iso";
_system.RedirectionIDER.StartIDER(ISOImage,floppyImage);

The system is able to boot fine into the memtest ISO without human intervention.

When I do the same with an IDE-R session started from a linux box (again using the same memtest ISO), I need to enter the bios and select the virtual cd device before being able to boot into memtest.

<img src="https://dl.dropbox.com/u/13246619/IntelAmt/BiosVirtualDevices.PNG"/>

If I don't override the boot in the BIOS I get this :

<img src="https://dl.dropbox.com/u/13246619/IntelAmt/BootDiskMissing.PNG"/>

Some details on how the Linux stuff is setup. I have a couple of ISOs and disk images on the linux bos using the control loopback devices :

ubuntu@ubuntu-H55N-USB3:~/Downloads$ sudo losetup -a
/dev/loop0: [0805]:9457912 (/home/ubuntu/isos/memtest86+-4.20.iso)
/dev/loop1: [0805]:9457911 (/home/ubuntu/isos/floppy.img)
/dev/loop2: [0805]:8011044 (/home/ubuntu/Downloads/Windows98.img)
/dev/loop3: [0805]:8011060 (/home/ubuntu/Downloads/Dos6.22.img)
/dev/loop4: [0805]:9457702 (/home/ubuntu/Downloads/Acronis.iso)

And I use the imrcli sample from the Intel AMT SDK to start the IDE-R session :

Options:
a. Delete Client
b. Open SOL Session
c. Open IDER Session
x. Exit

Choose an option> c
Enter user name: admin
Enter password:
Configure proxy settings? [Yes|No] no
Enter floppy device: [/dev/fd0] /dev/loop3
Enter cdrom device: [/dev/cdrom] /dev/loop0

Handling Client 192.168.1.103
IDER Session Open (Registers Enabled)

Well, other than the Linux libraries not technically supporting Ubuntu, I'm not sure what to think about this.  I will have to ask around.. Sorry for the delays.

Follow me on Twitter: @GaelHof Facebook: https://www.facebook.com/GaelHof

Hello - it turns out that for IDER on Linux, you must use a physical boot disk.  LInux does not support booting to images.

Follow me on Twitter: @GaelHof Facebook: https://www.facebook.com/GaelHof

In my scenario, I'm just using Linux to start the IDE-R session. (the IDE-R process run on the Linux box and the ISOs are also hosted on Linux but the IDE-R sessions point to Windows based AMT machines.

When you say : "LInux does not support booting to images"  , do you mean Linux the AMT machine, or Linux the Management Console ?

Hm. I had taken it to mean management console.  But to be sure, I have requested some clarification.  

Follow me on Twitter: @GaelHof Facebook: https://www.facebook.com/GaelHof

Hi Gael,

If we mount the iso file in Linux and start the ide-r using Linux version of Redirection Library(mounted iso will be available as cd/dvd drive in Linux), will it boot to redirected image. (Similar to the approach followed by Davy D)

As per my understanding from AMT SDK, redirecting iso image through Linux version of Media library is not supported

The library implements the IDE-R protocol and provides the client with the ability to read and write from a floppy or CD/DVD drive on the Management Console (MC) platform (DVD transfer is supported only on consoles running a version of Windows). The Windows version of the Redirection Library allows the user to specify a CD or DVD image file (*.iso) or a floppy image file (*.img) instead of a physical disk. This functionality is performed automatically by the library, without user intervention. The transferred file can be as large as a DVD or dual-layer DVD image.

Thanks,

Mani

发表评论

登录添加评论。还不是成员?立即加入