Elmar Hanlhofer - Grinch Selfie
zoom

English / Deutsch | Print version Plop Linux  
Twitter
twitter

Plop Linux - ARM CPU Version



Table of Contents


• Introduction
• System requirements
• Screenshots
• Download
• Differences to i486, x86_64
• QEMU
• Raspberry Pi, GPU userland apps and camera tools
• Banana Pi
• Cubietruck, USB OTG g_hid, g_mass_storage
• Configurations
• Cross compile Linux Kernel
• Cross build with chroot
• Hardware

Introduction


Plop Linux is a distribution built from scratch. It's designed for advanced Linux users. See also Desktop and Server section.


Current stable: 4.3.2 for i486 (32-bit), x86_64 (64-bit) and ARM CPU armv6l


System requirements


System requirements for the ARM version:

  • ARM armv6l compatible processor
  • 64 MB RAM
  • 4 GB partition


Screenshots


Console

zoom
     Console

zoom
     Fluxbox

zoom

 
Xfce

zoom
     Xfce

zoom
     Xfce on ARM CPU

zoom

Download


Support the free Plop Linux with a donation.


Current version: 4.3.2, 01/Dec/2016

Plop Linux License
GNU GPL 2

Plop Linux Changelog
Plop Linux Packages Changelog

List of Source Code files (programs): show / hide - download.

05-configs:
	20-nvidia.conf
	download_src
	etc.min
	myconfigure
	myxconfigure

10-kernel:
	00_create_patch
	020_install-kernel-header
	configs-x86
	firmware
	kernel-setup.txt
	linux-4.2.8.patch
	linux-4.8.11.tar.xz
	README_ARM.txt
	
10-kernel/firmware:
		10_b_firmware
		firmware-nonfree_0.36+wheezy.1~bpo60+1.tar.gz
		
15-build-tools:
	000_all
	00_check64
	00_create_patch
	00_local
	00_stdio_gets
	check-logs.sh
	cmake-opt
	download-docu.sh
	findoldfiles.sh
	generate-docu-filelist.php
	mark-old.sh
	removeemptydirs.sh
	replace.sh
	rm-filelist.sh
	syslinux.exe
	
20-core:
	000_all
	000_src
	000_src-add
	001_continue
	002_download
	00_create_patch
	010_b_init
	020_X_glibc
	021_X_glibc_after_update
	040_b_manpages
	050_b_zlib
	060_b_tcl
	070_b_expect
	080_b_file
	090_b_binutils
	095_b_libxml2
	100_b_gmp
	105_b_isl
	110_b_mpfr
	120_b_mpc
	130_b_gcc
	135_b_gcc-post
	138_b_ecj
	140_b_sed
	150_b_bzip2
	155_b_cracklib
	160_b_pkgconfig
	165_b_gpm
	170_b_ncurses
	180_b_utillinux
	190_b_psmisc
	200_b_procps
	200_b_which
	210_b_e2fsprogs
	220_b_shadow
	230_b_coreutils
	240_b_ianaetc
	250_b_m4
	260_b_bison
	270_b_grep
	280_b_readline
	290_b_bash
	300_b_libtool
	310_b_gdbm
	320_b_inetutils
	330_b_perl
	340_b_autoconf
	350_b_automake
	360_b_diffutils
	370_b_gawk
	380_b_findutils
	390_b_flex
	400_b_gettext
	410_b_groff
	420_b_xz
	430_b_grub2
	440_b_less
	450_b_gzip
	460_b_iproute2
	470_b_check
	475_b_kbd
	480_b_kmod
	490_b_libpipeline
	500_b_make
	510_b_mandb
	515_b_attr
	516_X_acl
	520_b_patch
	530_b_syslogd
	540_b_sysvinit
	550_b_tar
	560_b_libcap
	560_b_texinfo
	570_b_vim
	580_b_pcre
	590_b_expat
	600_b_libffi
	610_b_python2
	615_X_python3
	620_b_glib
	625_b_slang
	630_b_mc
	640_b_bc
	650_b_kerberos
	660_b_openssl
	670_b_ssh
	675_b_gperf
	676_b_pciutils
	680_b_eudev
	680_X_udev
	685_b_libgudev
	690_b_fuse_sshfs
	700_b_sshfs
	710_b_lynx
	720_b_ca-certs
	730_b_glibc_timezone
	740_b_gfdisk
	999_b_cleanupetc
	999_b_cleanupusr
	
20-core/000_src:
		acl-2.2.52.src.tar.gz
		attr-2.4.47.src.tar.gz
		autoconf-2.69.tar.xz
		automake-1.15.tar.gz
		bash43-031
		bash43-032
		bash43-033
		bash43-034
		bash43-035
		bash43-036
		bash43-037
		bash43-038
		bash43-039
		bash43-040
		bash43-041
		bash43-042
		bash43-043
		bash43-044
		bash43-045
		bash43-046
		bash-4.3.30.tar.gz
		bc-1.06.95.tar.bz2
		binutils-2.27.tar.bz2
		bison-3.0.4.tar.gz
		bzip2-1.0.6.tar.gz
		check-0.10.0.tar.gz
		coreutils-8.25.tar.xz
		cracklib-2.9.4.tar.gz
		cracklib-words-20080507.gz
		diffutils-3.5.tar.xz
		e2fsprogs-1.43.3.tar.gz
		ecj-4.9.jar
		eudev-3.2.tar.gz
		expat-2.2.0.tar.bz2
		expect5.45.tar.gz
		file-5.28.tar.gz
		findutils-4.6.0.tar.gz
		flex-2.6.0.tar.bz2
		fuse-2.9.7.tar.gz
		gawk-4.1.4.tar.gz
		gcc-6.2.0.tar.bz2
		gdbm-1.12.tar.gz
		gettext-0.19.8.tar.gz
		glib-2.50.0.tar.xz
		glibc-2.24.tar.bz2
		gmp-6.1.1.tar.bz2
		gperf-3.0.4.tar.gz
		gpm-1.20.7.tar.bz2
		gptfdisk-1.0.1.tar.gz
		grep-2.25.tar.xz
		groff-1.22.3.tar.gz
		grub-2.00.tar.gz
		gzip-1.8.tar.xz
		iana-etc-2.30.tar.bz2
		inetutils-1.9.4.tar.gz
		intltool-0.51.0.tar.gz
		iproute2-4.7.0.tar.gz
		isl-0.17.1.tar.xz
		kbd-2.0.3.tar.gz
		kmod-23.tar.gz
		krb5-1.14.3.tar.gz
		less-481.tar.gz
		libcap-2.25.tar.xz
		libffi-3.2.1.tar.gz
		libgudev-230.tar.xz
		libpipeline-1.4.1.tar.gz
		libtool-2.4.6.tar.xz
		libxml2-2.9.4.tar.gz
		lynx2.8.8rel.2.tar.gz
		m4-1.4.17.tar.gz
		make-4.2.tar.gz
		man-db-2.7.5.tar.xz
		man-pages-4.07.tar.gz
		mc-4.8.18.tar.xz
		mpc-1.0.2.tar.gz
		mpfr-3.1.4.tar.xz
		ncurses-6.0.tar.gz
		openssh-7.3p1.tar.gz
		openssl-1.0.2j.tar.gz
		patch-2.7.5.tar.xz
		pciutils-3.5.1.tar.xz
		pcre-8.39.tar.bz2
		perl-5.24.0.tar.gz
		pkg-config-0.29.1.tar.gz
		procps-ng-3.3.12.tar.xz
		psmisc-22.21.tar.gz
		Python-2.7.12.tar.xz
		Python-3.4.5.tar.xz
		readline-6.3.tar.gz
		sed-4.2.2.tar.gz
		shadow-4.2.1.tar.xz
		slang-2.2.4.tar.bz2
		sshfs-fuse-2.5.tar.gz
		sysklogd-1.5.1.tar.gz
		sysvinit-2.88dsf.tar.bz2
		tar-1.29.tar.xz
		tcl8.6.6-src.tar.gz
		texinfo-6.2.tar.xz
		tk8.6.6-src.tar.gz
		tzdata2016f.tar.gz
		udev-182.tar.xz
		util-linux-2.28.tar.xz
		vim-7.4.tar.bz2
		which-2.21.tar.gz
		xz-5.2.2.tar.gz
		zlib-1.2.8.tar.gz
		
20-core/000_src-add:
		65-kvm.rules
		download.list
		gcc
		glibc
		mc
		openssl
		sysklogd-1.5.patch
		syslog.conf
		udev-182.patch
		vimrc
		
20-core/000_src-add/gcc:
			gcc-arm-java.patch
			gcc_configure-armv6l
			gcc_configure-i32
			gcc_configure-i64
			gcc_configure-i64-multilib
			gcc_info_libstdc++
			
20-core/000_src-add/glibc:
			glibc_configure-armv6l
			glibc_configure-i32
			glibc_configure-i32on64
			glibc_configure-i64
			glibc_install
			glibc_install_locale
			glibc.txt.locale.sh
			
20-core/000_src-add/mc:
			doc.sh
			image.sh
			mc-4.8.10.patch
			php.syntax
			
20-core/000_src-add/openssl:
			build_openssl-armv6l
			build_openssl-i32
			build_openssl-i64
			
30-console:
	010-network-1
	020-lilo
	030-tools
	040-crypt
	050-network-2
	060-cd-dvd
	070-plop
	080-wireless
	090-tools-2
	100-benchmark
	110-image-libs
	120-printer
	all.sh
	gcc-test32
	
30-console/010-network-1:
		000_all
		000_src
		000_src-add
		001_continue
		002_download
		00_create_patch
		010_X_rpcnis-headers
		012_b_curl
		014_b_nettle
		015_b_libtansn1
		016_b_gnutls
		018_b_wget
		020_b_whois
		030_b_bind
		040_b_dhcp
		045_b_sqlite
		046_b_apr
		047_b_apr-util
		050_b_svn
		060_X_mercurial
		070_b_git
		080_b_iptables
		090_b_iptraf-ng
		100_b_libpcap
		110_b_tcpdump
		120_b_tcpflow
		130_b_etherwake
		140_b_ethtool
		150_b_minicom
		160_b_mutt
		170_b_ncftp
		180_b_net-tools
		190_b_netcat
		200_b_nmap
		210_b_ntp
		220_b_proftpd
		230_b_tcpwrappers
		240_b_tftpd
		250_b_wol
		260_b_cvs
		270_b_libtirpc
		280_b_rpcbind
		290_b_xinetd
		300_b_vnstat
		310_b_portmap
		320_X_libupnp
		330_X_ushare
		x_ptyhon2-tmp
		
