Browse Source

New (TMP) docs

RISCi_ATOM 9 years ago
parent
commit
01039940e9
3 changed files with 101 additions and 35 deletions
  1. 0 35
      README
  2. 43 0
      README.md
  3. 58 0
      docs/BUILD_HOWTO.md

+ 0 - 35
README

@@ -1,35 +0,0 @@
-This is the buildsystem for the libreCMC Linux distribution.
-
-Please use "make menuconfig" to configure your appreciated
-configuration for the toolchain and firmware.
-
-You need to have installed gcc, binutils, bzip2, flex, python, perl
-make, find, grep, diff, unzip, gawk, getopt, libz-dev and libc headers.
-
-Run "./scripts/feeds update -a" to get all the latest package definitions
-defined in feeds.conf / feeds.conf.default respectively
-and "./scripts/feeds install -a" to install symlinks of all of them into
-package/feeds/.
-
-Use "make menuconfig" to configure your image.
-
-Simply running "make" will build your firmware.
-It will download all sources, build the cross-compile toolchain, 
-the kernel and all choosen applications.
-
-You can use "scripts/flashing/flash.sh" for remotely updating your embedded
-system via tftp.
-
-The libreCMC system is documented in docs/. You will need a LaTeX distribution
-and the tex4ht package to build the documentation. Type "make -C docs/" to build it.
-
-To build your own firmware you need to have access to a Linux, BSD or MacOSX system
-(case-sensitive filesystem required). Cygwin will not be supported because of
-the lack of case sensitiveness in the file system.
-
-
-Sunshine!
-	Your libreCMC Project
-	http://librecmc.org
-
-

+ 43 - 0
README.md

@@ -0,0 +1,43 @@
+![librecmc](http://hype.downloads.librecmc.org/res/img/main_white.png "librecmc")
+# libre Concurrent Machine Cluster : The *libre* embedded GNU/Linux distro
+
+libreCMC is an embedded GNU/Linux distro with the focus of providing a platform
+that is 100% free software and that does not contain non-free blobs. While libreCMC
+is currently a hard fork of the popular OpenWRT project, it uses a linux-libre kenrel and
+does not contain non-free parts.
+
+
+## Why would I want to use libreCMC?
+
+Well, many in the Free Software community feel that it is important to have control
+over the software that runs on their devices. In the embedded world, it is quite
+rare to find a device that does not require the use of a non-free part where code
+can't be obtained or where the user is not allowed to change the software. Having 
+the freedom to change **ALL** of the software on a device is essential to ensuring
+that the software is doing what the user wants and not bending to the will of a third party.
+These freedoms should also include :
+
+0. The freedom to run the software as the user sees fit.
+
+1. The freedom to study how the program works.
+
+2. The freedom to copy the software.
+
+3. The freedom to share changes to the software.
+
+
+## Why is libreCMC a **HARD** fork of OpenWRT?
+
+Well, to bootstrap the project in a timely fashion, we needed a build system
+that we could use. libreCMC is a hard fork of OpenWRT because the changes that
+we make won't be pushed upstream (we've tried) and because work is currently being
+done to fully replace the build system. Another reason for creating this fork is 
+because the goals and views of the libreCMC project conflict with those of the 
+non-free OpenWRT.
+
+
+# Useful Things
+
+[BUILD-HOWTO](docs/BUILD_HOWTO.md) : Basic instructions for building libreCMC.
+
+## More work being done ;)

+ 58 - 0
docs/BUILD_HOWTO.md

@@ -0,0 +1,58 @@
+# libreCMC build HOWTO
+
+This generic documentation is for building libreCMC firmware images that are for supported target devices. While libreCMC does allow for building for other tagets, not all have been tested to work with libreCMC and are not supported if they are not mentioned on the libreCMC wiki.
+
+libreCMC is licensed under the GPLv2 and contains code from other free software projects. Some code may be licensed under other free software licenses and will be noted. All software is to be distributed under the terms of the GPLv2 or their respective free software licenses.
+
+## What do I need to get started?
+
+* GNU/Linux distro (Trisquel, *buntu, Fedora or others)
+* GNU GCC / GCC-C++
+* flex
+* gawk
+* ncurses-dev (ncurses5-devel, etc..)
+* libghc-zlib-dev
+* patch
+* perl5
+* subversion
+* git-core 
+
+## Building libreCMC
+
+1) Get the latest libreCMC source code:
+
+`git clone git://gitorious.org/librecmc/librecmc.git`
+`git clone http://gitboria.com/RISCi_ATOM/librecmc.git`
+
+or download v1.2.1 :
+
+[librecmc-v1.2.1.tar.bz2](http://downloads.librecmc.org/sources/v1.2.1/librecmc-v1.2.1.tar.bz2)
+
+2) Configure libreCMC for your device. 
+
+ `make menuconfig` 
+
+ When configuring libreCMC for your device, it is imperative that the right target and profile are selected. Currently, we only _officially_ support the AR71XX target and the TP-Link TL-MR3020 and Netgear WNDR3800. If you want other packages, please keep in mind that these devices don't have very much in terms of flash ROM and your selection of packages may not work properly. Generally, a good default configuration includes:
+
+
+ * luci : Collections -> luci  + luci -> protocols -> luci-proto-relayd
+ * Networking : wpa-cli + wpa-supplicant + iw
+ * Utilities : Editors -> Nano
+
+3) When done configuring, run:
+
+ `make`
+
+ If the build fails, type:
+
+ `make V=s`
+
+ if there are missing dependencies in your build environment, please install them and then run `make`.
+
+4) If the build exits without any errors, you should have a new image in:
+
+ `$SRC_ROOT/bin/$BUILD_TARGET/librecmc-$BUILD_TARGET-generic-$TARGET_PROFILE-$VERSION-$FS_TYPE-factory.bin`
+
+ Where `$BUILD_TARGET = target (ex. ar71xx)`, `$TARGET_PROFILE = device`, `$VERSION = device version (some don't any)`
+
+5) Flash the newly built image (if you are confident). libreCMC project is not responsible for bricked devices.