Difference between revisions of "Novena Main Page"

From Studio Kousagi Wiki
Jump to: navigation, search
(More Pages)
(48 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Novena is the codename for an open computing platform. It is a work in progress, but nearing a point where we think it could be viable for public release.
+
Novena is an open hardware and F/OSS-friendly computing platform.  
 +
 
 +
If you are interested in buying one, you may pre-order one at [https://www.crowdsupply.com/kosagi/novena-open-laptop crowd supply].
  
 
Real-time updates and announcements can be tracked by following [https://twitter.com/intent/user?screen_name=novenakosagi @novenakosagi] on twitter.
 
Real-time updates and announcements can be tracked by following [https://twitter.com/intent/user?screen_name=novenakosagi @novenakosagi] on twitter.
  
==Hardware==
+
'''Alpha evaluators''': Please visit [[Using Novena PVT1]] for more info.
http://bunniefoo.com/novena/novena_depop_clean_labels_sm.jpg
 
<br>
 
[http://bunniefoo.com/novena/novena_depop_clean_labels.jpg above in hires]
 
 
 
Above is an annotated diagram of the circuit board. The dimensions of the board are approximately 121mm x 150mm — sized to fit comfortably underneath a standard-sized laptop keyboard. The image above is rotated versus the installation orientation; the port farm is meant to be on the right hand side of the laptop, not on the bottom. The overall height of the board is just under 14mm, with the height being set by the thickness of an Ethernet connector. The thickness on my Lenovo T520 base portion is just under 24mm, so once we stack a keyboard and plastics on this it’ll be just about the same.
 
  
http://bunniefoo.com/novena/novena_pop_clean_sm.jpg
+
=Hardware=
 +
http://bunniefoo.com/novena/pvt1_release/novena_pvt1e_top_thumb.jpg
 
<br>
 
<br>
[http://bunniefoo.com/novena/novena_pop_clean.jpg above in hires]
+
More photos: [[Novena PVT Hardware Photos]]
  
http://bunniefoo.com/novena/novena_back_sm.jpg
+
==Mainboard==
<br>
+
Features:
[http://bunniefoo.com/novena/novena_back.jpg above in hires]
 
  
===Features===
 
 
*Freescale iMX6 CPU — same footprint can support dual-lite and quad versions:
 
*Freescale iMX6 CPU — same footprint can support dual-lite and quad versions:
 
**Quad-core Cortex A9 CPU with NEON FPU @ 1.2 GHz
 
**Quad-core Cortex A9 CPU with NEON FPU @ 1.2 GHz
Line 32: Line 28:
 
**mini PCI-express slot (for wifi, bluetooth, mobile data, etc.)
 
**mini PCI-express slot (for wifi, bluetooth, mobile data, etc.)
 
**UIM slot for mPCIx mobile data cards
 
**UIM slot for mPCIx mobile data cards
**Dual-channel LVDS LCD connector (up to QXGA (2048×1536) @ 60Hz resolution) with USB2.0 side-channel for a display-side camera
+
**Dual-channel LVDS LCD connector with USB2.0 side-channel for a display-side camera
**Resistive touchscreen controller (note: captouch displays typically come with a controller)
+
**Resistive touchscreen controller (note: captouch displays typically come with an embedded controller)
 
**1.1W, 8-ohm internal speaker connectors
 
**1.1W, 8-ohm internal speaker connectors
 
**2x USB2.0 internal connectors for keyboard and mouse/trackpad
 
**2x USB2.0 internal connectors for keyboard and mouse/trackpad
**Digital microphone
+
**Digital microphone (optional, not populated by default)
 
**3-axis accelerometer
 
**3-axis accelerometer
**header for optional AW-NU137 wifi module (*)
 
 
**3x internal UART ports
 
**3x internal UART ports
  
Line 52: Line 47:
 
**USB OTG — enables laptop to spoof/fuzz ethernet, serial, etc. over USB via gadget interface to other USB hosts
 
**USB OTG — enables laptop to spoof/fuzz ethernet, serial, etc. over USB via gadget interface to other USB hosts
 
**Utility serial EEPROM — for storing crash logs and other bits of handy data
 
**Utility serial EEPROM — for storing crash logs and other bits of handy data
**Spartan-6 CSG324-packaged FPGA — has several interfaces to the CPU, including a 2Gbit/s (peak) RAM-like bus — for your bitcoin mining needs. Or whatever else you might want to toss in an FPGA.
+
**Spartan-6 CSG324-packaged FPGA (PVT uses LX45: 43k logic cells, 6.8k slices, 54.5k ff, 401kb distributed RAM, 58 DSP48A, 2088kb block RAM) — has several interfaces to the CPU, including a 2Gbit/s (peak) RAM-like bus — for your bitcoin mining needs. Or whatever else you might want to toss in an FPGA.
**High-speed I/O expansion header (new to PVT version, different from photos above)
+
**High-speed I/O expansion header
  
 
Items marked with an asterisk (*) require a closed-source firmware blob, but the system is functional and bootable without the blob.  
 
Items marked with an asterisk (*) require a closed-source firmware blob, but the system is functional and bootable without the blob.  
  
Keep an eye on [http://bunniestudios.com bunnie's blog] for updates and notes. You can also discuss at the [http://www.kosagi.com/blog/forums/forum/novena/ forum].
+
Keep an eye on [http://bunniestudios.com bunnie's blog] for updates and notes. You can also discuss at the [http://www.kosagi.com/forums/ forum].
 +
 
 +
==Battery board==
 +
http://bunniefoo.com/novena/pvt1_release/senoko_dvt1_thumb.jpg
 +
<br>
 +
More photos: [[Novena PVT Hardware Photos]]
 +
 
 +
Battery management functions are implemented in an optional daughtercard.  
  
===Battery board===
+
Features:
http://bunniefoo.com/novena/novena_batt_labels_sm.jpg
+
* SATA-style connector to route power and control signals to the main board
[http://bunniefoo.com/novena/novena_batt_labels.jpg above in hires]
+
* Works with battery packs used by most RC enthusiasts
 +
** 2S1P to 4S1P
 +
** Cheap and easy to buy
 +
** User can "pick their capacity" -- the battery life isn't fixed by design, it's up to the user
 +
* Classic Molex disk connector for battery connector
 +
** Requires adapter cable to the RC battery pack
 +
* Fast-charge capability
 +
** Rates in excess of 4A
 +
** Charge a 45Wh 3S1P pack in ~1 hour
 +
** Active cell balancing
 +
* Learns your battery pack
 +
** Over a few charge/discharge cycles, the controller determines the actual capacity of the pack
 +
** Tracks capacity degradation over time
 +
** Optimizes charging to reduce wear and tear on packs
 +
** Computes an accurate estimate of remaining battery capacity
 +
* Statistics reporting
 +
** SMBus standard power interface
 +
** Stats such as remaining capacity, charging rate, current discharge rate, voltage, etc. available
 +
* STM32 master controller
 +
** Runs [http://www.chibios.org/dokuwiki/doku.php ChibiOS]
 +
** Enables autonomous operation when CPU board is powered off
 +
** Reprogrammable by host CPU, but requires a physical button press to enable programming so as to prevent surreptitious malware insertion
 +
** Has DAC output to drive an analog panel meter
  
http://bunniefoo.com/novena/novena_batt_sm.jpg
+
==eDP Adapter==
[http://bunniefoo.com/novena/novena/batt.jpg above in hires]
+
http://bunniefoo.com/novena/pvt1_release/edp_evt2_thumb.jpg
 +
<br>
 +
More photos: [[Novena PVT Hardware Photos]]
  
http://bunniefoo.com/novena/novena_batt_back_sm.jpg
+
Novena natively supports a dual-channel LVDS interface for LCDs. However, today's LCD panels are migrating to an eDP-style interface. To bridge this gap, there is the eDP adapter board.
[http://bunniefoo.com/novena/novena_batt_back.jpg above in hires]
 
  
In order to give maximum power management flexibility, the battery interface functions are implemented on a daughtercard. I co-opt a cheap and common SATA-style connector to route power and control signals between the mainboard and the daughtercard. To prevent users from accidentally plugging a hard drive into the battery port, I inverted the gender on the mainboard of the battery-use SATA connector from the actual SATA-II connector. The current battery card is meant to work with the battery packs used by most RC enthusiasts — LiPo packs ranging from 2S1P to 4S1P (2-cell to 4-cell). RC packs are great because they are designed for super-fast charging. They are also cheap and easy to buy. For the board-side battery plug I decided to use the Molex connector found on classic disk drives, since they are cheap, common, and easy to assemble with simple tools. I couldn’t use a standard RC connector because the vast majority of them are designed for in-line use, and the few that have board mounts are too thick or too weird for use in this application.
+
Features:
 +
* IT6251 chipset
 +
* DisplayPort 1.1a Tx supporting HBR (2.7Gbps) and RBR (1.62 Gbps)
 +
* Input pixel rate up to 165MHz
 +
* 24-bit color
 +
* Breakouts for touchscreen and USB
 +
* On-board switching regulators for low power operation
 +
* Made to work with Chimei Innolux N133HSE
 +
** 13.3" diagonal
 +
** 1920x1080, 166 ppi; 1.3W typ cell power, white pattern
 +
** IPS, 180 degree viewing angle in V/H
 +
** 350 cd/m2 brightness (3.5W typ backlight power @ max brightness)
 +
** 700:1 typical contrast ratio
 +
** 14ms Tr, 11ms Tf response times
  
The battery board can charge batteries at rates in excess of 4A. This means charging a 3-cell, 45Wh (4Ah) pack in about one hour. I’m estimating that a typical power consumption for a reasonable system configuration might be around 5-6W, so that’s 7-8 hours of runtime with a 1-hour charge time using that type of battery pack. Of course, since the whole laptop is user-configurable, typical power consumption is really hard to estimate — you could drop in a monster LCD and a power-hungry magnetic hard drive with loads of peripherals and the power consumption could be much higher. Of course, you can drop in a 100Wh battery pack if you wanted as well :)
+
Note to viewers: total power is cell power + backlight power. Cell power is just the power required to flip the LCD elements, not inclusive of backlight.
  
Another cute feature of the battery board is that it can drive an analog panel meter. Xobs had suggested that it would be neat to embed a retro analog needle meter into the palmrest of the laptop to give a real-time display of power consumption. I thought it was a great idea, so I designed that in. Of course, the analog meter is driven by a DAC on the battery microcontroller, so it can be configured to perform a multitude of useful (or not so useful) read-outs, such as remaining runtime, battery voltage, temperature, the time (represented as an analog value), etc.
+
In addition, there is a custom flex cable that goes between the Novena mainboard and the eDP adapter. It's designed to handle the power requirements of the LCD, as well as manage signal integrity at high data rates.
  
==Firmware==
+
==Hardware Design Source==
Forthcoming. Keep an eye on [http://xoblo.gs Xobs' blog] for the latest progress.
+
Please see [[Novena PVT Design Source]] for electronic CAD.
  
Also, [[building novena firmware]].
+
Please see [[Novena Mechanical CAD]] for mechanical CAD.
  
uboot magic script:
+
=Firmware=
 +
==Bootloader==
 +
u-boot is the current factory-default bootloader. Please see [[U-boot PVT Notes]].
  
mkimage -T script -C none -n 'Novena Boot Script' -d boot.txt boot.scr
+
==Linux OS==
 +
===Kernel===
 +
Novena uses the stock Linux kernel with few patches. Any patches that might be useful to other projects (such as PCIe or ES8328 audio codec) are being submitted upstream.
  
==Software==
+
The 2D/3D/Vector unit requires its own driver, which is available in source form [https://github.com/xobs/gpu-viv on Github].  Different userspace drivers require different kernel modules, so be sure to check out the branch that corresponds with your driver version.
  
Once you get Novena running, there are a few tweaks that you might have to make to the software to get it to run.  Not all software likes running on Linux on anything other than x86/x64.  Others just require software fixes to work around kernel bugs that we haven't fixed yet.
+
The git repo for the cutting edge linux that we're working on is at:
  
===Enigmail===
+
https://github.com/xobs/novena-linux
  
Enigmail (and possibly some other Thudnerbird extensions) explicitly only works for x86 and x64, Linux, Windows, and Darwin. You need to modify install.rdf. If you're using Debian, it's called Icedove.
+
Make sure you switch to the desired branch, e.g. 3.14-rc4 etc.
  
* Install the extension, either from Thunderbird itself, or through "apt-get install enigmail"
+
Those doing GPIO hacking with linux may be interested in the [[Definitive GPIO guide]] for the i.MX6.
* Edit either ~/.thunderbird/*.default/extensions/{GUID}/install.rdf OR /usr/lib/xul-ext/enigmail/install.rdf
 
* Find the lines that contain &lt;em:targetPlatform> (e.g. &lt;em:targetPlatform>Darwin_x86_64-gcc3&lt;/em:targetPlatform>)
 
* Add the following line:
 
&lt;em:targetPlatform>Linux_arm-eabi-gcc3&lt;/em:targetPlatform>
 
* Save and close the file
 
* Restart Thunderbird
 
  
===PulseAudio===
+
===Distro===
 +
Debian is the factory-default distribution, but of course anyone can put their favorite distro on the system.
  
PulseAudio uses a type of scheduling that requires very accurate DMA response.  Unfortunately, this is not accurate with the current i.MX6 DMA driver.  The workaround is to use time-based scheduling instead.
+
Quickstart gide on building and initializing a bootable debian image:
 +
*[[Debian Init Update (PVT)]]
 +
*[[Debian jessie bootstrap]]
  
* Edit /etc/pulse/default.pa
+
For more in-depth discussions on Debian and other notes, please refer to these pages:
* Locate the line that says "load-module module-udev-detect"
+
*[[Novena/Debian]]
* Replace it with the following line:
+
*[[Novena/DebianBuildProcess]]
load-module module-udev-detect tsched=0
+
*[[Novena/DebianWheezyDebootstrap]]
* Save the file
 
* Run "killall pulseaudio"
 
  
==Booting Novena==
+
==Dual Core Variant==
 +
Novena's base design works with the i.MX6DL. However, it does require some firmware changes. Notably, the bootloader is significantly different because there is much less SRAM to run from for setting things up. Also, the pinmuxes are different, so that issue has to be addressed in the device tree. See [[Novena/Dual Core]] for notes on this configuration.
  
See [[booting novena]] for details on running the board after building and flashing the novena firmware.
+
==Legacy==
 +
For those who want to cross-compile an OE-based image, please see [[building novena firmware]]
  
==Source==
+
=Software=
  
===Mainboard===
+
Once you get Novena running, there are a few tweaks that you might have to make to the software to get it to run. Not all software likes running on Linux on anything other than x86/x64. Others just require software fixes to work around kernel bugs that we haven't fixed yet.
EVT-stage design files. As always, provided as-is, no warranty for fitness -- but particularly worthy of re-iteration since as an EVT design, it is in early stages and I fully expect to be finding and fixing bugs.
 
*[http://bunniefoo.com/novena/novena_evt1_sch.pdf Schematics]
 
*[http://bunniefoo.com/novena/novena_evt1a_gerbers.zip Gerbers]
 
*[http://bunniefoo.com/novena/novena_evt1_src.zip Altium source]
 
*[http://bunniefoo.com/novena/novena_dvt1_c_step.zip STEP 3D file (DVT)]
 
*[http://bunniefoo.com/novena/novena_pvt1_e_step.zip STEP 3D file (PVT)]
 
  
===Battery board===
+
Please see [[Novena Software]] for more information.
EVT-stage design files. As always, provided as-is, no warranty for fitness -- but particularly worthy of re-iteration, since as an EVT design it is in early stages and I fully expect to be finding and fixing bugs.
 
*[http://bunniefoo.com/novena/novena_battery1.pdf Schematics]
 
*[http://bunniefoo.com/novena/novena_battery1_gerbers.zip Gerbers]
 
*[http://bunniefoo.com/novena/novena_battery1_src.zip Altium source]
 
  
DVT-stage design files.
+
===Software projects===
*[http://bunniefoo.com/novena/senoko_dvt1a_step.zip STEP]
 
  
===Kernel===
+
While Novena tries to be standard, it nevertheless has some platform-specific software projects that are necessary to take advantage of its unique hardware.
Novena uses the stock Linux kernel with few patches.  Any patches that might be useful to other projects (such as PCIe or ES8328 audio codec) are being submitted upstream.
+
 
 +
[[novena-eeprom]]: Command-line editor for the onboard EEPROM
 +
 
 +
[[novena-usb-hub]]: Manage the power status of each of the onboard USB hub's ports
 +
 
 +
===Future software projects===
 +
 
 +
[[novena-eeprom-gui]]: Graphical viewer/editor to inspect the onboard EEPROM
  
The 2D/3D/Vector unit requires its own driver, which is available in source form [https://github.com/xobs/gpu-viv on Github].  Different userspace drivers require different kernel modules, so be sure to check out the branch that corresponds with your driver version.
+
[[senoko-manager]]: Graphical manager for Senoko battery board
  
==More Pages==
+
[[senoko-programmer]]: Firmware updater for Senoko battery board
Here on the wiki:
 
===Build notes===
 
*[[building novena firmware]]
 
*[[Novena Cloud Image]]
 
  
*[[Novena/Debian]]
+
=More Pages=
*[[Novena/DebianBuildProcess]]
+
===Getting started===
*[[Debian Init Update (PVT)]]
+
*[[Using Novena PVT1]]
  
===Tech notes===
+
===Hardware Tech notes===
 
*[[Booting novena]]
 
*[[Booting novena]]
 
*[[Novena/Crypto]]
 
*[[Novena/Crypto]]
 
*[[Novena Issue Log]]
 
*[[Novena Issue Log]]
 
*[[Novena DVT Issue Log]]
 
*[[Novena DVT Issue Log]]
 +
*[[Novena PVT Issue Log]]
 
*[[Novena ddr3 notes]]
 
*[[Novena ddr3 notes]]
 
*[[Novena/Power Management Board]]
 
*[[Novena/Power Management Board]]
Line 161: Line 193:
  
 
*[[Novena AFE]]
 
*[[Novena AFE]]
 +
*[[eDP adapter EVT]]
 +
 +
*[[Novena PVT2 ECO List]]
 +
*[[Senoko PVT ECO List]]
  
 +
===Because I can't remember all those damn command lines===
 
*[[Hacks, hints, and tricks]]
 
*[[Hacks, hints, and tricks]]
 +
*[[Novena Dogfood Setup]]
 +
 +
===Archives===
 +
*[[Old main page]]
 +
 +
=Shuttleworth Flash Grant=
 +
bunnie is a recipient of a 2014 [https://www.shuttleworthfoundation.org/fellowship/fellows/grantees/ Shuttleworth Flash Grant]!
 +
 +
He will be using the grant money to further development of the Novena open hardware platform and to help grow the community around it.
 +
 +
<center>
 +
http://bunniefoo.com/bunnie/Shuttleworth-Funded-480px.jpg
 +
</center>

Revision as of 10:49, 10 July 2014

Novena is an open hardware and F/OSS-friendly computing platform.

If you are interested in buying one, you may pre-order one at crowd supply.

Real-time updates and announcements can be tracked by following @novenakosagi on twitter.

Alpha evaluators: Please visit Using Novena PVT1 for more info.

Hardware

novena_pvt1e_top_thumb.jpg
More photos: Novena PVT Hardware Photos

Mainboard

Features:

  • Freescale iMX6 CPU — same footprint can support dual-lite and quad versions:
    • Quad-core Cortex A9 CPU with NEON FPU @ 1.2 GHz
    • Vivante GC2000 OpenGL ES2.0 GPU, 200Mtri/s, 1Gpix/s (*)
    • NDA-free datasheet and programming manual
  • Internal memory:
    • Boot from microSD firmware
    • 64-bit, DDR3-1066 SO-DIMM, upgradable to 4GB
    • SATA-II (3Gbps)
  • Internal ports & sensors:
    • mini PCI-express slot (for wifi, bluetooth, mobile data, etc.)
    • UIM slot for mPCIx mobile data cards
    • Dual-channel LVDS LCD connector with USB2.0 side-channel for a display-side camera
    • Resistive touchscreen controller (note: captouch displays typically come with an embedded controller)
    • 1.1W, 8-ohm internal speaker connectors
    • 2x USB2.0 internal connectors for keyboard and mouse/trackpad
    • Digital microphone (optional, not populated by default)
    • 3-axis accelerometer
    • 3x internal UART ports
  • External ports:
    • HDMI
    • SD card reader
    • headphone + mic port (compatible with most mobile phone headsets, supports sensing in-line cable buttons)
    • 2x USB 2.0 ports, supporting high-current (1.5A) device charging
    • 1Gbit ethernet
  • Fun features:
    • 100 Mbit ethernet — dual Ethernet capability allows laptop to be used as an in-line packet filter or router
    • USB OTG — enables laptop to spoof/fuzz ethernet, serial, etc. over USB via gadget interface to other USB hosts
    • Utility serial EEPROM — for storing crash logs and other bits of handy data
    • Spartan-6 CSG324-packaged FPGA (PVT uses LX45: 43k logic cells, 6.8k slices, 54.5k ff, 401kb distributed RAM, 58 DSP48A, 2088kb block RAM) — has several interfaces to the CPU, including a 2Gbit/s (peak) RAM-like bus — for your bitcoin mining needs. Or whatever else you might want to toss in an FPGA.
    • High-speed I/O expansion header

Items marked with an asterisk (*) require a closed-source firmware blob, but the system is functional and bootable without the blob.

Keep an eye on bunnie's blog for updates and notes. You can also discuss at the forum.

Battery board

senoko_dvt1_thumb.jpg
More photos: Novena PVT Hardware Photos

Battery management functions are implemented in an optional daughtercard.

Features:

  • SATA-style connector to route power and control signals to the main board
  • Works with battery packs used by most RC enthusiasts
    • 2S1P to 4S1P
    • Cheap and easy to buy
    • User can "pick their capacity" -- the battery life isn't fixed by design, it's up to the user
  • Classic Molex disk connector for battery connector
    • Requires adapter cable to the RC battery pack
  • Fast-charge capability
    • Rates in excess of 4A
    • Charge a 45Wh 3S1P pack in ~1 hour
    • Active cell balancing
  • Learns your battery pack
    • Over a few charge/discharge cycles, the controller determines the actual capacity of the pack
    • Tracks capacity degradation over time
    • Optimizes charging to reduce wear and tear on packs
    • Computes an accurate estimate of remaining battery capacity
  • Statistics reporting
    • SMBus standard power interface
    • Stats such as remaining capacity, charging rate, current discharge rate, voltage, etc. available
  • STM32 master controller
    • Runs ChibiOS
    • Enables autonomous operation when CPU board is powered off
    • Reprogrammable by host CPU, but requires a physical button press to enable programming so as to prevent surreptitious malware insertion
    • Has DAC output to drive an analog panel meter

eDP Adapter

edp_evt2_thumb.jpg
More photos: Novena PVT Hardware Photos

Novena natively supports a dual-channel LVDS interface for LCDs. However, today's LCD panels are migrating to an eDP-style interface. To bridge this gap, there is the eDP adapter board.

Features:

  • IT6251 chipset
  • DisplayPort 1.1a Tx supporting HBR (2.7Gbps) and RBR (1.62 Gbps)
  • Input pixel rate up to 165MHz
  • 24-bit color
  • Breakouts for touchscreen and USB
  • On-board switching regulators for low power operation
  • Made to work with Chimei Innolux N133HSE
    • 13.3" diagonal
    • 1920x1080, 166 ppi; 1.3W typ cell power, white pattern
    • IPS, 180 degree viewing angle in V/H
    • 350 cd/m2 brightness (3.5W typ backlight power @ max brightness)
    • 700:1 typical contrast ratio
    • 14ms Tr, 11ms Tf response times

Note to viewers: total power is cell power + backlight power. Cell power is just the power required to flip the LCD elements, not inclusive of backlight.

In addition, there is a custom flex cable that goes between the Novena mainboard and the eDP adapter. It's designed to handle the power requirements of the LCD, as well as manage signal integrity at high data rates.

Hardware Design Source

Please see Novena PVT Design Source for electronic CAD.

Please see Novena Mechanical CAD for mechanical CAD.

Firmware

Bootloader

u-boot is the current factory-default bootloader. Please see U-boot PVT Notes.

Linux OS

Kernel

Novena uses the stock Linux kernel with few patches. Any patches that might be useful to other projects (such as PCIe or ES8328 audio codec) are being submitted upstream.

The 2D/3D/Vector unit requires its own driver, which is available in source form on Github. Different userspace drivers require different kernel modules, so be sure to check out the branch that corresponds with your driver version.

The git repo for the cutting edge linux that we're working on is at:

https://github.com/xobs/novena-linux

Make sure you switch to the desired branch, e.g. 3.14-rc4 etc.

Those doing GPIO hacking with linux may be interested in the Definitive GPIO guide for the i.MX6.

Distro

Debian is the factory-default distribution, but of course anyone can put their favorite distro on the system.

Quickstart gide on building and initializing a bootable debian image:

For more in-depth discussions on Debian and other notes, please refer to these pages:

Dual Core Variant

Novena's base design works with the i.MX6DL. However, it does require some firmware changes. Notably, the bootloader is significantly different because there is much less SRAM to run from for setting things up. Also, the pinmuxes are different, so that issue has to be addressed in the device tree. See Novena/Dual Core for notes on this configuration.

Legacy

For those who want to cross-compile an OE-based image, please see building novena firmware

Software

Once you get Novena running, there are a few tweaks that you might have to make to the software to get it to run. Not all software likes running on Linux on anything other than x86/x64. Others just require software fixes to work around kernel bugs that we haven't fixed yet.

Please see Novena Software for more information.

Software projects

While Novena tries to be standard, it nevertheless has some platform-specific software projects that are necessary to take advantage of its unique hardware.

novena-eeprom: Command-line editor for the onboard EEPROM

novena-usb-hub: Manage the power status of each of the onboard USB hub's ports

Future software projects

novena-eeprom-gui: Graphical viewer/editor to inspect the onboard EEPROM

senoko-manager: Graphical manager for Senoko battery board

senoko-programmer: Firmware updater for Senoko battery board

More Pages

Getting started

Hardware Tech notes

Because I can't remember all those damn command lines

Archives

Shuttleworth Flash Grant

bunnie is a recipient of a 2014 Shuttleworth Flash Grant!

He will be using the grant money to further development of the Novena open hardware platform and to help grow the community around it.

Shuttleworth-Funded-480px.jpg