30-console/010-network-1/000_src:
			apr-1.5.2.tar.gz
			apr-util-1.5.4.tar.gz
			bind-9.10.4.tar.gz
			curl-7.50.2.tar.gz
			cvs-1.11.23.tar.bz2
			dhcp-4.3.4.tar.gz
			etherwake_1.09.orig.tar.gz
			ethtool-4.6.tar.xz
			gnutls-3.4.15.tar.xz
			iptables-1.6.0.tar.bz2
			iptraf-ng-1.1.4.tar.gz
			iputils-s20121221.tar.bz2
			libpcap-1.7.4.tar.gz
			libtasn1-4.9.tar.gz
			libtirpc-1.0.1.tar.bz2
			master.zip
			mercurial-3.9.1.tar.gz
			minicom-2.7.tar.gz
			mutt-1.7.0.tar.gz
			ncftp-3.2.5-src.tar.bz2
			netcat-0.7.1.tar.gz
			nettle-3.2.tar.gz
			net-tools-1.60.tar.bz2
			nmap-7.12.tar.bz2
			ntp-4.2.8p8.tar.gz
			portmap-6.0.tgz
			proftpd-1.3.5b.tar.gz
			rpcbind-0.2.3.tar.bz2
			sqlite-autoconf-3140100.tar.gz
			subversion-1.9.4.tar.gz
			tcpdump-4.7.4.tar.gz
			tcpflow-0.21.tar.gz
			tcp_wrappers_7.6.tar.gz
			tftp-hpa-0.40.tar.gz
			vnstat-1.15.tar.gz
			wget-1.18.tar.xz
			whois_5.2.12.tar.xz
			wol-0.7.1.tar.gz
			xinetd-2.3.15.tar.gz
			
30-console/010-network-1/000_src-add:
			dhcp-4.3.1-client_script-1.patch
			download.list
			libtirpc-0.3.2-api_fixes-1.patch
			named-chroot.tar.gz
			net-tools
			rpcbind-0.2.3-tirpc_fix-1.patch
			startnamed
			tcp_wrappers-7.6-shared_lib_plus_plus-1.patch
			ushare
			xinetd-2.3.15.patch
			
30-console/010-network-1/000_src-add/net-tools:
				if_strip.h
				if_tr.h
				net-tools-1.60-gcc34-3.patch
				net-tools-1.60-kernel_headers-2.patch
				net-tools-1.60-mii_ioctl-1.patch
				
30-console/010-network-1/000_src-add/ushare:
				latest-upnp-api.patch
				ushare-1.1a.patch
				
30-console/020-lilo:
		000_all
		000_src
		000_src-add
		001_continue
		002_download
		10_b_as86
		20_b_bin86
		30_b_sharutils
		40_b_lilo
		
30-console/020-lilo/000_src:
			as86-0.16.19.tar.gz
			bin86-0.16.19.tar.gz
			lilo-24.2.tar.gz
			sharutils-4.15.tar.xz
			
30-console/020-lilo/000_src-add:
			bin86-0.16.19-x86_64-1.patch
			download.list
			
30-console/030-tools:
		000_all
		000_src
		000_src-add
		001_continue
		002_download
		00_create_patch
		030_b_zip
		040_b_unzip
		050_b_acpid
		060_b_base64
		070_b_cabextract
		080_b_cpio
		090_b_cpufrequtils
		100_b_deb2targz
		105_b_dpkg
		110_b_dhex
		120_b_dialog
		130_b_dosfstools
		140_X_gettext-DUPLICATE
		150_b_hddtemp
		155_b_hdparm
		160_b_hexedit
		170_b_htop
		190_b_kexectools
		210_b_lsof
		220_X_laptop-mode-tools
		240_b_lzo
		250_b_mdadm
		260_b_mtools
		270_b_nano
		280_b_nasm
		290_b_ntfs-3g
		300_b_p7zip
		320_b_parted
		324_X_slang-DUPLICATE
		325_b_newt
		330_b_partimage
		350_b_reiserfsprogs
		355_b_libaal
		360_b_reiser4progs
		370_b_partclone
		380_b_rpm2targz
		390_b_screen
		400_b_lm-sensors
		410_b_smartmontools
		420_b_squashfs
		430_b_strace
		440_b_sudo
		450_b_sysfsutils
		455_b_gnu-efi
		460_b_syslinux32-64
		470_b_sysstat
		480_b_testdisk
		490_b_ucl
		500_b_unrar
		505_b_libusb
		510_b_usbutils
		520_b_wipe
		530_b_grub
		540_b_fsarchiver
		550_b_dbus
		560_b_cmake
		580_b_cron
		590_b_dos2unix
		600_b_memtester
		610_b_gpart
		620_b_libbsd
		630_b_hfsprogs
		650_b_libaio
		660_b_multipathtools
		670_b_uboot-mkimage
		680_b_bindfs
		680_b_convmv
		690_b_xfsprogs
		700_b_btrfs-progs
		710_b_dmidecode
		720_b_libmtp
		730_b_jmtpfs
		740_b_atop
		750_b_ncdu
		999_b_cleanupetc
		999_b_cleanupusr
		
30-console/030-tools/000_src:
			1.69.2.tar.gz
			acpid-2.0.27.tar.xz
			atop-2.2-3.tar.gz
			base64-1.5.tar.gz
			bindfs-1.13.1.tar.gz
			btrfs-progs-v4.7.tar.xz
			cabextract-1.6.tar.gz
			cmake-3.6.2.tar.gz
			convmv-2.0.tar.gz
			cpio-2.12.tar.gz
			cpufrequtils-008.tar.gz
			dbus-1.11.4.tar.gz
			dhex_0.68.tar.gz
			dialog.tar.gz
			dmidecode-3.0.tar.xz
			dos2unix-7.3.4.tar.gz
			dosfstools-4.0.tar.gz
			dpkg_1.18.10.tar.xz
			fsarchiver-0.6.19.tar.gz
			gnu-efi-3.0.4.tar.bz2
			grub-0.97.tar.gz
			hddtemp-0.3-beta15.tar.bz2
			hddtemp.db
			hdparm-9.48.tar.gz
			hexedit-1.2.13.src.tgz
			hfsprogs_332.25-11.debian.tar.gz
			hfsprogs_332.25.orig.tar.gz
			htop-1.0.2.tar.gz
			jmtpfs_0.5.orig.tar.gz
			kexec-tools-2.0.13.tar.xz
			libaal-1.0.6.tar.gz
			libaio_0.3.110.orig.tar.gz
			libbsd-0.8.3.tar.xz
			libmtp-1.1.12.tar.gz
			libusbx-1.0.18.tar.bz2
			lm_sensors-3.4.0.tar.bz2
			lsof_4.89.tar.bz2
			lzo-2.09.tar.gz
			mdadm-3.4.tar.xz
			memtester-4.3.0.tar.gz
			mtools-4.0.18.tar.gz
			multipath-tools-0.5.0.tar.bz2
			nano-2.7.0.tar.gz
			nasm-2.12.02.tar.xz
			ncdu-1.11.tar.gz
			newt-0.52.19.tar.gz
			ntfs-3g_ntfsprogs-2016.2.22AR.1.tgz
			p7zip_16.02_src_all.tar.bz2
			partclone-0.2.89.tar.gz
			parted-3.1.tar.xz
			partimage_0.6.8-2.2.debian.tar.gz
			partimage-0.6.9.tar.bz2
			reiser4progs-1.1.0.tar.gz
			reiserfsprogs-3.6.25.tar.xz
			screen-4.4.0.tar.gz
			smartmontools-6.5.tar.gz
			squashfs4.3.tar.gz
			strace-4.13.tar.xz
			sudo-1.8.17p1.tar.gz
			suspend-utils-1.0.tar.bz2
			sysfsutils-2.1.0.tar.gz
			syslinux-6.03.tar.xz
			sysstat-11.4.0.tar.gz
			testdisk-7.0.tar.bz2
			uboot-mkimage_0.4.tar.gz
			ucl-1.03.tar.gz
			unrarsrc-5.3.4.tar.gz
			unzip610b.zip
			usbutils-007.tar.xz
			wipe-2.3.1.tar.bz2
			xfsprogs-4.7.0.tar.gz
			zip30.tar.gz
			
30-console/030-tools/000_src-add:
			1-1-package-ucl-fix-build-with-host-gcc-6.x.patch
			cron_4.1.shar
			deb2targz
			download.list
			gpart
			hddtemp_0.3-beta15-52.patch
			parted-3.1-readline.patch
			reiser4progs-1.0.9-readline.patch
			rpm2targz.tar.bz2
			startdbus-daemon
			syslinux
			syslinux-6.02-32bit.tar.gz
			syslinux-Makefile.patch
			
30-console/030-tools/000_src-add/gpart:
				gpart_0.1h-11.diff.gz
				gpart-0.1h.patch
				gpart-0.1h.tar.gz
				
30-console/030-tools/000_src-add/syslinux:
				2686a69.patch
				9b9d9db.patch
				ab01326.patch
				
30-console/040-crypt:
		000_all
		000_src
		000_src-add
		001_continue
		002_download
		00_create_patch
		010_b_LVM
		020_b_popt
		030_b_libgpg-error
		040_b_libgcrypt
		050_b_libassuan
		060_b_libksba
		070_b_npth
		080_b_gnupg
		090_X_cryptsetup-old
		100_b_cryptsetup
		110_b_encfs
		
30-console/040-crypt/000_src:
			cryptsetup-1.7.2.tar.xz
			gnupg-2.1.15.tar.bz2
			libassuan-2.4.3.tar.bz2
			libgcrypt-1.7.3.tar.bz2
			libgpg-error-1.24.tar.bz2
			libksba-1.3.5.tar.bz2
			LVM2.2.02.165.tgz
			npth-1.2.tar.bz2
			popt-1.16.tar.gz
			v1.9.zip
			
30-console/040-crypt/000_src-add:
			cryptsetup-1.0.7.patch
			download.list
			
30-console/050-network-2:
		000_all
		000_src
		000_src-add
		001_continue
		002_download
		250_X_python2
		300_b_samba
		305_b_cifs-utils
		310_b_libevent
		315_b_libnfsidmap
		320_b_nfs
		
30-console/050-network-2/000_src:
			cifs-utils-6.6.tar.bz2
			libevent-2.0.22-stable.tar.gz
			libnfsidmap-0.25.tar.gz
			nfs-utils-1.3.4.tar.bz2
			Python-2.7.12.tar.xz
			samba-4.5.0.tar.gz
			
30-console/050-network-2/000_src-add:
			download.list
			nfs-utils-1.3.0-gcc_4_9-1.patch
			startnfs
			
30-console/060-cd-dvd:
		000_all
		000_src
		000_src-add
		001_continue
		002_download
		030_b_cdrtools
		040_b_libdvdread
		050_b_lsdvd
		060_b_dvd+rw-tools
		070_b_cdrkit
		
30-console/060-cd-dvd/000_src:
			cdrkit_1.1.11.orig.tar.gz
			cdrtools-3.02a06.tar.gz
			dvd+rw-tools-7.1.tar.gz
			libdvdread-5.0.3.tar.bz2
			lsdvd-0.17.tar.gz
			
30-console/060-cd-dvd/000_src-add:
			download.list
			dvd+rw-tools-7.1-Makefile.patch
			dvd+rw-tools-7.1-transport.patch
			
30-console/070-plop:
		000_all
		000_src
		000_src-add
		002_download
		010_b_hfsprescue
		020_X_pimgrestore
		030_b_plpcfgbt
		040_X_plpmkboot
		050_b_tools
		
30-console/070-plop/000_src:
			hfsprescue-3.2.tar.gz
			pimgrestore-0.3.tgz
			plpcfgbt-0.11.zip
			plpmkboot-0.1.zip
			
