ISC grant milestone achieved – v0.3.2a runs on Macs!

As of this afternoon, Project Byzantium has achieved its second milestone of the ISC grant – porting Byzantium Linux to Intel Macs.

We ran into three significant problems in this effort, the X desktop and wireless drivers for certain Broadcom wireless chipsets.  When trying the last major release (v0.3a) on the Macbooks we purchased, we discovered that the X desktops were squished to the top of the screen, making it very difficult to get anything done.  We discovered that this was due to a bug in X.org – in our earlier release, the X server correctly detected the graphics chipset (Intel i915), loaded the proper driver into the X server, and then swapped the driver out for the VESA graphics driver.  We tried the latest version of our build platform (Porteus v2.0) and the bug was fixed.  We confirmed that everything still worked after further testing on different hardware.

The Broadcom wireless drivers posed a more difficult challenge.  I had no trouble with the wireless chipset in my Macbook, but the Broadcom BCM43224 (PCI ID is 14e4:4353) in Haxwithaxe’s Macbook Air refused to work with any drivers that we tried (and in fact, refused to respond to quite a few of them).  We checked out the latest version of the Linux kernel’s firmware repository and added it to the 000-byzantium.xzm module alongside the Broadcom firmware images, and that didn’t help, either.  What we wound up doing was recompiling the Broadcom kernel drivers with the CONFIG_B43_BCMA_EXTRA option turned on, and that extra option got wireless working on the Macbook Air.  We then did regression testing on our other test equipment, ensured that the new build was still interoperable with ByzPi, added some branding to the build, and there you have it.

The third problem, which was how to boot a Macbook from a USB key was paradoxically the easiest to solve.  Macbooks that still have optical drives can boot from CDs or DVDs normally.  Macbooks that don’t, on the other hand, are limited to booting from flash drives, which has historically been a dicey proposition.  We found a solution to this problem in the online documentation for TAILS, another live distribution of Linux.  Hybrid ISO images are images which can be burned to an optical disk as usual, or they can be written directly to a flash drive because they have standard partition tables.

Windows users can use a utility like the LinuxLive USB Creator, Unetbootin, or Win32 Disk Imager.  MacOSX, BSD, and Linux users can use the dd utility to write the hybrid image to a USB key.  For example, if your USB key is plugged into your machine and has the device name /dev/sdb, you would run one of the following commands:

sudo dd if=~/byzantium-v0.3.2a-hybrid.iso of=/dev/sdb bs=1048576

or,

sudo cat ~/byzantium-v0.3.2a-hybrid.iso > /dev/sdb && sync

When the file is finished writing, boot from the USB key.  PC users should hit whatever key will allow them to select the boot device at power on (ESC, F12… consult your manual or POST screen for specifics).  Mac users must power down completely and hold down the Option key while pressing the power button.  When the Mac firmware displays the hard drives in the system, pick the icon on the far right labeled ‘Windows’.  All users will then see the black-on-silver Byzantium Linux boot loader.

Additionally, you can unpack the .iso image onto the USB key and run the Porteus-installer-for-Windows.exe (Windows) or Porteus-installer-for-Linux.com (Linux) utilities as detailed here.

As always,  you can download the .iso images direct from us or one of our mirror sites, or you can torrent them.  If you torrent them, please seed for a day or two to keep the torrents healthy..

ISC Grant milestone number one achieved!

Project Byzantium would like to announce the accomplishment of the first milestone of our ISC Development Grant, the successful port of Byzantium Linux to the RaspberryPi!
We considered using the Arm port of Porteus Linux for the RaspberryPi version of Byzantium but decided to examine other options available first.  A little research revealed that there are two Linuxes in common use on the RaspberryPi right now, Raspbian (which is Debian Wheezy for the Arm platform) and Arch Linux for Arm.  These distributions are already in wide use by the RaspberryPi community so we felt fairly sure that this was a sign of both stability and flexibility.  We opted to use Raspbian because it seems to be the more popular of the two.  Also, the packaging process for Debian was better understood than that for Arch Linux by the Project Byzantium team.  We’re in a rapid development cycle so we wanted to hit the ground running and accomplish as much as possible in the available time before the first milestone.
We created a separate Git repository for ByzPi so that we could patch our code to account for Debian’s idiosyncracies without interfering with the main code tree.  We modified our initscripts to be Debian compatible and worked out the service dependencies in the existing installation image.  We also ported our customized configuration files to Raspbian where necessary.  Early in this development cycle we organized our code in such a way that building Debian packages would be easier as well as maintainable for the future.  We created packages for the captive portal daemon, service directory, and autoconfiguration daemon.  There were a couple of things that weren’t available in the Debian repositories that we had to package ourselves, like QwebIRC and etherpad-lite.  We also created a public Debian repository for the packages we created so they could be installed with APT.
Puppet is used to manage the installation of our customized configuration files, and we used Blueprint to generate the initial manifests.  We also use Puppet to manage whether or not a system service runs at boot-time on Byzantium nodes.  The autoconfiguration daemon controls the states of some services and we need to exercise greater control over them to avoid functional conflicts.  To automate the process of turning a running copy of Raspbian into a Byzantium node, we wrote an all-in-one installation script that is executed with a single cut-and-pastable command.  It takes some time to run because the script does an apt-get upgrade so all of the systemware will be up to date, but by the end of the process the only thing you will have to do is plug in a USB 802.11 interface and reboot the RaspberryPi.  Here’s how to do it once you’ve logged into a RaspberryPi:
curl -s http://byzantium.github.io/ByzPi/install.sh | bash
ByzPi has all of the features of the latest stable release of Byzantium Linux.  It will automatically configure itself at boot time, and is automatically interoperable with existing Commotion Wireless networks.  If plugged into an Ethernet network (even at boot-time) it will configure itself as a gateway to the global Net for the mesh network.  It will even run completely headless, which makes it ideal for semipermanant infrastructure installation.  Due to the fact that ByzPi is a ‘real’ installation and not a live distribution, we’ve also made it sensitive to its internal state and it will account for configuration changes that may potentially cause confusion, such as the existence and later non-existence of network gateways.

