At SuperMicro’s Support site you can download a new version of your AMI BIOS to update your mainboard. They recommend you not do this unless you’re experience problems. I was experiencing problems, and — after trying and failing to locate a change log — I thought I’d give it a try anyway. So my options are:
- Download a Windows executable that will write a bootable floppy disk. Wait, what?
- Download a zip file containing a binary blob and a DOS executable to flash the BIOS. You know, for if you already have DOS installed.
Sweet. Floppy disk. Can’t remember the last time I’ve seen one of those things.
Anyway, it turns out there’s a clever, painless way to make this work. All you need is a little VMware misdirection. Here’s what I did:
dd if=/dev/zero of=floppy.img bs=1k count=1440(not sure this was necessary, but I did it anyway)
- Attached floppy.img as floppy drive to my Windows 7 VM
- Ran the funky Windows executable from SuperMicro and detached the disk
- Inserted a USB flash drive (as disk3) and
dd if=floppy.img of=/dev/disk3
- Booted said USB flash drive in yon mainboard
FreeDOS booted and the AMI BIOS update automatically ran. Easy. Be careful with that flash drive, though. Now it’s an auto-running BIOS killer.
Contrary to what Softlayer sales would have me believe, Softlayer’s CloudLayer service does, in fact, provide console access. It’s provided via a java VNC applet accessible from https://manage.softlayer.com.
I use Linux on the desktop, though, so anything involving the words “java” and “applet” seems destined for failure. Fortunately, Softlayer is stand-up enough to provide the VNC connection information on the same page, so I thought I might fire up PPtP and give it a shot.
Strangely, I was unable to get Vinagre or gtkvncviewer to work. They would connect and send keystrokes successfully, but the display would remain blank. Bummer. The jtightvncviewer provided by Ubuntu’s tightvnc-java package works, though, and I don’t care enough to figure out why Vinagre didn’t work.
Good Luck, and if you figure out why Vinagre doesn’t work please let me know.
As I was futzing around trying to get OpenBSD 5.0 (amd64) to play well with the SOL provided by the BMC on my new SuperMicro server, I noticed something unexpected about the amd64 GENERIC kernel.
I really want a reliable console on these new servers, and I’m pretty sure that if any OS is going to manage decent serial support, it’s going to be OpenBSD. Getting OpenBSD to use a serial console is well documented and pretty easy, but installing via serial console is a little more difficult. In my case, though, I don’t need to modify the install CD because I don’t technically need a 100% serial install.
The AMI BIOS on this server provides console redirection that — while not the best — works well enough to allow me to interrupt the VGA boot loader and change the console to the serial port via
set tty com2. After that, the ramdisk kernel booted with a console on the third serial port and my generic OpenBSD 5.0 install went very smoothly. Until it came time to boot into the new OS, that is.
An OpenBSD install is a thing a beauty. It’s the most well thought out installer I’ve ever used, and it’s exclusively text-based. So it’s a great fit for a serial console install. It even detected that I was using com2, and asked if I wanted to make that the console on the install. When I rebooted, however, I received all the kernel messages on the SOL console, but nothing from the startup scripts or getty.
It appears to me the problem is that — while the amd64/RAMDISK_CD and the i386/GENERIC kernels both come configured with 3 COM ports — the amd64 GENERIC kernel is only configured with 2 COM ports. If I use
config -e to add a third com port and boot that modified kernel, everything works perfectly.
As soon as I understand the issue a bit better, I’ll be posting a step-by-step guide with some model numbers.
Did your commands with custom -CApath stop working after upgrading to Oneiric? Mine did. It turns out Oneiric introduced a change (via OpenSSL 1.0.0, maybe?) that changed the subject hash algorithm used to index certificates in a -CApath directory. Look for a handy code snippet after the jump.
Read the rest of this entry »
scp doesn’t play well with POSIX filesystem ACLs, and as far as I can tell there’s nothing to be done about it.
The problem is that the server side explicitly calls
open(2) with the mode of the file on the client side in all cases. Since the file’s group permissions are linked to the mask ACL, this means that — for a mode 644 file — the file gets set
mask::r-- instead of inheriting the default mask from the directory.
In my opinion, the correct way to do it would be to create the file without an explicit mode unless the -p command line option was used. In fact, I would have thought that was the point of the -p flag.
This issue isn’t exclusive to ACLs, really. It seems like it would cause problems with standard unix permissions as well. Anyway, the only way around it seems to be changing the mode on the client side prior to the scp. bummer.
Note: I determined this by examining the version of OpenSSH distributed with Ubuntu Lucid, which is 5.3p1. Please let me know if you’ve had a different experience.