30-console/070-plop/000_src-add:
			adduser
			download.list
			flush-cache
			pimgrestore-0.3.patch
			plpgrabbt
			plpmkboot-0.1.tar.gz
			plpwritebt
			sshkeygen.sh
			
30-console/080-wireless:
		000_all
		000_src
		000_src-add
		001_continue
		002_download
		010_b_libnl
		020_b_wpa_supplicant
		030_b_wireless-tools
		
30-console/080-wireless/000_src:
			libnl-3.2.25.tar.gz
			wireless_tools.29.tar.gz
			wpa_supplicant-2.5.tar.gz
			
30-console/080-wireless/000_src-add:
			download.list
			wpa-supplicant-.config
			
30-console/090-tools-2:
		000_all
		000_src
		000_src-add
		002_download
		010_b_chntpw
		020_b_rkhunter
		
30-console/090-tools-2/000_src:
			chntpw-source-140201.zip
			rkhunter-1.4.2.tar.gz
			
30-console/090-tools-2/000_src-add:
			download.list
			
30-console/100-benchmark:
		000_all
		000_src
		000_src-add
		002_download
		010_b_sysbench
		020_b_mbw
		030_b_iperf
		040_b_nmon
		
30-console/100-benchmark/000_src:
			1.0.zip
			16f.tar.gz
			iperf-3.1.3-source.tar.gz
			master.zip
			
30-console/100-benchmark/000_src-add:
			download.list
			
30-console/110-image-libs:
		000_all
		000_src
		000_src-add
		002_download
		010_b_libpng
		020_b_libpng1.2
		030_b_giflib
		040_b_jpeg-turbo
		050_b_jpeg
		060_b_openjpeg
		070_b_jasper
		080_b_tiff
		
30-console/110-image-libs/000_src:
			giflib-5.1.4.tar.bz2
			jasper-1.900.1.zip
			jpegsrc.v9b.tar.gz
			libjpeg-turbo-1.5.0.tar.gz
			libpng-1.2.56.tar.xz
			libpng-1.6.24.tar.xz
			tiff-4.0.6.tar.gz
			v2.1.1.tar.gz
			
30-console/110-image-libs/000_src-add:
			download.list
			
30-console/120-printer:
		000_all
		000_src
		000_src-add
		002_download
		00_create_patch
		050_b_cups
		100_b_--ghostscript-----
		110_b_freetype
		120_b_fontconfig
		130_b_lcms2
		140_b_ghostscript
		150_b_ghostscript-fonts
		200_b_--cups-filters-----
		210_b_ijs
		220_b_poppler
		230_b_poppler-data
		240_b_qpdf
		250_b_cups-filters
		300_b_--other----
		310_b_gutenprint
		
30-console/120-printer/000_src:
			cups-2.2.0-source.tar.gz
			cups-filters-1.11.2.tar.xz
			fontconfig-2.12.1.tar.gz
			freetype-2.7.tar.gz
			ghostscript-9.19.tar.gz
			ghostscript-fonts-std-8.11.tar.gz
			gnu-gs-fonts-other-6.0.tar.gz
			gutenprint-5.2.12-pre1.tar.bz2
			ijs-0.35.tar.bz2
			lcms2-2.8.tar.gz
			poppler-0.47.0.tar.xz
			poppler-data-0.4.7.tar.gz
			qpdf-6.0.0.tar.gz
			
30-console/120-printer/000_src-add:
			download.list
			ghostscript-9.16.patch
			
40-X:
	01-pre-xorg
	02-xorg
	03-xorg-confs
	04-xorg-post
	05-audio-libs
	10-xfce
	11-fluxbox
	1READMExorg-cfg
	20-tools
	final-db-update
	
40-X/01-pre-xorg:
		01-initial
		02-docboock-xml
		04-libs
		all.sh
		
40-X/01-pre-xorg/01-initial:
			prepare.sh
			
40-X/01-pre-xorg/02-docboock-xml:
			000_all
			000_src
			010_b_docbook4.5
			020_b_xsl
			030_b_xmlto
			040_b_xslt
			1README
			getallxml
			
40-X/01-pre-xorg/02-docboock-xml/000_src:
				1xml
				2xml
				3xml
				4.1xml
				4.4xml
				4.5xml
				docbkx412.zip
				docbook-all.tar.gz
				docbook-xml-4.2.zip
				docbook-xml-4.3.zip
				docbook-xml-4.4.zip
				docbook-xml-4.5.zip
				docbook-xsl-1.78.1.tar.bz2
				etcxml.tgz
				libxslt-1.1.29.tar.gz
				xmlto-0.0.26.tar.bz2
				
40-X/01-pre-xorg/04-libs:
			000_all
			000_src
			000_src-add
			002_download
			020_b_libevdev
			030_b_llvm
			100_X_libdrm
			110_X_presentproto
			120_b_intltool
			
40-X/01-pre-xorg/04-libs/000_src:
				intltool-0.51.0.tar.gz
				libdrm-2.4.70.tar.gz
				libevdev-1.5.4.tar.xz
				llvm-3.7.0.src.tar.xz
				llvm-3.9.0.src.tar.xz
				presentproto-1.0.tar.bz2
				
40-X/01-pre-xorg/04-libs/000_src-add:
				download.list
				
40-X/02-xorg:
		01-get
		02-clone-and-build
		02-clone-and-build-error
		03-build
		1pre-additional
		2adds
		arm-cpu
		build_mesa
		build.sh
		build.tar.gz
		build_xdm
		clear
		clone.sh
		fix-fbBres.patch
		mesa.patch
		readme
		util
		xorg-server-1.18.4.tar.bz2
		
40-X/02-xorg/1pre-additional:
			010_b_setuptools
			030_b_Mako
			1README
			get-setuptools-for-2.x
			Mako-1.0.4.tar.gz
			setuptools-27.2.0.zip
			
40-X/02-xorg/2adds:
			000_all
			glamor-egl-0.6.0.tar.gz
			libepoxy-1.3.1.tar.bz2
			libwacom-0.22.tar.bz2
			libXfont-1.5.2.tar.gz
			mtdev-1.1.5.tar.gz
			
40-X/02-xorg/arm-cpu:
			arm-build-mesa
			build.sh
			mesa-11.0.2.tar.gz
			SEGFAULT-INFO
			
40-X/02-xorg/util:
			modular
			
40-X/02-xorg/util/modular:
				addconfigh.awk
				build.sh
				changelog-consolidator.pl
				copybuild.sh
				COPYING
				haschanged.sh
				jhbuildrc
				make-readme.pl
				module-list.txt
				release.sh
				roll-it-up.sh
				update-moduleset.sh
				x-driver-screen-scrn-conv.sh
				x-indent-all.sh
				x-indent.sh
				xorg-7.0.modules
				xorg-7.6.modules
				xorg.modules
				
40-X/03-xorg-confs:
		000_all
		000_src
		010_b_copy-xorg.conf.d
		130_b_plop
		
40-X/03-xorg-confs/000_src:
			Adwaita-PlopLinux.tar.gz
			armored-eye-wallpaper2-blue.jpg
			armored-eye-wallpaper2-green.jpg
			etc
			ploplinux-x-bg.png
			plop.png
			plop-website.desktop
			startxvesa
			
40-X/03-xorg-confs/000_src/etc:
				X11
				
40-X/03-xorg-confs/000_src/etc/X11:
					xorg.conf.d
					xorg.conf.vesa
					
40-X/03-xorg-confs/000_src/etc/X11/xorg.conf.d:
						80-ctrl-alt-bksp.conf
						80-cyborgrat-3.conf
						80-cyborgrat-3-madcatz.conf
						80-cyborgrat-5.conf
						
40-X/04-xorg-post:
		000_all
		000_src
		000_src-add
		002_download
		10_b_desktop-file-utils
		20_b_ttf-bitstream-vera
		30_b_xterm
		40_b_glu
		50_b_freeglut
		60_b_glew
		70_b_mesa-demos
		80_b_shared-mime-info
		
40-X/04-xorg-post/000_src:
			desktop-file-utils-0.23.tar.xz
			freeglut-3.0.0.tar.gz
			glew-1.13.0.tgz
			glu-9.0.0.tar.bz2
			mesa-demos-8.3.0.tar.gz
			shared-mime-info-1.7.tar.xz
			ttf-bitstream-vera-1.10.tar.gz
			xterm-325.tgz
			
40-X/04-xorg-post/000_src-add:
			download.list
			
40-X/05-audio-libs:
		000_all
		000_src
		000_src-add
		002_download
		10_b_alsa-lib
		20_b_alsa-util
		30_b_alsa-firmware
		40_b_libao
		50_b_libogg
		60_b_libtheora
		70_b_libvorbis
		80_b_vorbis-tools
		
40-X/05-audio-libs/000_src:
			alsa-firmware-1.0.29.tar.bz2
			alsa-lib-1.1.2.tar.bz2
			alsa-utils-1.1.2.tar.bz2
			libao-1.2.0.tar.gz
			libogg-1.3.2.tar.xz
			libtheora-1.1.1.tar.bz2
			libvorbis-1.3.5.tar.xz
			vorbis-tools-1.4.0.tar.gz
			
40-X/05-audio-libs/000_src-add:
			download.list
			libtheora-1.1.1.patch
			
40-X/10-xfce:
		01-pre-xfce
		05-xfce-base
		10-xfce-apps
		20-xfce-art
		30-xfce-panel-plugins
		all.sh
		
40-X/10-xfce/01-pre-xfce:
			000_all
			000_src
			000_src-add
			002_download
			00_create_patch
			030_b_cairo
			040_b_libcroco
			050_X_fontconfig-recompile
			050_X_gobject-introspection
			065_b_harfbuzz
			070_b_pango
			180_b_glib-networking
			200_b_atk
			200_b_gdk-pixbuf
			210_b_librsvg
			250_b_gtk+2
			340_b_dbus-glib
			360_b_vala
			370_b_libsoup
			440_b_icon-naming-utils
			450_b_hicolor-icon-theme
			460_b_gnome-icon-theme
			470_b_gnome-icon-theme-extras
			480_b_gnome-icon-theme-symbolic
			485_b_gnome-themes-standard
			490_b_libnotify
			500_b_libwnck
			
40-X/10-xfce/01-pre-xfce/000_src:
				atk-2.20.0.tar.xz
				cairo-1.14.6.tar.xz
				dbus-glib-0.108.tar.gz
				gdk-pixbuf-2.35.5.tar.xz
				glib-networking-2.48.2.tar.xz
				gnome-icon-theme-3.12.0.tar.xz
				gnome-icon-theme-extras-3.12.0.tar.xz
				gnome-icon-theme-symbolic-3.12.0.tar.xz
				gnome-themes-standard-3.20.2.tar.xz
				gtk+-2.24.31.tar.xz
				harfbuzz-1.3.1.tar.bz2
				hicolor-icon-theme-0.15.tar.xz
				icon-naming-utils-0.8.90.tar.bz2
				libcroco-0.6.11.tar.xz
				libnotify-0.5.2.tar.gz
				librsvg-2.40.16.tar.xz
				libsoup-2.54.1.tar.xz
				libwnck-2.31.0.tar.xz
				pango-1.40.3.tar.xz
				vala-0.33.1.tar.xz
				
40-X/10-xfce/01-pre-xfce/000_src-add:
				download.list
				gtk+-2.24.31.patch
				pango-1.36.6.patch
				
