Why the Sun 2 has the message “Love your country, but never trust its government”

(UPDATE: Sevan Janiyan pointed out the Sun 2 was not a SPARC system)

Yesterday, Alec Muffet posted a few tweets regarding the Sun SPARC 2 bootloader’s DES routines.

des

Alec figured that message was never supposed to be seen and suggested it was a kind of silent protest of someone in Sun against the US Government. I replied, saying I was pretty sure such a message anywhere in the Sun bootprom code must have originated by John Gilmore. So I asked John, and he did not disappoint. This is what I wrote me back:

> That must have been you? :)

Yes. Vinod Khosla, first President of Sun, came to me at one point
and said to put something hidden, triggered in an unexpected way, into
the ROM Monitor, so that if somebody cloned the Sun Workstation
(violating our software’s copyright), we could do that unexpected thing
to the competitor’s demo workstation at a trade show and thereby prove
that they had cloned it.

The ROM Monitor command that printed “Love your country, but never
trust its government.” was “k2” followed by control-B and RETURN. (To
get to the ROM Monitor from the running Unix display, you had to hold
down the L1 key and hit “A” then release both; the monitor had special
code looking for that key sequence.) I had found that saying years
before on a hand-painted sign tacked up on a pole or tree in central
Pennsylvania, wrote it into one of my notebooks at the time, and
plucked it out as the hidden thing after Vinod asked. In the source
code it was obscured as a set of hex numbers, but in the binary it was
visible. (I didn’t bother to XOR it with something to make it more
hidden.)

The circumstance Vinod was concerned about never did come about;
nobody stole the Sun boot roms. Early 680x0s didn’t come with a
standard MMU, so everybody who wanted virtual memory had to invent
their own, and our roms were very tied to our custom static-ram based
zero-wait-state MMU, which was also patented. A few companies
licensed the board design from us, like Imagen for a laser printer
controller, but they had a license to use the ROMs.

The DES chip slot was intended to speed up DES for high security
networking applications, and we did get it working. I think Bill Joy
was the one who made it a part of the architecture, all the way
through the Sun-3, thinking that we’d use it as part of securing the
network file system. But the chip was expensive and
export-controlled, and our software never really used it (NFS ran in
plaintext and used the sender’s IP address for authentication!). So
it didn’t get stuffed on the production boards, and eventually they
stopped stuffing the support chips too. Tom Lyon wrote a nice device
driver for it, and a “des” user command that would use the chip for
file encryption if it existed (or fall back to software).
In one 68010 based model we also put in a slot for an Intel floating
point chip — I think the one that came with the 80286. We got it
working (I did the initial debugging) and fed it commands and
arguments via manual peek/poke in software. Doing that was somewhat
faster than the software floating point that we were otherwise using,
despite the overhead. But as I recall, Intel wouldn’t sell us the
chips in volume, because they didn’t want to make the 68000 more
competitive against their own x86 chips. So we had to wait til the
68020/68881 came out (Sun-3 era) before we had fast floating point.

It’s nice that Matt Fredette made a Sun-2 emulator. I may have
images of old SunOS release tapes that might work in it. And I have a
Sun “FE Handbook” for the field engineers, that has a lot of the
details about what chips go where, what the jumpers on each board
mean, what the memory map of each board looks like, and etc.

You can forward this info on to whoever…

John

The Chinese G101 tablet and Fedora 17 (Part 1)

So I managed to get a tablet that’s actually a full PC. It has no name, but you can find it  when you google for “tablet g101 atom“.

The tablet installing Fedora 17 from USB DVD. An iphone 3G is placed in front for size (and shape) comparison

It is not an ARM based device like many Android tablets, but an Intel Atom N450, 64bit, 2GB RAM, 160GB HD, WLAN 54 Mbps, 10.1″ capacitive multitouch touchscreen 1024×600, 3 USB ports, 1 (optional, not there?) 3G SIM slot, 1x HDMI, front facing webcam, sound, mic.

The amazing thing, Fedora 17 installed straight onto it from USB-DVD. I did not need to do any command line tinkering to load any kind of kernel module, driver or xorg driver. It installed, booted and all the hardware worked, though I haven’t yet tested the HDMI output. Wireless worked fine, sound and video worked, even the webcam! And of course the touch screen worked, though I haven’t confirmed multitouch, as I don’t know of an app that supports it to test it.

So what didn’t work? The biggest issue is that the machine cold boots from sleep mode, instead of resuming. It seems to enter sleep mode fine, and the LED blinks in that sleepy way, but it will just cold boot after that. The “home” button seems to just map to a return key. And I haven’t found the accelerometers yet, so it won’t rotate the screen automatically like it did with the pre-installed win8 beta. I tried using lm_sensors and i2c_detect but those do not find anything. When you rotate the screen using xrandr, the touchscreen input does not rotate its location to match, and I haven’t found the right xinput command yet. The speaker volume is a little on the low side.

Gnome3 – made for tablets!

There were a few things that made using this device a frustrating job, mostly because of gnome3. Which is odd because gnome3 was meant to be tablet friendly. You can select the Universal Access symbol and get a virtual keyboard to login, kudos there since I have no keyboard unless i bring along a USB keyboard. But when the virtual keyboard vanishes, it goes into that bottom tray bar, which auto-hides. It is next to impossible to get the tray bar to appear again to select the keyboard. If someone knows how to NEVER hide the tray bar, let me know, google only knows about people who want to never see the tray bar at all). Next, selecting the “activities” is way too hard. Pressing it just fails too often. The same for selecting “windows” or “applications”. This is not due to the touch screen being of bad quality, as for instance scrolling using the scroll bar in firefox works fine.  Scrolling through the application list most certainly will start the application you didn’t want, because your finger motion either didn’t scroll up enough (so it bounces back without scrolling) or it scrolled too far (hitting the top and thereby jumping out of the select, and you have to start from scratch). It’s a terrible terrible user experience.

Disk encryption

Since this is a mobile device, I opted to use full disk encryption. But that was a mistake. When you boot the device, you get the nice login prompt for the passphrase for your root filesystem, but there is no virtual keyboard. I had to plugin a USB keyboard to boot the device. We can’t really load X here, as the rootfs is still encrypted. I’m afraid there is no other way then to add a new virtual keyboard option, somehow.

Conclusion

All in all, it’s a nice device. I can’t wait to put it in the hands of gnome3 developers and say “go fix it!”.

I’m not sure if you can actually buy it anywhere. I bought this one on craigslist. It seems most links I found on google lead to Chinese shops who want to sell you at least 10. The price would probably be somewhere between 200-400 dollar each, for a version with a little less disk and ram then I tested with.

So, Linux is almost ready for the tablet!