-- first -- This is not intended to be a fork of Antonio's and others great work, mearly an attempt to get it working on more generic x86 hardware with atheros wifi cards with as few a changes as possible. -- second -- Thanks to Antonio and others for being so open with their work. -- third -- Please see "How I created this robix image" further down this page. The name "robix" was Antonio's suggestion. Better than my x86robin. For general robin info see:- http://robin.forumup.it/index.php?mforum=robin and the open-mesh knowledge base - http://www.open-mesh.com/activekb/ For general robix info see:- http://robin.forumup.it/index.php?mforum=robin under the heading "X86 Robix" General Notes ############# N.B. for previous users of robix; this time you register with the dashboard using the wifi MAC address NOT the eth0 MAC (all previous robix versions). Previous robix releases all used 16MB root fs partition but in keeping with sticking as closely as possibly to what Antonio has done I have left this build with it's default of 48MB rootfs partition. Kernel partition is unchanged at 4MB. Also it seems nodogsplash now works, thanks go to dplacko, see:- see http://robin.forumup.it/viewtopic.php?t=870&postdays=0&postorder=asc&start=15&mforum=robin - what a relief- but I haven't tested anything much yet, though the coova-chilli cp seems to work with our sussexnetshare setup. Only olsrd used in any testing. There doesn't appear to be any batman binary in this release. I am trying to stick close to Antonio's stuff as there are few enough people using this net4801 branch as it is. I have done a quick test of this version as both a repeater and gateway, meshed in both cases with an Accton MR3201A-EU running robin version r2671. Short commings:- - No journaled file system (it uses ext2) so ideally one should ssh in and halt prior to turning off. - There is no online upgrade facility, previously to this release robix looked to www.opensourcemesh.org for its upgrades as only mips binaries were dished out from www.open-mesh.org at the time but since Antonio has now started this x86 (net4801) branch I have left everything upgrade wise as it was in his branch in the hope that it might yet get seen too, or at least is now known as another arch so mips binaries are less likely to arrise via an upgrade. A work around is to establish an alternate upgrade server via dashboard. - Wired ethernet drivers very limited; this can be improved but I haven't got there yet, have to go into specific kernel config. http://wiki.openwrt.org/Generic_x86-HowTo but suspect out of date. http://forum.openwrt.org/viewtopic.php?pid=30487 also out of date maybe. - I have found a problem with MAC addresses during registration. You can't use wifi cards whose mac ends in ff or 00 as these would give IP addresses ending in 255 or 0 which is of course invalid. - This build seems OK ish on limited testing on sff compaq and cm9 wireless card in mini-pci - pci adapter. Note only atheros based wifi cards supported by robin/robix as yet. With olsrd you can do olsrd-mon.sh to get info about wifi visible neighbours from the local console. Hope this helps someone. Installation ########### One way of installing robix on a machine is to boot that machine from the "robix_live_install_cd":- at the time of writing an iso of this cd is available at:- www.opensourcemesh.org in the downloads section. As you probably already know the linux dd command can also deploy the image to a drive for you, just be careful you don't dd it straight onto you system or home drive. I use a usb to ide interface and watch in the logs to see what the device appears as (tail -f /var/log/messages is your friend). so:- dd if=./robix_....._openwrt-x86-ext2.image of=/dev/sda where the ..... in the above is the missing version info (tab key should complete anyway) dd = direct data (but unsure as lost in history of command) if = input file of = output file Oh the joys of linux. BE VERY CAREFUL of what device you dd to as it WILL go straight over what ever you like or don't like. You could try see what devices are what first via the mount command, then you should know what is extra when the target drive is plugged in. Note linux use to have hdaX as ide but modern kernels may have sdX as ide. May need to unmount the device if its auto mounted or you may upset things. You don't need to fdisk or anything as this image is just that a byte by byte image with x86 boot sector, grub, and all. Worked for me on a few different drives. note old kernels had:- hda = master first channel hdb = slave first channel hdc = master second channel hdd = slave second channel and so on, but now all in scsi layer so have to look closely. How I created this robix image ############################## Robix is now build very differently from all previous versions up to and including r1522 (all 9 of them). Previously I modified the robin trunk but since then we have open-mesh and the new build system and very significantly Antonio's inclusion of the Soekris openwrt-net4801 branch. Given that the net4801 board is essentially a 586 arch it makes much more sence to base robix (generic x86 robin) on this openwrt-net4801 branch of robin. From https://svn2.hosted-projects.com/ansanto/robin-mesh/branches/openwrt-net4801/howto_build we do:- svn co https://svn2.hosted-projects.com/ansanto/robin-mesh/branches/openwrt-net4801/ openwrt-net4801 The above line for me: Checked out revision 893 I needed to install gawk, flex, & bison in addition to the development stuff I already had. I used Ubuntu 9.10 which cost me quite a bit of time as no images were built, seems others had this problem and solved it by updating: ./scripts/ipkg from 8.09.2 - that fixed the issue. see:- https://forum.openwrt.org/viewtopic.php?id=22519 https://forum.openwrt.org/viewtopic.php?pid=100462 most probably:- https://dev.openwrt.org/changeset/16390 (Workaround a bug(?) in tar in debian squeeze, which causes the build process to fail without any reason.) to get /tags/8.09.2/scripts/ipkg we can #get owrt 8.09.2 ./scripts/ipkg with Debian squeeze & Ubuntu 9.10 build host fix svn export svn://svn.openwrt.org/openwrt/tags/8.09.2/scripts/ipkg $(OWRT_DIST_LOCAL_PATH)/scripts/ipkg so patch to top level Makefile in above openwrt-net4801 chckout would be:- owrt_checkout: svn co -r $(OWRT_DIST_SVN_REV) svn://svn.openwrt.org/$(OWRT_DIST_SVN_PATH) $(OWRT_DIST_LOCAL_PATH) +#get owrt 8.09.2 ./scripts/ipkg with Debian squeeze & Ubuntu 9.10 build host fix + svn export svn://svn.openwrt.org/openwrt/tags/8.09.2/scripts/ipkg $(OWRT_DIST_LOCAL_PATH)/scripts/ipkg svn co -r $(OWRT_PKG_SVN_REV) svn://svn.openwrt.org/$(OWRT_PKG_SVN_PATH) $(OWRT_PKG_LOCAL_PATH) touch $@ Images are then created as would be expected in openwrt-build/bin. The complete system image being openwrt-x86-ext2.image What I changed to make robix from net4801-robin:- ################################################## In top level make file from above checkout BUILD_TYPE := CivicWifi # custom files, or enter "robin" for standard build to BUILD_TYPE := robin # custom files, or enter "robin" for standard build OWRT_CFG = "net4801-default-config" to OWRT_CFG = "robix-default-config" The openwrt build .config (supplied as robix-default-config ) I modified from the net4801-default-config via "make menuconfig" in the following ways:- Target profile from Soekris Net4801 to Generic (gives greater choice of hardware etc) in Base system/busybox/Configuration/ Process Utilities - watch - because I like it. in "Utilities" I added:- disc/fdisk - just like to have it badblocks because I like to be able to check for these tune2fs - to give options In "Kernel modules" I added:- Network Devices - added all drivers except siit so ended up with:- so 3c59x, 8139too, e100, e1000, pcnet32, r8169, sis900, sky2, tg3 netsemi and ne2k-pci where already selected from net4801 config left usb support out for now as could cause problems.