40-X/10-xfce/05-xfce-base:
			000_all
			000_src
			000_src-add
			002_download
			005_X_extract-fat
			020_b_xfce4-dev-tools
			030_b_libxfce4util
			040_b_xfconf
			050_b_libxfce4ui
			050_X_libxfce4ui
			060_b_garcon
			070_b_exo
			080_b_xfce4-panel
			090_b_thunar
			100_b_xfce4-settings
			110_b_xfce4-session
			120_b_xfdesktop
			130_b_xfwm4
			140_b_xfce4-appfinder
			150_b_thunar-volman
			160_b_tumbler
			170_X_xfce4-power-manager
			180_b_gtk-xfce-engine
			
40-X/10-xfce/05-xfce-base/000_src:
				exo-0.10.7.tar.bz2
				garcon-0.4.0.tar.bz2
				garcon-0.5.0.tar.bz2
				gtk-xfce-engine-3.2.0.tar.bz2
				libxfce4ui-4.12.1.tar.bz2
				libxfce4ui-4.13.1.tar.bz2
				libxfce4util-4.12.1.tar.bz2
				Thunar-1.6.10.tar.bz2
				thunar-volman-0.8.1.tar.bz2
				tumbler-0.1.31.tar.bz2
				xfce-4.12.tar.bz2
				xfce4-appfinder-4.12.0.tar.bz2
				xfce4-dev-tools-4.12.0.tar.bz2
				xfce4-panel-4.12.0.tar.bz2
				xfce4-power-manager-1.6.0.tar.bz2
				xfce4-session-4.12.1.tar.bz2
				xfce4-settings-4.12.1.tar.bz2
				xfconf-4.12.0.tar.bz2
				xfdesktop-4.12.3.tar.bz2
				xfwm4-4.12.3.tar.bz2
				
40-X/10-xfce/05-xfce-base/000_src-add:
				download.list
				
40-X/10-xfce/10-xfce-apps:
			000_all
			000_src
			000_src-add
			002_download
			010_b_libglade
			020_b_libxfcegui4
			030_b_vte
			070_b_xfce4-terminal
			080_b_xfce4-screenshooter
			090_b_libburn
			100_b_libisofs
			110_b_xfburn
			120_b_xfce4-dict
			130_b_xfce4-taskmanager
			160_b_libunique
			170_b_gstreamer-base
			180_b_gst-plugins-base
			190_b_xfce4-mixer
			
40-X/10-xfce/10-xfce-apps/000_src:
				gst-plugins-base-0.10.36.tar.xz
				gstreamer-0.10.36.tar.xz
				libburn-1.4.0.tar.gz
				libglade-2.6.4.tar.gz
				libisofs-1.4.0.tar.gz
				libunique-1.1.6.tar.bz2
				libxfcegui4-4.10.0.tar.bz2
				vte-0.28.2.tar.xz
				xfburn-0.5.4.tar.bz2
				xfce4-dict-0.7.1.tar.bz2
				xfce4-mixer-4.10.0.tar.bz2
				xfce4-screenshooter-1.8.2.tar.bz2
				xfce4-taskmanager-1.1.0.tar.bz2
				xfce4-terminal-0.6.3.tar.bz2
				
40-X/10-xfce/10-xfce-apps/000_src-add:
				download.list
				gst-plugins-base-0.10.36-gcc_4_9_0_i686-1.patch
				libunique-1.1.6-upstream_fixes-1.patch
				vte.patch
				xfce4-terminal-0.6.2-ctrl-pageup-down.patch
				
40-X/10-xfce/20-xfce-art:
			000_all
			000_src
			000_src-add
			002_download
			010_b_xfce4-icon-theme
			020_b_xfwm4-themes
			
40-X/10-xfce/20-xfce-art/000_src:
				xfce4-icon-theme-4.4.3.tar.bz2
				xfwm4-themes-4.10.0.tar.bz2
				
40-X/10-xfce/20-xfce-art/000_src-add:
				download.list
				
40-X/10-xfce/30-xfce-panel-plugins:
			000_all
			000_src
			000_src-add
			002_download
			040_b_xfce4-cpugraph-plugin
			050_b_xfce4-datetime-plugin
			090_b_iso-codes
			100_b_libxklavier
			110_b_xfce4-xkb-plugin
			120_b_xfce4-battery-plugin
			130_b_xfce4-cpufreq-plugin
			140_b_xfce4-eyes-plugin
			150_b_xfce4-kbdleds-plugin
			
40-X/10-xfce/30-xfce-panel-plugins/000_src:
				iso-codes-3.61.tar.xz
				libxklavier-5.4.tar.bz2
				xfce4-battery-plugin-1.0.5.tar.bz2
				xfce4-cpufreq-plugin-1.1.2.tar.bz2
				xfce4-cpugraph-plugin-1.0.5.tar.bz2
				xfce4-datetime-plugin-0.6.2.tar.bz2
				xfce4-eyes-plugin-4.4.4.tar.bz2
				xfce4-kbdleds-plugin-0.0.6.tar.bz2
				xfce4-xkb-plugin-0.5.4.3.tar.bz2
				
40-X/10-xfce/30-xfce-panel-plugins/000_src-add:
				download.list
				
40-X/11-fluxbox:
		000_all
		000_src
		000_src-add
		002_download
		10_b_libast
		20_b_imlib2
		30_b_Eterm
		40_b_fluxbox
		50_b_tools
		
40-X/11-fluxbox/000_src:
			Eterm-0.9.6.tar.gz
			fluxbox-1.3.7.tar.xz
			imlib2-1.4.7.tar.bz2
			libast-0.7.tar.gz
			
40-X/11-fluxbox/000_src-add:
			download.list
			fbcolor.sh
			fbsetbg
			imlib2-1.4.6-gif.patch
			
40-X/20-tools:
		010-tint2
		020-various-1
		025-joystick
		030-gparted
		040-gimp
		050-network
		055-vivaldi
		056-netsurf
		060-blender
		070-mplayer
		080-pdf
		090-qemu
		100-editors
		110-clamav
		120-flashlibs
		130-scanner
		140-ffmpeg
		300-various-2
		310-forensic
		all.sh
		
40-X/20-tools/010-tint2:
			000_all
			000_src
			000_src-double-fluxbox
			20_b_tint2
			tintrc
			
40-X/20-tools/010-tint2/000_src:
				tint2-0.11.tar.bz2
				
40-X/20-tools/010-tint2/000_src-double-fluxbox:
				10_b_imlib2
				imlib2-1.4.6-gif.patch
				imlib2-1.4.6.tar.bz2
				
40-X/20-tools/020-various-1:
			000_all
			000_src
			000_src-add
			002_download
			030_b_SDL
			050_b_geeqie
			
40-X/20-tools/020-various-1/000_src:
				geeqie-1.1.tar.gz
				SDL-1.2.15.tar.gz
				
40-X/20-tools/020-various-1/000_src-add:
				download.list
				
40-X/20-tools/025-joystick:
			000_all
			000_src
			000_src-add
			002_download
			050_b_evtest
			100_b_linuxconsoletools
			
40-X/20-tools/025-joystick/000_src:
				evtest-1.33.tar.bz2
				linuxconsoletools-1.5.1.tar.bz2
				
40-X/20-tools/025-joystick/000_src-add:
				download.list
				
40-X/20-tools/030-gparted:
			000_all
			000_src
			000_src-add
			002_download
			00_create_patch
			030_b_libsigc++
			040_b_glibmm
			050_b_atkmm
			060_b_cairomm
			070_b_pangomm
			080_b_gtkmm
			090_b_gnome-doc-utils
			100_b_gparted
			
40-X/20-tools/030-gparted/000_src:
				atkmm-2.24.2.tar.xz
				cairomm-1.12.0.tar.gz
				glibmm-2.50.0.tar.xz
				gnome-doc-utils-0.20.10.tar.xz
				gparted-0.26.1.tar.gz
				gtkmm-2.24.5.tar.xz
				libsigc++-2.10.0.tar.xz
				pangomm-2.40.1.tar.xz
				
40-X/20-tools/030-gparted/000_src-add:
				download.list
				gparted-0.19.1.patch
				
40-X/20-tools/040-gimp:
			000_all
			000_src
			000_src-add
			002_download
			00_git-babl-gegl
			020_b_babl
			030_b_gegl
			035_b_py2cairo
			040_b_pygobject
			050_b_pygtk
			060_b_gimp
			070_b_gimp-mime
			
40-X/20-tools/040-gimp/000_src:
				babl.tgz
				gegl.tgz
				gimp-2.8.18.tar.bz2
				py2cairo-1.10.0.tar.bz2
				pycairo-1.10.0.tar.bz2
				pygobject-2.28.6.tar.bz2
				pygtk-2.24.0.tar.gz
				
40-X/20-tools/040-gimp/000_src-add:
				download.list
				gimp.desktop.patch
				pygobject-2.28.6.patch
				
40-X/20-tools/050-network:
			000_all
			000_src
			000_src-add
			002_download
			200_b_nmap-recompile
			210_X_firefox
			220_b_gftp
			230_b_gtk-vnc
			240_b_x11vnc
			250_b_aspell
			260_b_aspel-dict-en-de
			270_b_enchant
			280_b_gtkspell
			290_b_sylpheed
			300_b_freerdp
			310_X_libssh
			350_X_remmina
			
40-X/20-tools/050-network/000_src:
				aspell-0.60.6.1.tar.gz
				aspell6-de-20030222-1.tar.bz2
				aspell6-en-2016.06.26-0.tar.bz2
				enchant-1.6.0.tar.gz
				FreeRDP.tar.gz
				gftp-2.0.19.tar.bz2
				gtkspell-2.0.16.tar.gz
				gtk-vnc_0.6.0.orig.tar.xz
				nmap-7.12.tar.bz2
				sylpheed-3.5.1.tar.bz2
				x11vnc-0.9.14-dev.tar.gz
				
40-X/20-tools/050-network/000_src-add:
				download.list
				firefox.desktop
				git-freerdp
				git-remmina
				xfreerdp.desktop
				xfreerdp.sh
				
40-X/20-tools/055-vivaldi:
			000_all
			000_src
			000_src-add
			010_b_gconf
			100_b_vivaldi
			
40-X/20-tools/055-vivaldi/000_src:
				GConf-3.2.6-nointl.tar.gz
				vivaldi-stable_1.5.658.44-1_amd64.deb
				vivaldi-stable_1.5.658.44-1_i386.deb
				
40-X/20-tools/055-vivaldi/000_src-add:
				vivaldi
				vivaldi.desktop
				
40-X/20-tools/056-netsurf:
			000_all
			000_src
			000_src-add
			210_b_netsurf
			
40-X/20-tools/056-netsurf/000_src:
				netsurf-all-3.4.tar.gz
				
40-X/20-tools/056-netsurf/000_src-add:
				netsurf
				
40-X/20-tools/056-netsurf/000_src-add/netsurf:
					Makefile
					netsurf.desktop
					netsurf-gtk.desktop
					
40-X/20-tools/060-blender:
			000_all
			000_src
			000_src-add
			002_download
			20_b_blender
			30_b_yafaray
			
