You are here: Home Resources Documentation PetaLinux 0.40 final User Guide Advanced Topics Non-standard Installations

Non-standard Installations

This section describes a few options for non-standard (read non-Linux host) installations of PetaLinux.

Using a split Windows/Linux development environment

It is possible to split your development flow between Windows PCs for Xilinx development, and a Linux host for your embedded Linux software development.

The basic idea is to share a network driver between your Linux and Windows PC, and install PetaLinux there. Hardware builds (ISE and EDK) take place on the Linux machine, embedded Linux development takes place on the Linux host.

Getting things set up

The following assumes your Windows and Linux PCs are already setup, and that the Xilinx tools (EDK and ISE) are installed on the Windows PC according to standard Xilinx procedures. It is not a tutorial on sharing network drives between Windows and Linux PCs. Please talk to your network administrator.

 

Please understand there are security risks associated with sharing files and folders over networks.

PetaLogix accepts no responsibility for any losses or security breaches resulting from your attempts to follow these instructions.



  1. Create a directory on the Windows PC into which PetaLinux will be installed - say c:\petalinux
  2. In Windows Explorer, navigate to the c:\petalinux directory, right click and chose the Sharing option. Permit read and write sharing on this folder. Give the share a sensible name, such as 'petalinux'
  3. One the Linux machine, ensure that the Samba tools are installed, and mount the shared windows folder somewhere on the Linux file system. It is probably a good idea to add an entry to the /etc/fstab file for this mount. An example entry may look something like this (all on one line, the slash character '\' marks line continuation):
    //windowshost/petalinux /mnt/petalinux smbfs noauto,\
    username=myuser,workgroup=myWG,uid=myuser,gid=mygroup,\
    dmask=700,fmask=600 0 0
    This would cause the share named petalinux, on windows machine windowshost, to be mounted on the Windows machine at mount point /mnt/petalinux.
    • Ensure the /mnt/petalinux directory exists. You probably have to be root to create it.
    • The username and workgroup parameters refer to your username and workgroup/domain on the windows machine.
    • uid and gid refer to your username and group id on the Linux machine. If you aren't sure about these, please contact your network administrator.
  4. For more help on mounting Windows shares under Linux, see one of the following guides:
  1. On the Linux PC, navigate to the shared directory and install PetaLinux there, as per standard installation instructions.

It is important to extract the PetaLinux installer archive from within the Linux environment, not Windows/Cygwin. This is due to handling of linefeed / carriage return characters in Windows.


Building the hardware

Follow standard PetaLinux procedures for creating and building your hardware (EDK) projects. They should exist within the c:\petalinux\hardware\user-platforms subdirectory (or \reference-designs for reference designs).

After the hardware is created by EDK, you can change over to your Linux workstation for software development.

Synchronising your Hardware and Embedded Linux kernel

The script petalinux-copy-autoconfig is used to copy the system configuration file generated by EDK across into your Embedded Linux kernel tree, and thereby ensures consistency between the hardware and software systems.

Under the split environment described here, the auto-config file will be created under Windows (as part of the EDK "libgen" phase). Since you have shared your PetaLinux directory between both environments, you can simply run the petalinux-copy-autoconfig script under Linux, as per normal. The following steps are performed on your Linux machine:

  1. Load the petalinux settings.sh configuration script (see UserGuide on loading the settings file)
  2. Navigate to the petalinux-dist directory
    $ cd /mnt/petalinux/software/petalinux-dist
  3. Use the menu configuration tools to select your vendor/platform combination (see the user guide for details on creating platforms and selecting platforms).
  4. Once a platform is selected, change to the relevant hardware directory, for example
    $ cd /mnt/petalinux/hardware/user-platforms/myplatform
  5. Run the petalinux-copy-autoconfig script:
    $ petalinux-copy-autoconfig
    INFO: Attempting vendor/platform auto-detect
    INFO: Auto-detected myvendor/myplatform combination.
    Auto-config file successfully updated for MyVendor MyPlatform

 

If you are not using the petalinux-copy-autoconfig script to copy and update kernel configurations, it is critical that you run the 'dos2unix' command over the Kconfig.auto, or auto-config.in file, after you have copied it into your kernel directory.

Failure to do so will result in strange error messages from the kernel build environment.

This step is not required if you are using the petalinux-copy-autoconfig script.

 

Building the Embedded Linux system and U-Boot bootloader

Once the auto-config.in file is succesfully transferred, you may build your embedded Linux system, and optionally build the U-Boot bootloader, using standard PetaLinux procedures, on your Linux host.

Virtual Machine Solutions

Another approach is to use a Virtual Machine, such as the commercial products from VMWare, allowing you to run the Xilinx tools under Windows, and the PetaLinux embedded Linux build under a Linux "guest" VM.

Please contact your virtual machine software vendor for details of creating and managing virtual machines. Below is an overview of how you might proceed.

  1. Install your chosen virtual machine software on the Windows host (e.g. VMWare)
  2. Create a new virtual machine, and install Linux on it. Ensure that the VM networking is configured in such a way that resources shared from the Windows host PC are accessible over the virtual network by the Linux "guest" operating system.
  3. Follow the instructions above for a split Windows/Linux PetaLinux environment. Actions described above as taking place on the Linux workstation, are merely performed inside the virtual machine instead.

Some useful resources:

Document Actions
Quick Contact

tdp-pyramid

 

PetaLogix supports the Xilinx Targeted Design Platform (TDP) strategy (PDF)

 
Site by:
Personal tools