D3D Live ISO
Hint: Page deprecated as of 1/19. The official OSE Linux, which includes complete software for the D3D 3D printer bundled with it, is found at OSE Linux. Software includes Cura, the printer profile for D3D in Cura, Arduino IDE, and OSE Marlin firmware. Howto for using the software toolchain as of 1/19 is found at D3D_1612_Product_Testing#Testing_Procedure
Instructions For Creating Live USB Thumbdrive
These instructions are compiled from the file File:USB INSTALLATION.txt, and other documentation at porteus home page.
Download
- If you have a 64-bit computer and 4GB RAM or more, download 480 MB Porteus-D3D-Workshop-x86_64-v2.iso.
- If this download does not work, go to Torbjorn's Dropbox - [1]
- If you have a 32-bit computer, download 299 MiB 32-bit iso without OpenSCAD or 613 MiB 32-bit iso with OpenSCAD. The larger version requires at least 1GB USB storage and 4GB RAM.
- Attach USB stick to computer
- Backup data already on USB stick
Install
Install from Within Ubuntu
- Optional: Format USB stick to ext4. Most USB sticks are preformatted with FAT filesystems. This complicates writing to the USB from within Porteus.
- Follow this guide, except format to ext4 instead of fat32.
- Open iso with Archive Manager, extract contents to USB folder
- Run the script Porteus-installer-for-Linux.com. It resides in the directory called boot on your USB stick. Root privileges (sudo) might be required, depending on your system.
- Navigate to USB directory
cd /media/<user>/<USB-stick-name>/boot
- Once in USB boot directory
sudo ./Porteus-installer-for-Linux.com
Install from Within Porteus
- Open Porteus Installer program
- Open the Start Menu (top left corner)
- Choose "System"
- Choose "Porteus Installer"
Install from Within Other Systems
See porteus.org's official installation instructions.
Install Notes
Introduction
The D3D Thesis project aims to provide participants a Live ISO. This is an operating system that resides on a CD, DVD or USB stick that can run on all common computers, independent of the state of their computer's hard drives, thereby bypassing installation procedures for 3D printing related programs.
The idea is that we do 2 things to make the D3D Distributive Enterprise spread far and wide, which is part of Viral Replication Criteria:
- Enable an average user with clear instructions for downloading our ISO, and installing on a USB drive in Linux, Windows, and Mac.
- Providing USB sticks at the workshop to users who have not already installed the 3D printer software. The assumption is that we will preload the firmware onto the controller board.
Links
Tobben's Notes While Developing ISO
Porteus uses modules, Slackware style. We have ISO for
- Printrun (including Pronterface)
- Slic3r
- XFCE (graphical environment)
- Mozilla Firefox
- Arduino
- OpenSCAD
Two ISO images are maintained:
- 32-bit. Enabling usage of legacy computers. Limited by 3 GB barrier.
- 64-bit. Will be used most frequently.
New ISO's are created within Portheus with script /mnt/sdXN/porteus/make_iso.sh.
Maybe useful:
save-changes - dump whole changes from the live session into a module
Wrote ISO to USB stick
sudo dd if=Porteus-KDE4-v3.1-x86_64.iso of=/dev/sdc
Didn't work. Re-formatted USB stick, extracted contents of ISO file and put it on USB stick. Mounted USB-stick, copied Portheus files over there and ran the script
/media/torbjorn/Porteus/Porteus/boot/Porteus-installer-for-Linux.com
This produced a final message:
Installation finished successfully. You may reboot your PC now and start using Porteus. Please check the /boot/docs folder for additional information about the installation process, Porteus requirements and booting parameters. In case of making tweaks to the bootloader config, please edit: /media/torbjorn/Porteus/Porteus/boot/syslinux/porteus.cfg file.
Didn't work. Made new ISO with following changes
- UEFI support
- 32-bit
- FAT32 filesystem on stick
That did work, but FAT32 prevented anything from being stored on USB stick while in Porteus. Changed to ext4. Worked fine.
Guide to package creation and manipulation at porteus.org
Created xzm package that allows Pronterface to be run from source. File:Pront-package-incomplete.xzm
Made changes to /boot/syslinux/porteus.cfg to tailor a boot-mode for D3D Workshops.
Computer Models Verified to Boot
Computer Model Name | ISO version | Comment | Links |
---|---|---|---|
Acer M5-581TG | 64-bit and 32-bit | Press "F2" on boot to enter BIOS. Change boot order in "boot" or enable F12 boot menu and use that. | |
Lenovo g580 | 64-bit | Start with "Novo button" instead of usual power button and select boot menu, or press F2 on startup to enter boot menu. Disable "Secure boot", enable "legacy mode", enable "legacy first". | [2], Extensive answer on askubuntu.com |
Macbook Air from 2011 | 64-bit | Hold left "alt"-key while turning on the computer. Keep holding alt pressed for several seconds. A boot screen should eventually appear. | |
ASUS ET2210INTS | 64-bit and 32-bit | Press "Esc" on power up to enter boot menu. | |
HP Pavilion zt3000 | 32-bit | Press "F10". Has only 512MB of RAM, so try smallest ISO first. | |
Lenovo Thinkpad SL510 | 64-bit and 32-bit | Press Thinkvantage button or F1 upon boot. | |
Dell Precision M6500 | 64-bit | Press "F12". Excellent speed, 4 GB RAM. | Creation Notes |
Lenovo SL300 | 64-bit | Press "F12" during boot. | |
Asus Zenbook UX32A | 64-bit | Get into BIOS: Restart Windows while pressing and holding F2 | [3] |
Acer Aspire One 722 | 64-bit and 32-bit | Not sure but USB boots before hdd if present. Keyboard, basic video, touchpad/mouse, USB ports, WiFi works. Had to tweak setting for sound. 3.1 doesn't support suspend when lid closed. Submitted by Ed_P on Porteus forums | [4], [5] |
Acer Aspire One 725 | 64-bit | UEFI. Disabled secure boot and USB boots before hdd if present. Keyboard, basic video, touchpad/mouse, USB ports, WiFi works. Had to tweak setting for sound. 3.1 doesn't support suspend when lid closed. Submitted by Ed_P on Porteus forums | [6], [7] |
Compaq CQ50-217nr | Submitted by Jack on Porteus forums | ||
Toshiba satellite z930 | will boot USB automatically without intervening in the bios. Submitted by francois on Porteus forums | [8] | |
MSI-340-x | Press "F11" to enter BIOS. Submitted by francois on Porteus forums | [9] | |
HP 1540ca | Press F10 for BIOS. This should be good for most HP boxes. Submitted by francois on Porteus forums | [10] | |
Asus g74s | 64-bit | Press "del" on boot to enter BIOS. Mark USB stick among "boot override" options and press enter. | |
Dell Inspiron 14 5000 series | Secure boot disabled by entering BIOS (F2 during boot). Everything works out of the box. (including touch screen). Submitted by brokenman on Porteus forums | [11] | |
Acer Aspire One Ultra Thin | 32-bit | Not sure but USB boots before hdd if present. Keyboard, basic video, touchpad/mouse, USB ports, WiFi works. May have had to tweak setting for sound. Submitted by Ed_P on Porteus forums | [12] |
Dell Latitude 610 | 32-bit. Porteus 3.0 | Not sure but USB boots before hdd if present. Keyboard, basic video, touchpad/mouse, USB ports, WiFi works. Video distorted but works. | [13] |
Toshiba Satellite P50-A i7 Dual Graphics | Disable secure boot in bios (F2 to enter bios). Submitted by brokenman on Porteus forums | [14] | |
HP Pavilion dv6 | Working out of the box. Submitted by brokenman on Porteus forums | [15] | |
Asus N61J ... core i7 4gb ram | ATI Radeon Mobility 5730 graphics works with propriety driver up to porteus 2.1
after that(3.x ) open source x11 Radeon driver is needed. To get better temperature performance I put echo battery > /sys/class/drm/card0/device/power_dpm_state in /etc/rc.d/rc.local. BIOS entry = F2, Boot menu = ESC, is UEFI(first gen) capable but I've never used it. Submitted by ncmprhnsbl on Porteus forums |
[16] | |
Lenovo Thinkpad T-520 (from 2012) | Disable UEFI and use legacy mode. Submitted by KnallKopf on Porteus forums | [17] | |
Lenovo Thinkpad T-61 (from 2008) | Has BIOS. But attention it exist a Anti-theft entry if it is enabled then you can not disable (Anti-theft of course)
In combination with Windows Lenovo install a dll which makes a remote access to your Laptop. At me it was complett removed from BIOS. These final adjustment is possible in Anti-theft entry. Submitted by KnallKopf on Porteus forums |
[18] | |
Sony Vaio VPCEB27FX | 64-bit | F9 boot. Submitted by Jenna | |
Fujitsu P702 | Fujitsu ScrollWheel and additional keys next to power button don't work, after resuming from suspend system may crash, the rest works good. Bios keys: F2, F12. Submitted by tome on Porteus forums | [19] | |
Dell Inspiron 1525 | 64-bit | works. F2 = Bios Setting, F12 = Boot Menu. Submitted by Jack on Porteus forums | [20] |
HP Chromebook 14 ("Coreboot" secure boot w/ SeaBios payload) | To enable a USB boot first follow the procedure to setup Chromebook developer mode...
@ https://www.youtube.com/watch?v=UWXO61_v_xo then ... when logged into Chromebook... Ctrl+Alt+right arrow ("F2") then... type "root" press enter then... type enable_dev_usb_boot press enter then... Ctrl_Alt+left arrow ("F1") then... open Chrome browser (while online) type "crosh" in the url and press enter then... type "shell" then... type cd; rm -f flash_chromebook_rom.sh; curl -O https://johnlewis.ie/flash_chromebook_rom.sh; sudo -E bash flash_chromebook_rom.sh then... press enter and follow the instructions... WARNING: select only "RW_LEGACY" or you risk bricking the device then... reboot then... @ the developer boot screen... Ctrl+L then... press (@ the prompt) Esc then... select your device Submitted by fullmoonremix on Porteus forums |
[21] |
Computer Models Not Booting D3D Porteus
Computer Model Name | ISO version | Comment | Links |
---|---|---|---|
Dell XPS 13 2016 | 64-bit | Press F12 during boot. Currently (March 24 2016) Won't start graphical mode, possibly because of an issue in the xorg package. | http://forum.porteus.org/viewtopic.php?f=122&t=5310#p40021 |
HP Spectre x360 | 64-bit | Error message in early boot process. Works with Nemesis because of its newer kernel. Submitted by kalo86 on Porteus forums. | https://forum.porteus.org/viewtopic.php?f=61&t=5288 |
WYSE x90 with graphic VIA Chrome9 HC IGP | Known bug caused by confusion between DVI and VGA in software. Xorg hangs and its log contains 'CHROME(0): Unable to find connected outputs'. Submitted by zion on Porteus forums. | https://forum.porteus.org/viewtopic.php?f=61&t=4524 | |
HP Mini 1000 | Works with Porteus 3.0 and Porteus Kiosk 3.2, but not Porteus 3.1. Submitted by advb69 on Porteus forums. | https://forum.porteus.org/viewtopic.php?f=61&t=4227 | |
Macbook Pro | EFI bootloader doesn't allow USB booting. Fix: Install rEFInd bootloader | http://www.rodsbooks.com/refind/ |
Other Sources of Boot Information
Lenovo's support page on entering BIOS
Lists
- Linlap's list of Acer models
- Linlap's list of Asus models
- Linlap's list of Dell models
- Linlap's list of HP models
- Linlap's list of Lenovo and IBM models
- Linlap's list of Toshiba models
Old ISO images
64-bit
Porteus-D3D-Workshop-x86_64-v0.iso
Porteus-D3D-Workshop-x86_64-v1.iso
32-bit
Porteus_with_Pronterface_Slic3r_Arduino_and_D3D_Conf_v0.iso.
Communications
Torbjorn: Configured a 32-bit (64-bit machines can also use it) Porteus Live OS ISO today, taking up 412 MiB space, but looks quite good (KDE4), runs very very fast, includes Pronterface source code and starts Pronterface on boot.
I'm on a slow connection, so iso will take another hour to upload...
See if you can get it to work. We can step through it at the meeting tomorrow. http://opensourceecology.org/wiki/D3D_Live_ISO#ISO_images
Mac Work
Steps to boot Porteus on Macbook Air 2011
- Shut Down computer
- Insert USB thumb drive with Porteus 64-bit and EFI support installed (D3D ISO will be uploaded soon)
- Hold left "alt"-key while turning on the computer.
- Keep holding alt pressed for several seconds. A boot screen should eventually appear.
- The Porteus USB thumbstick will be represented by a yellow icon (sometimes with the text "windows", see picture). Choose Porteus using arrow keys and enter.
- The Macbook air should now boot Porteus
Above steps tested and shown to work by Tobben on Feb 22 2016.
Research
Ubuntu.com article
http://www.ubuntu.com/download/desktop/create-a-usb-stick-on-mac-osx
States:
Most Macs with Intel processors will work with either 64-bit or Mac images. If the 64-bit image doesn't work, try the Mac image.
Their DVD instructions simply consist of burning the iso onto the DVD with Disk Utility.
Recommends CD instead of USB.
Converts iso to an .img or .dmg file before using Disk Destroyer to burn the image onto the USB.
Makeuseof.com article
http://www.makeuseof.com/tag/how-to-boot-a-linux-live-usb-stick-on-your-mac/
Tested on 2011 Macbook pro.
Uses FAT32 ant master boot record partition.
Uses EFI boot.
Uses iso images that are somehow customized for mac.
support.apple.com article
https://support.apple.com/en-us/HT201663
Says we need GUID partition
rEFInd article
http://www.rodsbooks.com/refind/
Explains difference between boot manager and boot loader.
Says this about (U)EFI
Prior to mid-2011, few computers outside of Intel-based Macs used EFI; but starting in 2011, computer manufacturers began adopting UEFI in droves, so most computers bought since then use EFI.
Randomtutor article
http://randomtutor.blogspot.co.uk/2014/01/installing-ubuntu-on-retina-macbook-pro_19.html
Uses Ubuntu USB for Mac OS X article mentioned above with 64-bit Mac iso image.
Installs and uses the rEFInd boot manager:
cd ~/Downloads/refind-bin-0.7.7 ./install.sh --alldrivers
NOTE: If you have Mac OS X 10.10 (Yosemite) installed, then the rEFInd installation needs to be handled differently. See [22].
Porteus Forum Thread 1
http://forum.porteus.org/viewtopic.php?f=81&t=4177
Says that Porteus-installer-for-Linux.com script installs a boot loader.
rEFInd Forum Thread 1
https://sourceforge.net/p/refind/discussion/general/thread/b9c7cefa/
Suggests we should try rEFInd and Porteus with EFI boot first. Note that Roderick W. Smith is the rEFInd dev himself.
Earlier Work
http://rafaelalcocer.com/downloads/index.php?dirpath=./3D-printer&order=0
A Porteus user that created a lot of related i486 xzm packages. His blog: [23].
The aruino.xzm of D3D Porteus uses his packages jre-7u40-i586-1.xzm and 010-avr-package-v0.3-1-1b.xzm to back up Arduino.
Stripping it down
Time order | Change | Measured in | MiB saved |
---|---|---|---|
0 | Replaced KDE with Xfce | iso size | 41 |
1 | Removed dictionaries from Firefox | Deployed size | 0.6 |
2 | Removed developer tools (make, gcc, etc) | iso size | 72 |
3 | Removed changes folder | Deployed size | 80 |
4 | Removed optional packages | Deployed size | 1.7 |
5 | Removed unused geany scripts in avr package | Deployed size | 0.1 |
6 | Removed geany plugins docs in avr package | Deployed size | 6.4 |
7 | Removed man pages in avr package | Deployed size | 5.6 |
8 | Removed kicad from avr package | Deployed size | 17 |
9 | Removed /usr/share/doc from avr package | Deployed size | 13 |
10 | Removed /usr/share/geany and geany-plugins from avr package | Deployed size | 2.6 |
11 | Removed /usr/share/locale from avr package | Deployed size | 4.4 |
12 | Removed geany binary from avr package | Deployed size | 2.3 |
13 | Removed pcbnew and eeschema rests from kicad in avr package | Deployed size | 4.4 |
14 | Removed kontrollerlab binary from avr package | Deployed size | 1.3 |
15 | Removed ponyprog2000 from avr package | Deployed size | 0.8 |
16 | Removed remaining kicad files from avr package | Deployed size | 1 |
17 | Removed usr/lib/geany and geany-plugins from avr package | Deployed size | 1.5 |
18 | Removed folder x86_64-unknown-linux-gnu from /opt/arduino/hardware/tools/avr | Deployed size | 0.9 |
19 | Removed /opt/arduino/reference | Deployed size | 25 |
20 | Removed /usr/doc and man from python deps package | Deployed size | 53 |
21 | Removed locales from /usr/share/locale in python deps package | Deployed size | 9 |
22 | Removed gtk-doc in python deps package | Deployed size | 14 |
On Creating xzm Packages
Note that the packages that are created below are thrown together to work for the first workshop. They do not follow the Slax or Porteus package standards perfectly (found here (Slax) and here (Porteus)).
Choice of Compiler Version
Porteus v3.1 that we're building upon ships with gcc-4.3.2 by default (inside the devel-package). D3D Porteus versions with OpenSCAD pre-installed ship with an additional gcc-5.3.0 package, because of this bug: SegFault: Linux, gcc-4.8.2 #514
Creating the gcc-5.3.0.xzm Package in D3D Porteus
These instructions are compiled from Installing GCC found on gnu.org.
Compiling GCC From Source Within Porteus 64-bit
- The devel-package in Porteus v3.1 contains the prerequisities we need, make sure it is activated.
- Download the source code to a hard drive. I use my computer's installed SDD disk found on /mnt/sda. See list of mirrors for download.
- See list of gcc5 changes to know what you're installing. Note for example the new ABI for libstdc++. This could play a role in Porteus V3.1 since the package manager's binaries are probably compiled with gcc4. Be careful when using multiple compilers. For compiling libstd++ as the only statically linked library, use the -static-libstdc++ flag (see gcc link options).
- Create a build directory (called objdir in the gcc documentation) separate from the directory containing gcc source code (called srcdir in gcc documentation)
mkdir /path/to/objdir cd /path/to/objdir
- Configure while still standing in objdir. These flags are just the ones I use. See the documentation for what they mean.
/path/to/srcdir configure --prefix=/usr --libdir=/usr/lib --mandir=/usr/man --infodir=/usr/info \ --enable-shared --enable-bootstrap --enable-languages=c,c++,lto,fortran --enable-threads=posix \ --enable-checking=release --with-system-zlib --with-python-dir=/lib/python2.7/site-packages \ --disable-libunwind-exceptions --enable-__cxa_atexit --enable-libssp --with-gnu-ld \ --verbose --disable-gtktest --disable-multilib
- Make the executables You could just run 'make' here (without the quotes). This command will take a while to finish.
make -j 2 BOOT_CFLAGS='-O2' bootstrap-lean
- Also, make sure that gcc gets the -fPIC flag passed when building shared libraries (such as libstc++.so), see [24].
Installing to Staging area (fake root) and Packaging
- Create a directory that will act as the fake root
mkdir /path/to/fakeRoot
- Make sure you're still standing in objdir and do the install
make DESTDIR=/path/to/fakeRoot install
- Create the compressed package
dir2xzm /path/to/fakeRoot gcc-5.3.0-x86_64.xzm
- Move the package to your USB thumbdrive
mv gcc-5.3.0-x86_64.xzm /mnt/sdX1/porteus/optional
CAD Software
Compilation of OpenSCAD
- Create a basedir to compile dependencies in later
mkdir -p openscadBasedir/usr
- Set the BASEDIR variable for the setenv-unibuild.sh to use later.
BASEDIR=/path/to/openscadBasedir/usr
- Get source code. The files will be quite big, so cd to a hard drive before proceeding.
git clone https://github.com/openscad/openscad.git cd openscad
Compile OpenSCAD Dependencies
The Ones That the Repos Give us
- Note that superuser privileges might be needed to execute some of the following commands. Change to super user with 'su'. Change back with 'exit'.
- Start with git
usm -u all usm -g git
- Save and activate git
mv /tmp/usm/git-something.xzm /mnt/sdX1/porteus/modules activate /mnt/sdX1/porteus/modules/git-something.xzm
- Any qt-4 package usm gives you is good enough.
usm -g qt-4
- Save and activate qt-4
mv /tmp/usm/qt-4.x.x_something.xzm /mnt/sdX1/porteus/modules activate /mnt/sdX1/porteus/modules/qt-4.x.x_something.xzm
- To get around the SegFault: Linux, gcc-4.8.2 #514, use any other C/C++-compiler than gcc4.8.2, gcc4.8.1, clang3.3 or clang3.4 when compiling from source. If you've compiled gcc-5.3.0 like explained above do
activate /mnt/sdX1/porteus/optional/gcc-5.3.0-x86_64.xzm
The Ones That Openscad Helps Us Compile
- Openscad has scripts helping to install other dependencies. Run scripts from the openscad folder. First set variables and such with
source ./scripts/setenv-unibuild.sh
- We need an empty file in gtk-doc to work around a quirk in ragel's build script:
mkdir -p /usr/share/gtk-doc/data touch /usr/share/gtk-doc/data/gtk-doc.notmpl.make
- Then run the script that downloads and installs all necessary dependencies to the BASEDIR. This will download a lot of source code and do lots of compilation. It will take a while. Notice that this will create and place a lot of un-movable shared object files in BASEDIR. We won't consider this a problem since we're building a static binary later. If you want movable .so files, you will have to modify the build script.
./scripts/uni-build-dependencies.sh
- Clean up the 1.5 GB of source code
rm -r $BASEDIR/src
The One We Need to Fix Ourselves
- The script does not build QScintilla for us, so that needs to be built from source as well. The following procedure follows the pattern from uni-build-dependencies.sh
wget http://sourceforge.net/projects/pyqt/files/QScintilla2/QScintilla-2.9.1/QScintilla-gpl-2.9.1.tar.gz tar -xzvf QScintilla-gpl-2.9.1.tar.gz cd QScintilla-gpl-2.9.1/Qt4Qt5 qmake qscintilla.pro PREFIX=$BASEDIR make make install cd ../..
- Package up, move to USB thumbdrive and activate temporarily. Since .so files point at BASEDIR internally, this is only valid and used during this specific compilation.
dir2xzm $BASEDIR openscad-deps-x86_64.xzm activate openscad-deps-x86_64.xzm
- Check if dependencies are OK. This might fail to discover our qt-4 installation, in wich case you can run 'qmake -v' or 'pkg-config -modversion QtCore' to check manually.
./scripts/check-dependencies.sh
Compile OpenSCAD Itself
- Create the Makefile. Here, we send the -static flag to gcc, since OpenSCAD's dependencies will be used for OpenSCAD only (including gcc-5.3.0).
qmake openscad.pro PREFIX=/usr CONFIG+=libstatic
- Compile the binary. This takes a while.
make -j2
- Deactivate the openscad-deps package created earlier.
deactivate openscad-deps-x86_64.xzm rm openscad-deps-x86_64.xzm
- Test the binary
./openscad
- Test that the binary was really statically compiled. This should produce no output.
lld openscad
- Move files over to an installation dir
INSTALL_DIR=/path/to/some/installdir INSTALL_ROOT=$INSTALL_DIR make install
Create the OpenSCAD Package
- Create a desktop icon
mkdir -p $INSTALL_DIR/home/guest/Desktop echo -e '#!/usr/bin/env xdg-open\n[Desktop Entry]\nEncoding=UTF-8\nName=OpenSCAD\nExec=openscad\nIcon=openscad\nType=Application' > $BASEDIR/home/guest/Desktop/OpenSCAD.desktop
- Fix the permissions and ownership of files
chown -R guest $INSTALL_DIR/home/guest chgrp -R guest $INSTALL_DIR/home/guest chmod a+x $INSTALL_DIR/home/guest/Desktop/OpenSCAD.desktop
- Create the package and move it
dir2xzm $INSTALL_DIR openscad-with-deps-x86_64.xzm mv openscad-with-deps-x86_64.xzm /mnt/sdX1/porteus/modules
- Reboot and see it it worked. Note that the qt-4 package must be activated before calling the openscad executable binary.
Compilation of FreeCAD
These instructions were compiled from FreeCAD's official instructions.
Note that using FreeCAD requires a lot of RAM. One of Porteus' most distinct features is the ability to copy the whole OS to RAM at boot time, giving a very responsive usage experience. However, before using the copy2ram feature, we must translate free disk space-requirements into RAM-requirements.
FreeCAD depends on the OpenCasCade library which in itself requires ~600MB, just for storage, and an additional ~512MB RAM while running. Such high system requirements makes FreeCAD unusable with the copy2ram boot flag unless the used computer has 8 GiB or more of RAM.
Compile FreeCAD Dependencies
When building from source within a Porteus that is loaded into RAM, be sure to build in a directory with several GiB of free storage space. Even though we compiled the dependencies Boost and Eigen3 ourselves with gcc-5.3.0 in the OpenSCAD instructions above, we'll try to use versions compiled with gcc-4.3.2 for FreeCAD. FreeCAD, like OpenSCAD, depends on Python, git and Qt. See the OpenSCAD instructions for how to get this from Slackware's repos.
OpenCasCade
Build from source
git clone git://github.com/tpaviot/oce.git cd oce mkdir build cd build cmake -DOCE_INSTALL_PREFIX:PATH=/usr -DCPACK_BINARY_STGZ:BOOL=OFF -DCPACK_BINARY_TGZ:BOOL=ON -DCPACK_BINARY_TZ:BOOL=OFF -DCPACK_SOURCE_TBZ2:BOOL=OFF -DCPACK_SOURCE_TGZ:BOOL=OFF -DCPACK_SOURCE_TZ:BOOL=OFF ..
The next step will take a long time to finish.
make -j2 make package mv OCE-xxx.tar.gz OCE-xxx.tgz txz2xzm OCE-xxx.xzm
Move the package to the USB thumbdrive and activate.
Boost
- Available as precompiled package
usm -s boost
Coin3D
Build from source
wget https://bitbucket.org/Coin3D/coin/downloads/Coin-3.1.3.tar.gz tar -xzvf Coin-3.1.3.tar.gz mkdir Coin_install mkdir Coin_build cd Coin_build ../Coin-3.1.3/configure --prefix=/usr CC=gcc CXX=gcc make -j2 make DESTDIR=/path/to/Coin_install install
Tested this, and even tested the CMake branch. Both failed. The CMake version completed build, but SoQt later required a coin coin-config executable. This executable required a configuration file somewhere in /usr/share... Didn't manage to locate the coin-default.cfg file and put it in place.
SoQt
- This is available as a Slackbuild, but depends on Coin3D to build.
usm -g SoQt
Xerces-C++
- Build from source
Eigen3
- Available as precompiled package
usm -s Eigen3
Shiboken
- This is available as a Slackbuild.
usm -s shiboken
libarea
- Build from source
Compile FreeCAD Itself
Get the latest FreeCAD source code.
git clone https://github.com/FreeCAD/FreeCAD.git free-cad-code
Arduino
This should get an xzm package containing java
usm -g openjre-7u79
This doesn't create a link to the executable java from /usr/bin, so lets add that
mkdir jav xzm2dir openjre-7u79_b14-x86_64-bundle.xzm jav cd jav/usr/bin ln -s /usr/lib64/java/jre/bin/java java cd ../../.. deactivate openjre-7u79_b14-x86_64-bundle.xzm rm openjre-7u79_b14-x86_64-bundle.xzm dir2xzm jav openjre-7u79_b14-x86_64-bundle_with_symlink.xzm activate openjre-7u79_b14-x86_64-bundle_with_symlink.xzm
That should give you jre with the symlink.
Arduino itself is found in slackbuilds
usm -s arduino
If there's a md5sum mismatch, try
cat /tmp/usmsbo/arduino/arduino.info
to get the download url anyways, or clone the repo with
git clone https://github.com/arduino/Arduino.git
Independent of how you got the source code, put it in /tmp/usmsbo/aruino/arduino-1.6.5 and run usm again
usm -s arduino
For some reason, Arduino and openjre need gsettings-desktop-schemas to work together
usm -g gsettings-desktop-schemas
Getting Icon On Desktop
Navigate to where you put the arduino-1.6.5-x86_64-1_SBo.xzm package.
mkdir ard xzm2dir arduino-1.6.5-x86_64-1_SBo.xzm ard cd ard mkdir -p home/guest/Desktop echo -e '#!/usr/bin/env xdg-open\n'\ '[Desktop Entry]\n'\ 'Type=Application\n'\ 'Name=Arduino IDE\n'\ 'GenericName=Integrated Development Environment\n'\ 'Comment=An IDE for Arduino-compatible electronics prototyping platforms\n'\ 'Exec=/opt/arduino/arduino\n'\ 'Icon=/opt/arduino/lib/arduino.png\n'\ 'Terminal=false\n'\ 'Categories=Development;IDE;Electronics;\n'\ 'MimeType=text/x-arduino\n'\ 'Keywords=embedded electronics;electronics;avr;microcontroller;' > home/guest/Desktop/arduino.desktop chown -R guest home/guest chgrp -R guest home/guest chmod u+x home/guest/Desktop/arduino.desktop cd .. deactivate arduino-1.6.5-x86_64-1_SBo.xzm rm arduino-1.6.5-x86_64-1_SBo.xzm dir2xzm ard arduino-1.6.5-x86_64-1_with_desktop_icon.xzm activate arduino-1.6.5-x86_64-1_with_desktop_icon.xzm
That's it, now you should get a nice icon on your desktop when you activate the package.