40-X/20-tools/060-blender/000_src:
				blender-2.78a-linux-glibc211-i686.tar.bz2
				blender-2.78a-linux-glibc211-x86_64.tar.bz2
				YafaRay.v3.1.0-beta.build.for.Blender.2.78.for.Linux.32bit.SSE2.zip
				YafaRay.v3.1.0-beta.build.for.Blender.2.78.for.Linux.64bit.zip
				
40-X/20-tools/060-blender/000_src-add:
				blender.desktop
				download.list
				
40-X/20-tools/070-mplayer:
			000_all
			000_src
			000_src-add
			00_get_mplayer
			00_get_rtmdump
			010_b_rtmpdump
			020_b_yasm
			030_b_libdbdnav
			050_b_mplayer
			060_b_skins
			
40-X/20-tools/070-mplayer/000_src:
				libdvdnav-5.0.1.tar.bz2
				MPlayer-1.3.0.tar.xz
				mplayer.tar.gz
				rtmpdump.tar.gz
				skins
				yasm-1.2.0.tar.gz
				
40-X/20-tools/070-mplayer/000_src/skins:
					Abyss-1.7.tar.bz2
					Blue-1.12.tar.bz2
					Blue-multilingual-1.1.tar.bz2
					Blue-small-1.9.tar.bz2
					Clearlooks-1.7.tar.bz2
					Clearlooks-multilingual-1.0.tar.bz2
					disappearer-1.2.tar.bz2
					iTunes-mini-1.1.tar.bz2
					neutron-1.6.tar.bz2
					new-age-1.0.tar.bz2
					productive-1.0.tar.bz2
					XFce4-1.0.tar.bz2
					
40-X/20-tools/070-mplayer/000_src-add:
				qemu
				
40-X/20-tools/080-pdf:
			000_all
			000_src
			000_src-add
			002_download
			00_create_patch
			010_b_motif
			020_b_libpaper
			030_b_xpdf
			040_b_info-poppler
			050_b_poppler
			060_b_poppler-data
			100_b_evince
			
40-X/20-tools/080-pdf/000_src:
				evince-2.32.0.tar.gz
				libpaper_1.1.24+nmu4.tar.gz
				motif-2.3.6.tar.gz
				poppler-0.47.0.tar.xz
				poppler-data-0.4.7.tar.gz
				xpdf-3.04.tar.gz
				
40-X/20-tools/080-pdf/000_src-add:
				download.list
				evince-2.30.3-2.patch
				evince-2.30.3-3.patch
				evince-2.30.3-4.patch
				evince-2.30.3.patch
				xpdfrc
				
40-X/20-tools/090-qemu:
			000_all
			000_src
			000_src-add
			002_download
			010_b_qemu
			
40-X/20-tools/090-qemu/000_src:
				qemu-2.7.0.tar.bz2
				
40-X/20-tools/090-qemu/000_src-add:
				download.list
				qemu-virtfs-proxy-helper.patch
				
40-X/20-tools/100-editors:
			000_all
			000_src
			000_src-add
			001_continue
			002_download
			010_b_bluefish
			020_b_geany
			030_b_leafpad
			570_b_vim-recompile
			
40-X/20-tools/100-editors/000_src:
				bluefish-2.2.8.tar.bz2
				geany-1.28.tar.gz
				leafpad-0.8.17.tar.gz
				vim-7.4.tar.bz2
				
40-X/20-tools/100-editors/000_src-add:
				download.list
				
40-X/20-tools/110-clamav:
			000_all
			000_src
			000_src-add
			002_download
			010_b_clamav
			020_b_clamav-config
			
40-X/20-tools/110-clamav/000_src:
				clamav-0.99.2.tar.gz
				
40-X/20-tools/110-clamav/000_src-add:
				clamd.conf
				download.list
				freshclam.conf
				
40-X/20-tools/120-flashlibs:
			000_all
			000_src
			000_src-add
			001_continue
			002_download
			009_b_info
			010_b_nspr
			020_b_nss
			
40-X/20-tools/120-flashlibs/000_src:
				nspr-4.10.9.tar.gz
				nss-3.20.tar.gz
				
40-X/20-tools/120-flashlibs/000_src-add:
				download.list
				
40-X/20-tools/130-scanner:
			000_all
			000_brother-scanner
			000_src
			000_src-add
			002_download
			010_b_sane-backends
			020_b_xsane
			
40-X/20-tools/130-scanner/000_brother-scanner:
				000_src
				010_b_libusb-compat
				020_b_brscan2
				add-mfc_5540cn
				
40-X/20-tools/130-scanner/000_brother-scanner/000_src:
					brscan2-0.2.5-1.i386.tar.gz
					brscan2-0.2.5-1.x86_64.tar.gz
					libusb-compat-0.1.4.tar.bz2
					
40-X/20-tools/130-scanner/000_src:
				sane-backends-1.0.24.tar.gz
				xsane-0.995.tar.gz
				
40-X/20-tools/130-scanner/000_src-add:
				download.list
				xsane-0.995.patch
				
40-X/20-tools/140-ffmpeg:
			000_all
			000_src
			000_src-add
			002_download
			010_b_lame
			020_b_x264
			100_b_ffmpeg
			
40-X/20-tools/140-ffmpeg/000_src:
				ffmpeg-3.1.3.tar.bz2
				lame-3.99.5.tar.gz
				last_x264.tar.bz2
				
40-X/20-tools/140-ffmpeg/000_src-add:
				download.list
				
40-X/20-tools/300-various-2:
			000_all
			000_src
			000_src-add
			002_download
			00_create_patch
			010_b_GtkOfflineRegistry
			020_b_galculator
			040_b_mp3blaster
			050_b_sux
			060_b_numlockx
			080_b_volumeicon
			
40-X/20-tools/300-various-2/000_src:
				galculator-2.1.4.tar.gz
				GtkOfflineRegistryEditor-0.1.tar.gz
				mp3blaster-3.2.5.tar.gz
				numlockx-1.2.tar.gz
				sux-1.0.1.tar.gz
				volumeicon-0.5.0.tar.gz
				
40-X/20-tools/300-various-2/000_src-add:
				download.list
				GtkOfflineRegistry.desktop
				mp3blaster-3.2.5.patch
				volumeicon-0.5.0-gtk2.patch
				volumeicon-gtk2.tar.gz
				
40-X/20-tools/310-forensic:
			000_all
			000_src
			000_src-add
			002_download
			030_b_sleuthkit
			040_b_autopsy
			
40-X/20-tools/310-forensic/000_src:
				autopsy-2.24.tar.gz
				sleuthkit-4.3.0.tar.gz
				
40-X/20-tools/310-forensic/000_src-add:
				conf.pl
				download.list
				
50-server:
	01-stuff
	02-image-libs-USR
	20-mail
	30-mysql
	40-http
	45-php
	50-gpg
	70-clamspam
	
50-server/01-stuff:
		000_src
		010_b_dbconfig
		
50-server/01-stuff/000_src:
			db-6.1.19.tar.gz
			
50-server/02-image-libs-USR:
		000_all
		000_src
		10_b_libpng
		20_b_giflib
		30_b_jpeg
		30_X_jpeg-turbo
		40_b_jasper
		50_b_tiff
		
50-server/02-image-libs-USR/000_src:
			giflib-5.1.0.tar.bz2
			jasper_1.900.1.tar.gz
			jpegsrc.v9a.tar.gz
			libjpeg-turbo-1.3.1.tar.gz
			libpng-1.6.12.tar.xz
			tiff-4.0.3.tar.gz
			
50-server/20-mail:
		000_all
		000_src
		020_X_procmail
		030_b_fetchmail
		040_b_imap-2007f
		050_b_dovecot
		060_X_cyrus-sasl
		100_b_postfix
		110_b_amavis
		120_b_dovecot-2.2-pigeonhole
		smtp-auth
		startamavis
		startsasl
		
50-server/20-mail/000_src:
			1-updatevirtual.sh
			amavisd.conf
			amavisd-new-2.11.0.tar.xz
			cyrus-sasl-2.1.23.tar.gz
			cyrus-sasl-2.1.26.tar.gz
			dovecot-2.2.25.tar.gz
			dovecot-2.2-pigeonhole-0.4.3.tar.gz
			fetchmail-6.3.26.tar.xz
			imap-2007f.tar.gz
			postfix-3.1.3.tar.gz
			procmail-3.22.tar.gz
			sasl2.conf.tgz
			
50-server/30-mysql:
		000_src
		010_b_base
		020_b_mysql
		install_fresh_db
		upgrade
		
50-server/30-mysql/000_src:
			my.cnf
			mysql-5.7.16.tar.gz
			startmysqld
			
50-server/40-http:
		000_src
		010_b_httpd
		
50-server/40-http/000_src:
			httpd-2.4.23.tar.bz2
			
50-server/45-php:
		000_src
		010_b_freetype-USR
		020_b_libmcrypt
		090_b_php
		php.d
		php.ini
		php.ini.info
		php-initialized-1.2.1.zip
		
50-server/45-php/000_src:
			freetype-2.5.3.tar.gz
			libmcrypt-2.5.8.tar.gz
			php-5.6.27.tar.bz2
			
50-server/45-php/php.d:
			gd.ini
			imap.ini
			mbstring.ini
			mysqli.ini
			mysql.ini
			xmlrpc.ini
			
50-server/50-gpg:
		000_all
		000_src
		010_b_libassuan
		020_b_libksba
		030_b_pth
		040_b_gnupg
		
50-server/50-gpg/000_src:
			gnupg-2.0.26.tar.bz2
			libassuan-2.1.2.tar.bz2
			libksba-1.3.0.tar.bz2
			pth-2.0.7.tar.gz
			
50-server/70-clamspam:
		000_src
		010_X_clamav
		020_b_spamassassin
		spamd-db-update
		startspamd
		
50-server/70-clamspam/000_src:
			clamav-0.99.tar.gz
			
99-ARM:
	banana-pi
	cross-compile
	cubietruck
	kernel-headers
	qemu
	raspberry-pi
	
99-ARM/banana-pi:
		git
		git-kernel
		
99-ARM/cross-compile:
		chroot-tools
		tool-chain
		
99-ARM/cross-compile/chroot-tools:
			arm
			arm-chroot.sh
			mount.sh
			qemu-static
			qemu-wrapper
			setup-arm-emu-hdimage.sh
			setup-arm-emu-local.sh
			
99-ARM/cross-compile/chroot-tools/arm:
				
99-ARM/cross-compile/chroot-tools/qemu-static:
				qemu-arm-static
				qemu-user-static_2.6+dfsg-3.1_amd64.deb
				
99-ARM/cross-compile/chroot-tools/qemu-wrapper:
				make-qemu-wrapper
				qemu-wrapper.c
				
99-ARM/cross-compile/tool-chain:
			git-tools
			shell.sh
			tools.tar.gz
			
99-ARM/cubietruck:
		gadget_hid.txt
		gen-basic-config
		git-kernel-next
		git-kernel-stable
		hid.c
		hid_gadget_test.c
		install-uboot.txt
		linux-sunxi-next.tar.xz
		
99-ARM/kernel-headers:
		get
		
99-ARM/qemu:
		arm-qemu-boot.sh
		arm-qemu-linux-4.1.13.patch
		arm-qemu-linux-4.2.8.patch
		config-add
		defconf
		
