iDRAC6VirtualConsoleLauncher icon indicating copy to clipboard operation
iDRAC6VirtualConsoleLauncher copied to clipboard

Instructions to run on Raspberry Pi (ARM64)

Open jim3692 opened this issue 1 year ago • 1 comments

Since iDRAC 6 requires Java 7 to work, installing it on an ARM64 operating system is complicated, as this was never a supported architecture.

Downloading the ARM binaries of Java 7 from the Oracle website won't work, as it requires 32 bit libraries that are not installed.

After some digging, I found that Debian 8 had Java 7 in its repositories.

Method 1: Installing Debian 8 in a chroot environment using debootstrap

Step 1: Prepare the environment

# Install debootstrap
sudo apt update
sudo apt install debootstrap -y

# Create a directory to store Debian 8
sudo mkdir /opt/jessie

# Install the armhf version of Debian 8
# GPG check should be skipped as Debian 11 lacks the keys of Debian 8
sudo debootstrap --no-check-gpg --arch armhf jessie /opt/jessie http://deb.debian.org/debian/

# Mount /proc and /sys in the new environment
sudo mount --rbind /proc /opt/jessie/proc
sudo mount --rbind /sys /opt/jessie/sys

# Chroot into the new environment and install Java 7
sudo chroot /opt/jessie
apt update
apt install openjdk-7-jre
exit

Step 2: Create a new bash script

Open the directory where iDRAC6VirtualConsoleLauncher is cloned, create a new bash script called "java7.sh" and add the following 2 lines:

#/bin/bash
LC_ALL="C" LD_LIBRARY_PATH="/opt/jessie/lib/arm-linux-gnueabihf;/opt/jessie/usr/lib/arm-linux-gnueabihf" /opt/jessie/usr/lib/jvm/java-7-openjdk-armhf/bin/java $@

Make it executable

chmod +x java7.sh

If you have installed Debian 8 in different directory, replace /opt/jessie in java7.sh with your directory.

Step 3: Modify iDRAC6VirtualConsoleLauncher.py

Open"iDRAC6VirtualConsoleLauncher.py" with an editor and make the following changes:

  • Replace this line: https://github.com/gethvi/iDRAC6VirtualConsoleLauncher/blob/84971045063a5ac18462d3c71fb38b46709b89c7/iDRAC6VirtualConsoleLauncher.py#L44

    With this: java = pwd.joinpath('java7.sh')

  • Above this line: https://github.com/gethvi/iDRAC6VirtualConsoleLauncher/blob/84971045063a5ac18462d3c71fb38b46709b89c7/iDRAC6VirtualConsoleLauncher.py#L59

    Add this: '/bin/bash',

Done!

Method 2: Use DistroBox (TBA)

Running this project inside a Debian 8 box has even more challenges. Based on #4, this project requires Python 3.5, while Debian 8 only has Python 3.4 in its repositories and backports repo throws a 404.

jim3692 avatar Oct 25 '22 04:10 jim3692