Chromebook as a development platform? - Page 1
Forum section: electronics / general

author: e100
author_rank: Frequent Contributor
timestamp: April 24, 2023, 09:28:46 am
content: Does anyone have any practical experience of using a modern (< 2 years old) Chromebook for firmware and hardware development?Modern Chromebooks can run most Android apps and some native Linux apps, so things are very different from what they were 10 years ago.

author: ebastler
author_rank: Super Contributor
timestamp: April 24, 2023, 11:12:23 am
content: Quote from: e100 on April 24, 2023, 09:28:46 amBut how many Android apps are there for hardware and firmware development?Windows and Linux rule -- for commercial packages, free toolchains provided by component manufacturers, and open source software. There are some browser-based tools which should work, e.g. EsayEDA for PCB design, but I think your choice will be very limited compared to the established operating systems.If you can be much more specific and name what you want to do (which microcontrollers or FPGAs? is PCB layout part of your game?), maybe someone could offer specific advice.

author: Someone
author_rank: Super Contributor
timestamp: April 24, 2023, 11:50:20 am
content: Linux support is limited but usable for some chromebooks:https://github.com/Maccraft123/Cadmiumnot convinced they are $$ value for the specs/performance.

author: AndyBeez
author_rank: Frequent Contributor
timestamp: April 24, 2023, 02:37:08 pm
content: Think of Chromebooks as being an Android tablet attached to a full sized keyboard. Great for daily computer user tasks, but ChromeOS was built to run apps from the (google play) cloud, not run compilers. Yes you can develop on a chromebook using developer mode, but that's as deep as that rabbit hole goes.https://www.androidauthority.com/how-to-enable-developer-mode-on-a-chromebook-906688/

author: ejeffrey
author_rank: Super Contributor
timestamp: April 24, 2023, 11:16:24 pm
content: I know a number of people who use chromebooks for software development. The various compiler toolchains and so forth work fine in the linux environment. If you want a linux laptop for software development with a no-fuss but limited desktop environment, and good power management I think chromebooks are a pretty good option.For hardware and even embedded software it might be a bit less clear. If you are using vendor provided toolchains (even vendor version of open source tools) they may be more annoying to set up on a chromebook. You also have to jump through additional hoops to get USB devices like programmers/debuggers accessible from linux.

author: silenceisblissfulness
author_rank: Newbie
timestamp: April 25, 2023, 01:05:35 am
content: You must like pain and unnecessarily convoluted configuration. I use Chrome OS on and off, and it works very well, but it's a consumer-facing OS, I can't imagine it being very adept at dev work of any kind. I've used the VM stuff, tried the Android app abilities, and they work flawlessly... but I'd only counsel to use a more robust, time-tested OS such as Windows, macOS or some Linux (prob Ubuntu or SuSE etc) - my go-to is macOS.If you want to run Chrome OS much faster and with more power than a standard ChromeBook, you might like to try "Brunch" framework by "Sebanc" on GitHub. I've used this on and off for 3 years, experimentally, and it's good. It's extremely easy to dual-boot with Windows; you install Chrome OS into a container *.IMG which is kept on Windows' NTFS partition, and then it spits out some grub code to add to your grub config, to allow you to dual boot between Windows and Chrome OS. This framework gets you FULL, unrestricted Chrome OS on most x86 PCs, and not the restricted "Chrome OS Flex" variant (which comes without VM or Android support; thanks, Google o_O)All this depends on how hard you wanna make life for yourself.Brunch:https://github.com/sebanc/brunch

author: abeyer
author_rank: Frequent Contributor
timestamp: April 25, 2023, 02:25:05 am
content: I've exclusively used chromebooks for my personal daily driver dev laptops for many years. If you're comfortable working from the terminal I'd say it's 99% of what you need for general dev work... I generally only fall back to another machine if I need to do something that really needs/benefits from more memory. If you plan to run gui stuff then you'll likely start hitting those memory limitsmuchfaster. It's possible to have a few linux gui apps running at a time, but perf starts to struggle on the typically low-end hardware, so I almost always stick to the terminal or just run a single gui app for short tasks when needed.That said, if you're specifically doing firmware, then look into what tools you need and check if they work first... I struggled a bit getting openocd running correctly last time I needed to, and have seen some vendor tools refuse to work at all under containerization so couldn't be coaxed into working.Also be aware of what hardware you're looking at and which linux support options it has available: crostini is the more modern containerized one, but has a much smaller hardware support list (though pretty good coverage for newer models.) The older crouton was essentially just a chroot userspace so had broader support, but wasn't nearly as polished for running anything w/ a gui.

author: ebastler
author_rank: Super Contributor
timestamp: April 25, 2023, 07:37:41 am
content: Quote from: abeyer on April 25, 2023, 02:25:05 amCould you elaborate on the environment and tools you are using? Do you run a dedicated server with the actual compilers etc. and use the Chromebook as a terminal to access that? (That would be cheating!) Or have you found tools hosted by some 3rd party for all you need to do? (Which and where?) Thanks!