99-ARM/raspberry-pi:
		kernel
		raspberry-pi-tools
		raspberry-pi-tools.tar.gz
		
99-ARM/raspberry-pi/kernel:
			genRaspberryPi1Config
			genRaspberryPi2Config
			git-kernel
			linux.tar.xz
			README
			
99-ARM/raspberry-pi/raspberry-pi-tools:
			000_all
			000_src
			001_git-userland
			001_urls
			010_b_setuptools
			020_b_picamera
			030_b_userland
			
99-ARM/raspberry-pi/raspberry-pi-tools/000_src:
				picamera-1.10.tar.gz
				setuptools-15.1.tar.gz
				userland-plop.patch
				userland.tar.gz
				
99-AVR:
	000_all
	000_info-url
	000_src
	020_b_binutils
	030_b_gcc
	040_b_avr-libc
	050_b_avrdude
	060_b_avra
	
99-AVR/000_src:
		avra-1.3.0.tar.bz2
		avrdude-6.0.1.tar.gz
		avr-libc-1.8.1-4-any.pkg.tar.xz
		avr-libc-1.8.1.tar.bz2
		binutils-2.25.tar.gz
		gcc-5.2.0.tar.bz2
		
99-cleanup:
	delete-old-files.sh
	files-of-today.sh
	
99-optional:
	dosbox
	dosbox.tar.gz
	gtk3
	handbrake
	handbrake.tar.gz
	meshlab
	meshlab.tar.gz
	midori
	orca
	systemd
	unity5
	visual-boy-advanced-m
	visual-boy-advanced-m.tar.gz
	wireshark
	wireshark.tar.gz
	zfs
	
99-optional/dosbox:
		000_src
		000_src-add
		010_b_dosbox
		
99-optional/dosbox/000_src:
			dosbox-0.74.tar.gz
			
99-optional/dosbox/000_src-add:
			dosbox-0.74_gcc4.6_compat.patch
			
99-optional/gtk3:
		000_src
		010_b_at-spi2-core
		020_b_at-spi2-atk
		030_b_gtk3
		info
		
99-optional/gtk3/000_src:
			at-spi2-atk-2.22.0.tar.xz
			at-spi2-core-2.22.0.tar.xz
			gtk+-3.22.2.tar.xz
			
99-optional/handbrake:
		000_all
		000_src
		000_src-add
		002_download
		010_b_opus
		020_b_jansson
		030_b_fribidi
		040_b_libass
		050_b_libsamplerate
		100_b_handbrake-git
		100_X_handbrake-stable
		git-handbrake
		
99-optional/handbrake/000_src:
			fribidi-0.19.7.tar.bz2
			HandBrake-0.10.5.tar.bz2
			HandBrake.tgz
			jansson-2.9.tar.gz
			libass-0.13.4.tar.gz
			libsamplerate-0.1.9.tar.gz
			opus-1.1.3.tar.gz
			
99-optional/handbrake/000_src-add:
			download.list
			HandBrake-0.10.5.patch
			
99-optional/meshlab:
		000_readme.txt
		000_src
		010_b_meshlab
		
99-optional/meshlab/000_src:
			meshlab.desktop
			meshlab.patch
			MeshLabSrc_AllInc_v133.tgz
			
99-optional/midori:
		000_all
		000_src
		000_src-add
		010_b_ruby
		020_b_libwebp
		030_b_icu
		040_b_libsecret
		050_b_harfbuzz-RECOMPILE
		060_b_gstreamer
		070_b_gst-plugins-base
		080_b_webkitgtk
		100_b_p11-kit
		110_b_gcr
		200_b_midori
		
99-optional/midori/000_src:
			gcr-3.16.0.tar.xz
			gst-plugins-base-1.4.5.tar.xz
			gstreamer-1.4.5.tar.xz
			harfbuzz-1.0.3.tar.bz2
			icu4c-56_1-src.tgz
			libsecret-0.18.tar.xz
			libtasn1-4.6.tar.gz
			libwebp-0.4.2.tar.gz
			midori_0.5.11_all_.tar.bz2
			p11-kit-0.23.1.tar.gz
			ruby-2.2.0.tar.xz
			webkitgtk-2.4.9.tar.xz
			
99-optional/midori/000_src-add:
			icu.patch
			webkitgtk-2.4.7.patch
			webkitgtk-2.4.9.patch
			
99-optional/orca:
		000_src
		1make_espeak
		1order
		370_b_py3cairo
		430_b_pygobject2
		430_b_pygobject3
		550_b_gnome-doc-utils
		brltty-4.3.tar.gz
		build_espeak
		build_speech-dispatcher
		dotconf_1.0.13-3.diff.gz
		dotconf_1.0.13.orig.tar.gz
		dotconf-1.3.tar.gz
		espeak-1.46.02.tar.gz
		orca-3.10.1.tar.xz
		orca.tgz
		pa_stable_v19_20111121.tgz
		pyatspi-2.10.0.tar.xz
		speechd.conf
		speech-dispatcher-0.7.1.tar.gz
		
99-optional/orca/000_src:
			gnome-doc-utils-0.20.10.tar.xz
			py3cairo_1.10.0+dfsg.tar.bz2
			pycairo-1.10.0-1.patch
			pycairo-1.10.0-2.patch
			pycairo-1.10.0.tar.bz2
			pygobject-2.28.6.patch
			pygobject-2.28.6.tar.bz2
			pygobject-3.10.0.tar.xz
			
99-optional/systemd:
		systemd-package.tar.gz
		
99-optional/unity5:
		postgresql-9.4.5.tar.bz2
		
99-optional/visual-boy-advanced-m:
		000_src
		000_src-add
		010_b_vba-m
		
99-optional/visual-boy-advanced-m/000_src:
			vba-m-SVN1292-sources.zip
			
99-optional/visual-boy-advanced-m/000_src-add:
			vba-m.patch
			
99-optional/wireshark:
		000_src
		010_b_setup
		020_b_wireshark
		
99-optional/wireshark/000_src:
			wireshark-2.0.4.tar.bz2
			
99-optional/zfs:
		000_all
		000_src
		000_src-add
		002_download
		010_b_spl
		020_b_zfs
		
99-optional/zfs/000_src:
			spl-0.6.5.8.tar.gz
			zfs-0.6.5.8.tar.gz
			
99-optional/zfs/000_src-add:
			download.list

ploplinux-desktop-4.3.2-arm.tar.gz 1.23 GB ARM, armv6l, 32-bit
ploplinux-desktop-4.3.2.md5sum    
banana-pi-boot.tar.gz 13.45 MB Boot files, Banana Pi
cubietruck-boot.tar.gz 25.88 MB Boot files, Cubietruck
arm-qemu-boot.tar.gz 2.81 MB Boot files, Qemu
raspberry-pi-boot.tar.gz Boot files, Raspberry Pi
 
ploplinux-4.3.2-arm.img.gz 1.25 GB ARM, armv6l, 32-bit, Hard Disk Image (Uncompressed 10GB)
ploplinux-4.3.2-hdimages.md5sum    
 
Source Codes   Web directory
ploplinux-src-4.3.2.tar.gz 3.94 GB Source code files, compile scripts
ploplinux-release-4.3.2.tar.gz 3.22 GB Release tools and scripts

Differences to i486, x86_64


Version Architecture Kernel Libc & GCC    Software    
i486 x86 / 32-bit 4.8.11 32-bit  
x86_64 x86 / 64-bit 4.8.11 Multiarch 32/64-bit  
ARM armv6l QEMU: 4.2.8
Raspberry Pi: 4.1.13
Banana Pi: 4.2.3
Cubietruck: 4.4-rc1
32-bit - LILO
- GRUB
- Syslinux
- Blender
- Firefox
+ Webkit
+ Midori

The programs LILO, GRUB, Syslinux, Blender and Firefox are not available in the ARM version. All other programs are the same as for i486/x86_64. The lightweight browser Midori is used as replacement for Firefox.


QEMU


This section describes how you run Plop Linux for ARM in QEMU and how to build an ARMv6l Kernel to boot with QEMU.

Linux Kernel version: 4.2.8


Boot Plop Linux for ARM in QEMU


Required files:

ploplinux-4.3.2-arm.img.gz ~900MB, the image file
arm-qemu-zImage ARMv6l Linux Kernel for QEMU
arm-qemu-boot.sh Start script


Uncompress the image file with 'gunzip ploplinux-4.3.2-arm.img.gz'. Note: This file became a size of 10GB.

Start QEMU with 'sh arm-qemu-boot.sh arm-qemu-zImage ploplinux-4.3.2-arm.img'.


Compile the Linux Kernel for ARMv6l to run in QEMU


Required files:

tools.tar.gz Cross compile tool chain
shell.sh Environment setup
linux-4.2.8.tar.xz Linux Kernel
arm-qemu-linux-4.2.8.patch ARMV6l config patch
config-add Additional config settings


You have to setup the Cross Compile Tool Chain. See Cross compile Linux Kernel.

Start 'shell.sh' to open the cross compile shell.

Extract the Linux Kernel.

You have to patch the Kernel config to create an ARMv6l Kernel. When you don't patch then you get a ARMv5l Kernel.

Patch the Kernel: patch -p1 < arm-qemu-linux-4.2.8.patch

Create the base configuration: make versatile_defconfig

Add additional config settings: cat config-add > .config

Run 'make menuconfig'.

If required add drivers.

Exit the configuration program and save the configuration.

Run 'make zImage' to compile the Kernel.

You find the Linux Kernel file in 'arch/arm/boot/'. The file name is 'zImage'. Rename it to 'arm-qemu-zImage' and use it to boot with QEMU.

Note: To compile the modules run 'make modules && make modules_install'. You find the modules in the directory 'kernel-modules/' where you started 'shell.sh'.


Linux Kernel compile error: warning: "__LINUX_ARM_ARCH__" is not defined [-Wundef]


This happens when you patch the kernel with the QEMU patch after you already configured the kernel. Just run 'make clean' to cleanup and then reconfigure the kernel. After that, the compile should run flawless.


Raspberry Pi, GPU userland apps and camera tools


This section describes how you run install Plop Linux on the Raspberry Pi, how you cross compile the Linux Kernel for the Raspberry Pi and how you compile/install some Raspberry Pi related tools.

Linux Kernel version: 4.1.13


Install Plop Linux


Plop Linux is for advanced Linux users. The install documentation does not describe every step with commands. When it's too difficult for people then I will update this page with more details.


Boot a Linux on a computer with a SD card reader.

Download ploplinux-desktop-4.3.2-arm.tar.gz and raspberry-pi-boot.tar.gz.

• On the SD Card, create partition 1 with about 60 MB. Partition type: 0x0C (FAT partition). This will be the boot partition

• On the SD Card, create partition 2 for Plop Linux. Minimum size is 3.1 GB.

• Create a FAT file system on the first partition 'mkfs.vfat -F 32 /dev/PARTITION1' (the boot partition).

Note: /dev/PARTITION1 is only a placeholder. You have to set the device node of your partition. Example: /dev/sdd1

• Create an Ext3 file system on the second partition 'mkfs.ext3 /dev/PARTITION2' (the Plop Linux partition).

Note: /dev/PARTITION2 is only a placeholder. You have to set the device node of your partition. Example: /dev/sdd2