Announcing the release of v0.3a (codename: Beach Cat)

For the moment, we’ve won the battle against normal workaday life and fixed the final bug preventing us from publishing the latest release of Byzantium Linux, which we codenamed Beach Cat after our time in New York City late last year.  v0.3a is now available via BitTorrent and direct download on our distribution page.  Please help us distribute this release announcement far and wide.  The official text is below:

Continue reading ‘Announcing the release of v0.3a (codename: Beach Cat)’

Project Byzantium was invited to the FEMA Think tank in February.

This update is extremely late – well over a month overdue – but that whole workaday thing’s really got us down right now.  We’re working on that, promise.

Every quarter FEMA holds a think tank in a different part of the country to discuss after-action reports and plan for what may come in the medium to long term.  For our work in New York City late last year we were invited to attend the meeting when it was held in the Executive Briefing Chamber of the White House on 6 February 2013.  Project Byzantium was also asked to set up a wireless mesh network in the room for attendees to use during the day-long event for communications.  Unfortunately only one person was able to attend but they were well equipped indeed.  Three laptops running the latest Release Candidate build of Byzantium Linux were deployed and a hacked Android phone was used as an uplink to the global Net for the duration of the meeting by attendees.  We lost track of the volume of traffic the mesh handled when it hit the eight gigabyte mark around 1300 hours EST5EDT that afternoon.  We didn’t go snooping around to see if there were any other wireless networks in the area due the White House being one of the most heavily restricted areas on the planet, but it is our optimistic belief that we built the first wireless mesh network at the White House in history that day.

FEMA has posted a video recording of the meeting to its website along with a transcript and a downloadable MP3 of the audio.  It’s over five hours long so you might want to listen to it in the background until something catches your attention.  We think that the #femathinktank hashtag will also be of interest.

Project Byzantium is an ISC grant recipient.

In late 2012, Project Byzantium applied for a technology grant from the Information Security Coalition.  We were informed earlier this week after the selection process was over that Project Byzantium has been given a $10,000us grant to continue research and development for the next six calendar months!  We will be putting the money toward additional equipment to test and debug Byzantium Linux on as well as hardware to experiment with integrating Byzantium Linux into various and sundry amateur radio-related data communications networks.  Our final milestone will be v0.4 of Byzantium Linux somewhen in August of 2013.

We know, v0.3 isn’t out yet.  Workaday life ambushed us, and we have one final bug left to fix before we can release it.  We’re hacking as fast as we can, we promise!

Project Byzantium is an Access Innovation Prize finalist!

Earlier this year, Project Byzantium submitted an entry for the 2012 Access Innovation Prize, an initiative to award five $20,000us grants to accelerate projects working in several problem spaces. These problem spaces are defined as making networks resilient to blackouts (including power and connectivity disruptions), making strong crypto easy to use by everyone, a bounty on a working fix for a vulnerability that affects software used by activists and/or defenders of human rights, a system for making Facebook an easier to use platform for the social good, and the Golden Jellybean Award for advancing communication technologies to promote and enable human rights.  Project Byzantium’s application was for the Blackout Resilience category.  We were recently notified that we are a finalist in this category, and have been invited to New York to attend the awards ceremony on 10 December 2012.  We are honored to have been selected as finalists, and will be in attendence.

Project Byzantium asked to assist in relief efforts.

Early last week, the Project Byzantium development team was contacted by the organizers of relief efforts in the Red Hook neighborhood of Brooklyn, New York.  We were asked to assist in the construction of a wireless mesh network to aid in relief efforts.  Toward that end, we spent the week assembling an even tinier version of Byzantium Linux which requires almost no user interaction (only to boot the machine) and full compatibility with the Commotion Wireless firmware.  If you would like to preview this functionality you can download the .xzm modules from here, insert them into a copy of Porteus Linux v1.2, and test it for yourself.

During our time in Red Hook we assisted in the installation of a 15 megabit satellite uplink to the global Net and helped grow a burgeoning community wireless network to help provide telecommunications necessary for ongoing relief efforts.

