- Samsung Chromebook model XE303C12-A01US
- Available at BestBuy
- Affordable PC platform, running ChromeOS
- ChromeOS: Branded edition of ChromiumOS
- Linux kernel
- X.org display server
- Chromium OS security model
- Resource: Security Overview, The Chromium Projects
- CPU: Samsung Exynos 5 Dual SoC (ARM Cortex A15 / armv7l)
- Minimal power consumption on DC power supply
- may provide up to 9 hours PC runtime with wifi disabled and no USB devices connected
- may provide aprpox. 6 hours PC runtime with wifi activated and no USB devices connected
- approx 2 hour charge time (YMMV)
- Ultrathin notebook
- SSD internal storage (16 GB) (eMMC interface may be available via Linux kernel)
- Internal storage extensible via built-in SD card reader and USB
- Supports USB 3.0 "SuperSpeed" devices
- USB 3.0 is backwards compatible onto USB protocols 2.0, 1.x
- Resource: "10 things you should know about USB 2.0 and 3.0", TechRepublic
- In Chromebook "developer mode," a Chromebook can run an individual Linux chroot environment, on top of ChromeOS
- Resource: "How to Install Ubuntu Linux on Your Chromebook with Crouton", How-To Geek
- Resource: Crouton source code repository, Github
- Dual-boot system can be configured with ChrUbuntu
- May not support some features available directly on ChromeOS (e.g Adobe Flash)
- K Desktop Environment on Chromebook, "Is possible."
- Chroot on Samsung Chromebook uses Ubuntu ARM port
- Resource: ARM, Ubuntu Wiki
Overview: ANSI Common Lisp (CLtL2) on ARM
- CCL
- Uses CCL's FFIGEN4 (fork of FFIGEN) in developing CCL interfaces onto OS machine code
- Resource: Obtaining and building the FFI translator (FFIGEN), CCL Wiki
- Resource: Building Framework Interfaces, CCL Wiki
- Does not run "out of the box" on Samsung Chromebook
- "CPU doesn't support required features"
- Patch available (?), must be cross-compiled
- Cross Compiling, CCL Wiki
- Alternate representation:
;; arm-xcompile.lisp (in-package #:ccl) ;; referencing lib/compile-ccl.lisp (eval-when (:compile-toplevel :load-toplevel :execute) (defparameter *arm-compiler-modules* '(arm-arch armenv arm-asm arm-lap )) (defparameter *arm-compiler-backend-modules* '(arm-backend arm-vinsns arm2)) (defparameter *arm-xdev-modules* '(arm-lapmacros )) ) ;; referencing ;; http://trac.clozure.com/ccl/wiki/CrossCompiling (require-update-modules *arm-compiler-modules* t) (require-update-modules *arm-compiler-backend-modules* t) (require-update-modules *arm-xdev-modules* t) (defpackage "ARM-LINUX") (load "ccl:lib;ffi-linuxarm") (require-update-modules *arm-xload-modules* t) (setup-arm-ftd (find-backend :linuxarm)) (defun cl-user::do-xcompile () (cross-xload-level-0 :linuxarm :force) (cross-compile-ccl :linuxarm t))
- CCL, in successfully evaluating the lisp form
(cross-compile-ccl :linuxarm t)
- SBCL
- ARM ports available
- sbcl-arm, repository at Github
- Must be cross-compiled
- GCL
- Available via Ubuntu ports repository for armel
- ECL
- Available via Ubuntu ports repository for armel
- ABI / FFI interface (host OS): libffi
- documentation available in TeXinfo format:
- libffi source code, doc subdirectory
- published as HTML documentation in Debian package libffi-dev (Ubuntu 12.04 armel architecture)
- For documentation about the Lisp interface to FFI in ECL, see also:
- ECL Manual, Section II, Chapter, 3, Foreign Function Interface
- Static FFI and Dynamic FFI
- For developing Static FFI interfaces, assistance is available for the developer, via the function FFI:C-INLINE
- For portable FFI, see also:
- UFFI
- CFFI
- CFFI Project page
- Implementation support in CFFI - notes about ECL:
- Differing semantics for loading of non-Lisp machine code libraries when #-:DFFI T .... i.e (not (uiop/os:featurep :dffi))
- No built-in
:long-long
type - Unicode support not enabled by default
- McCLIM fork for ECL, Github
- Current status: "No multiple-value SETF" (Multiple-value SETF developed locally, using define-setf-expander. Regression testing framework needed -- therefore, a substantial design decision onto the fork.)
Overview: Developing ECL for multiple hardware architectures, on the Linux platform
- Recommendation: Build ECL distribution packages from Ubuntu repository source packages
- Possible relevance / use cases:
- Context: Software distribution and OS imaging
- Develop an ECL "back-port" for a single Debian-based Linux OS distribution
- Distribute ECL development packages, while developing ECL
- Context: ECL development
- Install build-dependencies for ECL
- Cross-compile ECL
- Shell command (without cross-compile)
export V=13.5.1+dfsg2 && export DV=ecl-${V} && export PV=ecl_${V}-4.1ubuntu1_i386 && apt-get source ecl && sudo aptitude build-dep ecl && cd ${DV} && debuild -uc -us -b && sudo dpkg -i ../${PV}.deb
- Multi-architecture development in Debian GNU Linux and Debian-based Linux distributions
- Resource: Debian Multiarch HOWTO, Debian Wiki
- Resource: Guidelines for cross-build friendly packages, Debian Wiki
- Resource: Multiarch Architecture Specifiers (Tuples), Debian Wiki
"YMMV"
No comments:
Post a Comment