• Mount the second Partition (Plop Linux partition) to '/mnt'.

• Mount the first partition (boot partition) to '/mnt/boot'.

• Extract the ploplinux-desktop-4.3.2-arm.tar.gz archive to '/mnt'.

• Move the directories in '/mnt/ploplinux-desktop-4.3.2-arm/' one directory up that they became the root directories on the Plop Linux partition.

• Remove the empty '/mnt/ploplinux-desktop-4.3.2-arm/' directory.

• Extract the raspberry-pi-boot.tar.gz archive to '/mnt'.

• A few important files (the default settings should be ok):

Modify boot parameters in the file '/mnt/boot/cmdline.txt'.

Edit '/mnt/etc/fstab' to your system setup.

Edit the Raspberry Pi section in '/mnt/etc/rc.local'.

• Unmount '/mnt/boot'.

• Unmount '/mnt'.


Now boot your Raspberry Pi with the SD Card. Continue with the personalisation of your fresh system. See here for general Plop Linux Desktop configurations and here for ARM related configurations.


Compile the Linux Kernel


Either compile the Linux Kernel on your Raspberry Pi (slow) or you have to setup a cross compile environment (see here) on your computer.

• When you use the cross compile environment, then start the 'shell.sh' script.

• Download the Linux Kernel Source Code for Raspberry Pi and extract it.

Use git: git clone --depth 1 git://github.com/raspberrypi/linux.git

Or download linux.tar.xz

• Change to the Linux Kernel directory 'cd linux' and setup base configuration

For Raspberry Pi 1: make bcmrpi_defconfig
Or download the .config used by Plop Linux and copy the file to the 'linux' directory.

For Raspberry Pi 2: KERNEL=7 make bcm2709_defconfig

Note: To add additional configurations run 'make menuconfig'.

• To compile the kernel run 'make && make modules_install'

Note: 'make modules_install' installs the kernel modules. When you compile on the Raspberry Pi then the modules will be installed to '/lib/modules'. When you compile in the cross compile environment then you find the modules in the 'kernel-modules/' directory where you started the 'shell.sh' script.

• You find the Linux Kernel file in the 'arch/arm/boot/' directory. The file name is 'zImage'. Rename it to 'kernel.img'.

• Copy the 'kernel.img' file to the boot partition of your Raspberry Pi.

Note: When you compile in a cross compile environment, then an easy way to transfer the files to your running Raspberry Pi is using sshfs.
Mount example (Rasperry Pi IP: 10.0.0.208): sshfs root@10.0.0.208:/ /mnt


GPU userland apps and camera tools


Compile the tools on your Raspberry Pi or in a cross compile environment.

Get the latest version from the git repository or download the package raspberry-pi-tools.tar.gz and extract it. You can also download the individual files from here.

To compile and install the GPU userland and the Python camera modules at once run the script '000_all'.

sh 000_all


The build scripts are

010_b_setuptools: Install the Python setup tools

020_b_picamera: Install the Python Raspberry Pi Camera modules

030_b_userland: Compile, patch and install the GPU userland apps (raspistill, raspivid, raspiyuv, ...)


Finally copy the file '.bash_RaspberryPI' to your home directory and add the line


. ~/.bash_RaspberryPI

to the end of your '.bash_profile' file.

This script adds environment variables for the userland apps. Log out and log in to activate the environment variables.


Additional infos


000_src/userland-plop.patch: Patch the userland to fix the vcos.h problems. It also creates a new build script.

001_git-userland: Get the latest GPU userland source code.


Additional resources


https://pypi.python.org/pypi/setuptools#downloads
https://pypi.python.org/pypi/picamera
https://github.com/raspberrypi
https://github.com/polaco1782/raspberry-qemu


Banana Pi


This section describes

  • How you install Plop Linux on the Banana Pi.
  • Building the boot.scr file.
  • Set the green Banana Pi led.

Linux Kernel version: 4.2.3


Install Plop Linux


Plop Linux is for advanced Linux users. The install documentation does not describe every step with commands. When it's too difficult for people then I will update this page with more details.


Boot a Linux on a computer with a SD card reader.

Download ploplinux-desktop-4.3.2-arm.tar.gz and banana-pi-boot.tar.gz.

• On the SD Card, create one partition for Plop Linux.

• Create an Ext3 file system on the mkfs.ext3 /dev/PARTITION1. Minimum size is 3.1 GB.

Note: /dev/PARTITION1 is only a placeholder. You have to set the device node of your partition. Example: /dev/sdd1

• Mount the partition to /mnt

• Extract the ploplinux-desktop-4.3.2-arm.tar.gz archive to /mnt

• Move the directories in /mnt/ploplinux-desktop-4.3.2-arm/ one directory up that they became the root directories on the Plop Linux partition.

• Remove the empty /mnt/ploplinux-desktop-4.3.2-arm/ directory.

• Extract the banana-pi-boot.tar.gz archive to /mnt

• Install the U-Boot boot loader. Change to /mnt/boot and run dd if=u-boot-sunxi-with-spl.bin of=/dev/SDCARD bs=1024 seek=8

Note: /dev/SDCARD is only a placeholder. You have to set the device node of your SD Card. Example: /dev/sdd

Note: I am using the U-Boot binary and the kernel of armbian.

• A few important files (the default settings should be ok):

Edit /mnt/etc/fstab to your system setup.

Edit the Banana Pi section in /mnt/etc/rc.local.

• Unmount /mnt


Now boot your Banana Pi with the SD card. Continue with the personalisation of your fresh system. See here for general Plop Linux Desktop configurations and here for ARM related configurations.


Building boot.scr


Modify the file /etc/boot.cmd for your needs.

To create the boot.scr file run mkimage -C none -A arm -T script -d boot.cmd boot.scr


Banana Pi green led


The Banana Pi has 1 configurable led. For example SD Card access, CPU usage and much more.

The green led is /sys/class/leds/bananapi:green:usr/

In this directory you find the file trigger file. Run cat trigger to list the possible values. The current setting is marked with square brackets.

Here is the Plop Linux setup from /etc/rc.local.

# Set green led to SD Card actvity
echo mmc0 > /sys/class/leds/bananapi:green:usr/trigger


Cubietruck, USB OTG g_hid, g_mass_storage


This section describes

  • How you install Plop Linux on the Cubietruck.
  • How you compile the Linux Kernel for the Cubietruck.
  • Building the boot.scr file.
  • Set the Cubietruck leds.
  • Using the USB OTG as HID or mass storage device.

Linux Kernel version: 4.4-rc1


Install Plop Linux


Plop Linux is for advanced Linux users. The install documentation does not describe every step with commands. When it's too difficult for people then I will update this page with more details.


Boot a Linux on a computer with a SD card reader.

Download ploplinux-desktop-4.3.2-arm.tar.gz and cubietruck-boot.tar.gz.

• On the SD Card, create one partition for Plop Linux.

• Create an Ext3 file system on the 'mkfs.ext3 /dev/PARTITION1'. Minimum size is 3.1 GB.

Note: /dev/PARTITION1 is only a placeholder. You have to set the device node of your partition. Example: /dev/sdd1

• Mount the Partition to '/mnt'.

• Extract the ploplinux-desktop-4.3.2-arm.tar.gz archive to '/mnt'.

• Move the directories in '/mnt/ploplinux-desktop-4.3.2-arm/'. one directory up that they became the root directories on the Plop Linux partition.

• Remove the empty '/mnt/ploplinux-desktop-4.3.2-arm/' directory.

• Extract the cubietruck-boot.tar.gz archive to '/mnt'

.

• Install the U-Boot boot loader. Change to '/mnt/boot' and run 'dd if=u-boot-sunxi-with-spl.bin of=/dev/SDCARD bs=1024 seek=8'

Note: /dev/SDCARD is only a placeholder. You have to set the device node of your SD Card. Example: /dev/sdd

Note: I am using the U-Boot binary of ARCH Linux.

• A few important files (the default settings should be ok):

Edit '/mnt/etc/fstab' to your system setup.

Edit the Cubietruck section in '/mnt/etc/rc.local'.

• Unmount '/mnt'.


Now boot your Cubietruck. Continue with the personalisation of your fresh system. See here for general Plop Linux Desktop configurations and here for ARM related configurations.


Notes about Linux Kernel releases


The kernel that comes with Plop Linux does not support all Cubietruck features. The stable kernel 3.4. for Cubietruck should support the hardware features, but cannot be compiled with the latest GCC. The 3.4. kernel is not part of Plop Linux.

The latest kernel release 4.9. does not poweroff the Cubietruck.

Poweroff works with 4.4.rc-1 which comes with Plop Linux.


Compile the Linux Kernel


Either compile the Linux Kernel on your Cubietruck (slow) or you have to setup a cross compile environment (see here) on your computer.

• When you use the cross compile environment, then start the 'shell.sh' script.

• Download the Linux Kernel Source Code for the Cubietruck.

The stable Kernel: git clone https://github.com/cubieboard/linux-sunxi.git

The next Kernel: git clone https://github.com/linux-sunxi/linux-sunxi.git -b sunxi-next

Or download and extract the Kernel Source Code (used by Plop Linux) linux-sunxi-next.tar.xz

• Change to the Linux Kernel directory 'cd linux-sunxi' and setup base configuration

Run 'make sunxi_defconfig'.

Or use the Plop Linux config file. Copy .config to the 'linux-sunxi' directory.

Note: To add additional configurations run 'make menuconfig'.

• To compile the kernel run 'make && make modules_install'.

Note: 'make modules_install' installs the kernel modules. When you compile on the Cubietruck then the modules will be installed to '/lib/modules'. When you compile in the cross compile environment then you find the modules in the 'kernel-modules/' directory where you started the 'shell.sh' script.

• You find the Linux Kernel file in the 'arch/arm/boot/' directory. The file name is 'zImage'.

• Copy the 'zImage' file to the '/boot' directory of your Cubietruck.

Note: When you compile in a cross compile environment, then an easy way to transfer the files to your running Cubietruck is using sshfs.
Mount example (Cubietruck IP: 10.0.0.208): sshfs root@10.0.0.208:/ /mnt


Building boot.scr


Modify the file '/etc/boot.cmd' for your needs.

To create the 'boot.scr' file run 'mkimage -C none -A arm -T script -d boot.cmd boot.scr'.


Cubietruck leds


The Cubietruck has 4 leds and you can set triggers for those leds. For example SD Card access, Bluetooth and much more. There is the blue, white, orange and green led.

Find the leds in '/sys/class/leds/'.

The green led is '/sys/class/leds/cubietruck:green:usr/'.

In this directory you find the file 'trigger' file. Run 'cat trigger' to list the possible values. The current setting is marked with square brackets.

Here is the Plop Linux setup from '/etc/rc.local'.

# Set green led to SD Card actvity
echo mmc0 > /sys/class/leds/cubietruck:green:usr/trigger
    
# Plop Linux has booted, set orange led on
echo default-on > /sys/class/leds/cubietruck:orange:usr/trigger

USB OTG - HID, mass storage device


Use only an USB OTG cable to connect the OTG port with a computer!


• The Cubietruck as HID

You have to modify the g_hid kernel module source code to enable the HID function. Plop Linux has a working sample g_hid module installed. You find details about the g_hid driver in the kernel documentation file gadget_hid.txt