author: AndyBeez
author_rank: Frequent Contributor
timestamp: April 25, 2023, 08:26:12 am
content: I suppose really we should ask, what hardware and what firmware are you developing?There is Microsoft VS Code for ChromeOS/Crostini which may be of interest to you.https://code.visualstudio.com/blogs/2020/12/03/chromebook-get-started

author: abeyer
author_rank: Frequent Contributor
timestamp: April 25, 2023, 07:30:52 pm
content: Quote from: ebastler on April 25, 2023, 07:37:41 amI mostly use the officially supported crostini (https://chromeos.dev/en/linux) now, though I have an older machine that's still on crouton that I occasionally use. I do have servers for many things: it'snotmy normal workflow to just use a local terminal to remote machines, though, but most "production" workloads do build & deploy on CI servers directly to test or production environments remotely anyway (and would whether or not my client was chromeos.) I have local copies of almost all my tools, too, so that's more about process/policy enforcement.I don't use many hosted versions of dev specific tools, though certainly do for lots of "ancillary" stuff (documents that aren't markdown, diagrams, image editing, etc...) Most of my tools are just the stock linux cli stuff running on a local debian install. I have a provisioning script that configures my "standard" development environment on a machine on demand, and it does have a few chromeos specific tweaks in there, but it's not much different than the kind of config tweaks you'd want between a macos or linux or windows host. Particularly on crouton I had a custom build of the clipboard integration code that supported seamless shared copy & paste between chromeos, tmux, and vim, but that was the only really non-standard thing I've needed to do, and since switching to mostly crostini (which has a different, and somewhat more "out of the box" implementation of that) haven't kept that up to date.

author: abeyer
author_rank: Frequent Contributor
timestamp: April 25, 2023, 07:46:06 pm
content: I'd also add that typically the experience is a lot more smooth if you go with an x86 based machine instead of arm, too. The linux on arm situation is way better than it used to be, but the availability of binaries still lags behind: you're far more likely to find yourself needing to compile things from source yourself, and the build is less likely to just work when you do.

author: aeberbach
author_rank: Regular Contributor
timestamp: April 25, 2023, 08:50:02 pm
content: I read last week that Google was pushing developers onto Chromebooks internally as a cost-cutting measure, though almost everything they do is in the cloud - so it's debatable whether that means "development on a Chromebook" or "using a remote client".

author: guenthert
author_rank: Frequent Contributor
timestamp: April 25, 2023, 09:14:16 pm
content: Not sure about 'modern' Chromebooks, but my laments are general enough to be applicable there too, I'd think. I got an original Pixel (anno 2013, unsupported since 2018) which is still mostly fine for surfing the web (although an increasing number of web sites refuse cooperation, I suppose one of the JS libraries is at fault), in fact, I'm using it right now. I do occasional light development (hobby only) remotely (I like the idea of a Chromebook as Internet-terminal) using ssh into a banana-pi or a x86_64 server in the garage, but for anything half-serious, I got of the couch and sat down at my desktop (Apple mini sporting Ubuntu) or laptop (Dell M6800 sporting Windows 10). What makes the Pixel less than stellar for actual work isi) screen glare (it has a high resolution, but awfully reflecting screen)ii) poor keyboard missing keys, including page up/downiii) Chrome OS intercepting keyboard short cuts (e.g. ^W terminates the Window) -- especially frustrating in an Emacs sessioniv) too little screen estate

author: abeyer
author_rank: Frequent Contributor
timestamp: April 25, 2023, 09:35:14 pm
content: Quote from: guenthert on April 25, 2023, 09:14:16 pmThat's configurable. On new ones there's a "Terminal Settings" panel to disable the standard bindings, I think on older machines you may have to put it in a json file or something.

author: SiliconWizard
author_rank: Super Contributor
timestamp: April 25, 2023, 11:29:26 pm
content: If you want to work on a platform that's entirely controlled by Google, why not.You could argue that things have gotten just as bad with Windows/MS.I'm not sure which is worse though. Still trying to figure that out.

author: RJSV
author_rank: Super Contributor
timestamp: April 27, 2023, 05:08:37 am
content: Yeah, second on that, SiliconWizard.I find Google's 'reception' of customers is appalling, and that is without arguing the tired old "It's free, you know", (meanwhile they go about the monopoly, no brakes applied, apparently).The sentence(s) that start with customer oriented attitude, rather than open hostility, like some big city CAB driver, (dirty cigarette smoldering in mouth, for sleazy effect).And, going the other way, observing the 'gaps' and silent changes to formats and limitations. When Google, or YouTube makes a format change, (on-screen for instance) you immediately know who they serve...and it's not you.This newer business of labeling such a powerful monopoly as a 'State Affiliated' entity, as Musk did (NPR) isn't flattering either.? I'm wondering; Doesn't the word 'googleplex' mean to encompass all things, everywhere...or is it just a big big number ?Google Forms at my Doctor's office. Jeez-Louise !!!