Ben the Pyrate wrote a brief summary of our time in New York City.  The Doctor posted his own writeup a short time later, followed by some photographs he’d taken while on site.

Project Byzantium has been invited to attend IS4CWN

Project Byzantium has been invited to attend and present at the Internation Summit for Community Wireless Networks in Barcelona, Spain (4-7 October 2012).  In addition to meeting with hackers and engineers constructing community networks around the world (from Montreal to Germany to the United States), the team’s proposal for a talk about moving toward interoperability (or at least identification of capabilities of detected networks) has been accepted.  The team will be presenting on Friday afternoon.

We hope to see you in Spain!

Project Byzantium at FOSScon 2012!

On Saturday, 11 August 2012 the Project Byzantium dev team will be presenting at FOSScon about the Project.  We’ll be on stage in Linode Hall at 1520 hours EST5EDT.  Earlier that day we’ll be giving away copies of Byzantium Linux v0.2a and running workshops on how to use it.

We can’t wait to meet you in Philadelphia!

Announcing the release of Byzantium Linux v0.2a (codename: Bath Salts)

Good news everybody!

We’re finially recovering from all the excitement and lack of sleep that was HOPE. So we know this announcment is a little late, since we already did this on stage on Saturday, but better late than never.

The whole team, as well as our very dedicated supporters, is proud to officially announce the public release of Byzantium Linux V0.2a. You can find the download links on our website (http://project-byzantium.org) as well as on several popular torrent trackers. We also have a few of the printed CDs left over (and more on the way) which are available upon request.

We have code-named this release “Bath Salts” as a reference to the drug which was originally reported to be responsible for several zombie-like cannibal attacks.

Please help us distribute this release announcment far and wide. The official text is included below.

Thank you all,
Ben the Pyrate

==

ANNOUNCING BYZANTIUM LINUX V0.2a (Bath Salts)
Approved for: GENERAL RELEASE, DISTRIBUTION UNLIMITED

Project Byzantium, a working group of HacDC (http://hacdc.org/) is proud to announce the release of v0.2 alpha of Byzantium Linux, a live distribution of Linux which makes it fast and easy to construct an ad-hoc wireless mesh network which can augment or replace the current telecommunications infrastructure in the event that it is knocked offline (for example, due to a natural disaster) or rendered untrustworthy (through widespread surveillance or disconnection by hostile entities).  Byzantium Linux is designed to run on any x86 computer with at least one 802.11 a/b/g/n wireless interface.  Byzantium can be burned to a CD- or DVD-ROM (the .iso image is around 460 megabytes in size), booted from an external hard drive, or can even be installed in parallel with an existing operating system without risk to the user’s data and software.  Byzantium Linux will act as a node of the mesh and will automatically connect to other mesh nodes and act as an access point for wifi-enabled mobile devices.

THIS IS AN ALPHA RELEASE!  Do NOT expect Byzantium to be perfect.  Some features are not ready yet, others need work.  Things are going to break in weird ways and we need to know what those ways are so we can fix them.  Please, for the love of LOLcats, do not deploy Byzantium in situations where lives are at stake.

FEATURES:
- – Binary compatible with Slackware-CURRENT.  Existing Slackware packages can be converted with a single command.
- – Can act as a gateway to the Internet if a link is available (via Ethernet or tethered smartphone).
- – Linux kernel v3.1.8
- – Drivers for dozens of wireless chipsets
- – KDE Trinity v3.5.12
- – LXDE (2010 release of all components)
- – Mplayer
- – GCC v4.5.2
- – Perl v5.12.3
- – Python v2.6.6
- – Firefox v4.0.1
- – X.org
- – Custom web-based control panel

SYSTEM REQUIREMENTS (to use)
- – Minimum of 1GB of RAM (512MB without copy2ram boot option)
- – i586 CPU or better
- – CD- or DVD-ROM drive
- – BIOS must boot removable media
- – At least one (1) 802.11 a/b/g/n interface

SYSTEM REQUIREMENTS (for persistent changes)
- – The above requirements to use Byzantium
- – 2+GB of free space on thumbdrive or harddrive

WHAT WE NEED:
- – Developers.
- – Developers!
- – DEVELOPERS!
- – No more Bill Ballmer impersonations.
- – People running Byzantium to find bugs.
- – People reporting bugs on our Github page (https://github.com/Byzantium/Byzantium/issues).  We can’t fix what we don’t know about!
- – Patches.
- – People booting Byzantium and setting up small meshes (2-5 clients) to tell us how well it works for you with your hardware.  We have a hardware compatibility list on our wiki that needs to be expanded.
- – Help translating the user interface.  We especially need people fluent in dialects of Chinese, Arabic, Farsi, and Urdu.
- – Help us write and translate documentation.

Homepage: http://project-byzantium.org/

Download sites: http://project-byzantium.org/download/

This announcement is published under a Creative Commons By Attribution / Noncommercial / Share Alike v3.0 License. (http://creativecommons.org/licenses/by-nc-sa/3.0/)