You have to edit the file 'drivers/usb/gadget/legacy/hid.c' and add

  • a hidg_func_descriptor structure
  • a platform_device structure
  • and "platform_device_unregister (&my_hid);" in the __exit hidg_cleanup(void) function

Download the modified hid.c

Note: When you use the unmodified hid.c, then you will get the error "ERROR: could not insert 'g_hid': No such device" on modprobe g_hid.


Using the g_hid module

Download the test program: hid_gadget_test.c

Compile the test program: gcc hid_gadget_test.c -o hid_gadget_test

Load the g_hid driver: modprobe g_hid

Start the test program: ./hid_gadget_test /dev/hidg0 keyboard

You are now in the prompt of hid_gadget_test and can enter values.

When the Cubietruck is connected to a computer with the USB OTG cable, then the Cubietruck act as a keyboard. Type 'a b c' and then enter on the hid_gadget_test prompt. On the computer should you see the typed text "abc". '--num-lock' toggles the numlock. See gadget_hid.txt for more details.


• The Cubietruck as mass storage device

This is an example with using a disk image file.

Create the disk image file:

  • Create a 100MB file: dd if=/dev/zero of=/var/disk.img bs=1M count=100
  • Create a file system on the disk image: mkfs.ext3 /var/disk.img
  • Mount the image file: mount -o loop /var/disk.img /mnt
  • Create a test file on the disk image: echo "Hello there" > /mnt/test.txt
  • Unmount the image file: umount /mnt

Enable the USB mass storage:

Run 'modprobe g_mass_storage file=/var/disk.img'.

When the Cubietruck is connected to a computer with the USB OTG cable, then the Cubietruck act as a mass storage device. When you run on the computer 'dmesg' then you should see the entries of the new USB mass storage device. When you mount on the computer the USB device with example 'mount /dev/sdd /mnt', then you should see the created 'test.txt' in the /mnt directory.


Configurations


The Plop Linux for ARM has a few additional configurations for ARM computers.


/etc/rc.local


The file /etc/rc.local has a few additional commands to the standard Plop Linux rc.local file. It has sections for various devices (Raspberry Pi, Banana Pi, Cubietruck). You set the device in the file /etc/device.


SWAP Memory


You can use a partition or a file for swap memory. I prefer a swap file.

The old rule is, the size of the swap memory should be the double of your RAM. Maybe you have to choose a smaller size when you doesn't have enough free space on your drive.

To create a swap file with 1GB run:

dd if=/dev/zero of=/var/swap bs=1M count=1024
chmod 600 /var/swap
mkswap /var/swap
swapon /var/swap

Remove the # in /etc/fstab at the line with swap to activate the swap at boot time.


Raspberry Pi: Mount boot partition to /boot


The boot partition /dev/mmcblk0p1 is mounted to /boot. You can configure this in the /etc/fstab file.


Raspberry Pi, Banana Pi: Date and time


The Rasperry Pi and Banana Pi cannot keep the time without power. The time has to be set during booting. The correct time is set by calling a NTP server. In the file /etc/rc.local you find the line ntpdate ntp0.fau.de & to set the correct time. It's required to have an internet connection to set the time automatically.

Remove the file /etc/rc.d/rcsysinit.d/S60setclock to avoid the boot error warning about time.

Remove the & after ntpdate ntp0.fau.de to wait until the time has been set to avoid user logins before the time has been set.


Raspberry Pi: Audio


The sound module snd-bcm2835 is loaded by /etc/rc.local to enable the audio device.


Cross compile Linux Kernel


You can cross compile software from your running x86 system to another CPU architecture. There are various ways to cross compile. One solution is to use a tool chain.

The advantages of cross compile are a stable host system in the background and fast compilation times.


Setup the cross compile tool chain


Download the ploplinux-src-4.3.2.tar.gz file to get the ARM cross compile tool chain and extract it. The tool chain is in the 99-ARM/cross-compile/tool-chain/ directory. You can also download each individual file from here.

git-tools: Download latest ARM cross compile tool chain.

shell.sh: Start a shell with correct environment variables.

tools.tar.gz: ARM cross compile tool chain.

Extract the file tools.tar.gz for the Cross Compile Tool Chain or start git-tools to download the latest version.

Start shell.sh to open a new shell with the correct environment variables. You will see the text CROSS COMPILE SHELL as info.

You can run the x86 programs of your operation system as usual.

To close the environment just type exit. You will see the info CROSS COMPILE END.


Example: Compile the Raspberry Pi Linux Kernel


Download the Raspberry Pi Linux Kernel Source Code: linux.tar.xz

Start shell.sh to open the cross compile shell.

Extract the Linux Kernel Source Code with tar xfJ linux.tar.xz

Change to the Linux Kernel Source directory linux/.

Either run make bcmrpi_defconfig to get a minimal Raspberry Pi Kernel configuration or copy the .config file to the Linux Source Code directory to get an already configured Kernel configuration with modules.

Run make menuconfig to open the Kernel configuration tool. You can add and remove Kernel features.

Run make to compile the Kernel and the Kernel modules.

Run make modules_install to install the modules to the ../kernel-modules/ directory.

You find the Linux Kernel file in arch/arm/boot/ directory. The file name is zImage.



Cross build with chroot


You can Cross Compile from a running system (ex. x86) with chroot to an ARM environment. The advantages are a stable host system in the background, easy data sharing from the host system to the chroot environment, faster compilation when you have a powerful host machine.

You can chroot to the ARM system

  • when it's stored in a directory.
  • when it's on a hard disk partition.
  • when it's on an image of a partition (as loop device).
  • when it's on a partition in a hard disk image (as loop device).

You have to work as root to have enough permissions.

I prefer to chroot to a directory. There are no space limits of an image file.



1. Requirements
2. Prepare chroot
2.1. Chroot directory
2.2. Chroot partition of a hard disk image
3. How to chroot
4. Additional resources

1. Requirements


Download the ploplinux-src-4.3.2.tar.gz file to get the ARM chroot tools and extract it. The chroot tools are in the 99-ARM/cross-compile/chroot-tools/ directory. You can also download each individual file from here.

The archive:

arm/                         <- Chroot to this directory

arm-chroot.sh                <- Use this script to chroot

.bashrc                      <- This adds the red CHRT info to the command
			        shell when you chroot to the ARM system

mount.sh                     <- Mount a partition in a hard disk image without
                                chroot environment setup (as loop device)

qemu-static/                 <- Static QEMU to emulate the ARM CPU

qemu-wrapper/                <- Wrapper to run QEMU with the required parameters

setup-arm-emu-hdimage.sh     <- Script to setup the chroot environment for a 
                                partition in a hard disk image (as loop device)

setup-arm-emu-local.sh       <- Script to setup the chroot environment for a 
                                directory

Compile the qemu-wrapper: Change to the qemu-wrapper/ directory. Run sh make-qemu-wrapper

Change to the qemu-static/ directory and extract the QEMU program for the system you want to emulate. The QEMU program for ARM qemu-arm-static is already extracted.


2. Prepare chroot


2.1. Chroot directory


When you want to use the chroot just with a directory and no image or hard disk, then extract the ARM system to the arm/ directory.

Plop Linux for ARM: ploplinux-desktop-4.3.2-arm.tar.gz

Copy the file qemu-static/qemu-arm-static and qemu-wrapper/qemu-wrapper to the directory arm/usr/bin/.

Preparations done, see below how to chroot.


2.2. Chroot to a partition of a hard disk image


When you want to chroot to a partition in a hard disk image then you have to mount the partition as loop device with an offset.

Download the (compressed) hard disk image: ploplinux-4.3.2-arm.img.gz

Uncompress the file (warning, the file became 10GB): gunzip ploplinux-4.3.2-arm.img.gz

You have to figure out the start of the system partition. Run fdisk ploplinux-4.3.2-arm.img
Use the command p to print the partition layout

Welcome to fdisk (util-linux 2.27).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p
Disk ploplinux-4.3.2-arm.img: 10 GiB, 10737418240 bytes, 20971520 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xf1ec283e

Device                              Boot Start      End  Sectors Size Id Type
ploplinux-4.3.2-arm.img1        *     2048 20971519 20969472  10G 83 Linux

Command (m for help): 

There is one partition. You see the start value of 2048. Edit the mount.sh and setup-arm-emu-hdimage.sh scripts and set the PARTITION_START_OFFSET variable.

File: mount.sh

#!/bin/sh

ROOT_DIR=arm

IMAGE_FILE=ploplinux-4.3.2-arm.img
PARTITION_START_OFFSET=2048
IMAGE_BLOCKSIZE=512

mount -o loop,offset=$[$PARTITION_START_OFFSET*$IMAGE_BLOCKSIZE] $IMAGE_FILE $ROOT_DIR/

File: setup-arm-emu-hdimage.sh

#!/bin/sh

ROOT_DIR=arm

IMAGE_FILE=ploplinux-4.3.2-arm.img

PARTITION_START_OFFSET=2048
IMAGE_BLOCKSIZE=512

SHARE=/root


mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc
echo ':arm:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-wrapper:' > /proc/sys/fs/binfmt_misc/register

mount -o loop,offset=$[$PARTITION_START_OFFSET*$IMAGE_BLOCKSIZE] $IMAGE_FILE $ROOT_DIR/


mount --bind /proc $ROOT_DIR/proc..
mount --bind /tmp $ROOT_DIR/tmp..
mount --bind /sys $ROOT_DIR/sys..
mount --bind /dev $ROOT_DIR/dev..
mount --bind /dev/pts $ROOT_DIR/dev/pts..

#if requried, bind the system /root directory to the chroot environment
#mount --bind $SHARE $ROOT_DIR/mnt

Mount the partition to the arm/ directory with starting the script mount.sh.

Copy the file qemu-static/qemu-arm-static and qemu-wrapper/qemu-wrapper to the directory arm/usr/bin/.

Preparations done, see next section how to chroot.


3. How to chroot


To enable the chroot environment you have to start the script

  • setup-arm-emu-local.sh - when the ARM system is extracted in the arm/ directory.
  • or setup-arm-emu-hdimage.sh - when the ARM system is on a partition in a hard disk image.

Then run arm-chroot.sh to do the chroot. Do a lscpu to see the emulated CPU information.

Now you can start programs on the ARM system. Start the Midnight Commander mc to speed up your navigation on the ARM system. You can compile programs in the same way, as the emulated hardware would be real.

You can run arm-chroot.sh parallel in other terminals to work parallel on the ARM system.


4. Additional resources


http://community.arm.com/groups/embedded/blog/2013/11/21/cross-compilation-for-arm
https://wiki.debian.org/QemuUserEmulation


Hardware


Raspberry Pi


I am using a Raspberry Pi model B+.

SD Cards:

  • SAMSUNG microSDHC EVO 32GB Kit, UHS-I/Class 10
  • KINGSTON Micro SDHC 16GB


Cubietruck / Cubieboard 3


SD Card:

  • SAMSUNG microSDHC EVO 32GB Kit, UHS-I/Class 10

Banana Pi


SD Card:

  • SAMUNG microSDHC-Card 16GB - Class 10


© 2016 by Elmar Hanlhofer
This page was last modified on 01/Dec/2016.