Developers’ Weblog

Sponsored by
HostEurope Logo

Developers’ Weblog

All 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

SYSLINUX, the horrors

02.01.2009 by tg@

Hmm… where is bsiegert@’s promised entry?

SYSLINUX creates an ldlinux.bin file from source code which is composed of two parts: a bootsector (FAT PBR) and the rest of the code, later written to A:LDLINUX.SYS. However, the later code not only makes assumptions about which bootsector loads it, but also jumps into it at will for unimportant things like loading more sectors (like the configuration file) from the disc. Bah! Impossible to do, as the bootsector is cut off before ldlinux.sys is written. Worse than even Microsoft®, who at least don’t go back to the bootsector once the first 2048 bytes of IO.SYS in DOS 7.10 are loaded.

Useful GSM tricks

01.01.2009 by tg@

Ich guck’ ja keinen an…

  • ##002# (and press the green/dial button afterwards): disable all call redirections (alle)
  • ##21#: disable unconditional redirection (immer)
  • ##61#: disable redirections if no answer (geht nicht ran)
  • ##62#: disable redirections if unreachable (Akku leer, …)
  • ##67#: disable redirections if busy (besetzt)

USB stick boot (mission impossible Ⅱ)

01.01.2009 by tg@
Tags: bug grml hardware

After my earlier escapades, which you might have read about, here’s some news regarding USB sticks:

  • The IBM X40 can boot, but always uses a geometry of LBA translated into 255 heads, 63 sectors per track, contrary to the “USB ZIP” one which demands 64 heads, 32 sectors per track.
  • The ALIX.1c does recognise the stick’s physical or USB ZIP geometry, since they match each other and what the BSD kernel thinks:
    sd0: 241MB, 241 cyl, 64 head, 32 sec, 512 bytes/sec, 495607 sec total
    However, it still cannot boot MS-DOS® 7.10 from the stick. WTF?
  • The VIA C7 can still not boot from the stick. It doesn’t even appear in the boot menu. Interestingly enough, it does try to boot from SCSI even if unlisted (disabling the AHA-2940U2B BIOS helps to disable it, but I don’t even know where that MBR code which it did boot came from…)
  • I still hate ATX. I fragged a K6-2 mainboard when trying to power it on due to a flash(?) (German: Überschlagsblitz). Also, I definitively have a lack of hardware with an ISA slot, a floppy drive, and USB.
  • The (old) herc hardware might work, but its keyboard controller is damaged, ISTR I wrote about it ages ago. Some day, I’ll either solder in a new one or use a USB keyboard to bring it back working (to hack a hercules framebugger).

So the way out of this misére is a “machine sector <type> <filename>” command for boot(8/i386). It should be able, at least, to load: an MBR/PBR, a GNU GRUB stage2, stage2_eltorito (with boot-info-table emulation), SYSLINUX, ISOLINUX, EXTLINUX, an MS-DOS® 7.x IO.SYS. But at the beginning, I’m content with less. Because it seems to be impossible to boot DOS from a USB stick, due to the varying CHS geometries, MEMDISK might be the way to go for a triple-boot stick. A combined grml+MirBSD thing would not be hindered by it because both SYSLINUX and boot(8/i386) use the LBA access method if available.

Benny beat me, he did the first commit this year. Congrats! Oh, and the second and the third. But I’ll write the first wlog entry, hahaha, and the Developers’ Weblog is not a blog! Oh, and the fourth.

Best bash tip ever! Use mksh!

31.12.2008 by tg@
Tags: mksh

Best Bash tip ever! is a little… interesting. Of course, mksh(1) can do it as well:

tg@bleu:~ $ head -2 /var/run/dmesg.boot
MirBSD#10uA4 (GENERIC) #1161: Fri Dec 26 21:05:59 UTC 2008
        tg@bleu.mirbsd.org:/usr/src/distrib/generic/obj/build/GENERIC
tg@bleu:~ $ r 2=3
head -3 /var/run/dmesg.boot
MirBSD#10uA4 (GENERIC) #1161: Fri Dec 26 21:05:59 UTC 2008
        tg@bleu.mirbsd.org:/usr/src/distrib/generic/obj/build/GENERIC
cpu0: Intel(R) Pentium(R) M processor 1.40GHz ("GenuineIntel" 686-class) 598 MHz
tg@bleu:~ $ fc -l
1       head -2 /var/run/dmesg.boot
2       head -3 /var/run/dmesg.boot

What’s best, the modified commands are written into the history, not the modificator itself.

Some of the commentaries are rather clueless too, not $! but $_ is the last word of the last command, in this case:

tg@bleu:~ $ head -2 /var/run/dmesg.boot
MirBSD#10uA4 (GENERIC) #1161: Fri Dec 26 21:05:59 UTC 2008
        tg@bleu.mirbsd.org:/usr/src/distrib/generic/obj/build/GENERIC
tg@bleu:~ $ print $_
/var/run/dmesg.boot

Instead of “^-s” you would use “r -- -s=” (the two dashes are needed as the “r” built-in alias parses its arguments).


More on Planet Debian (read via Planet Symlink): how many times do I have to tell you it’s “CAs” not “CA’s” again? Please do the world a favour and read Apostrophen und andere Katastrophen with rules for German and English: never in German except the word ends with s or similar: „Jens’, Max’ und Joes CDs“ and for genitives only in both languages, but with apostrophe in English: “Jens’, Max’ and Joe’s CDs”

ciruZ now has a blog too… with two ruby scripts. I prefer mine in mksh very much, thank you :þ

It’s simply amazing. I wanted to show gecko2@ a USB stick with both grml(-small) and MirBSD on it, using SYSLINUX, but this fscking laptop does not boot from USB stick. So, the ALIX.1c it is, or the VIA C7.

Update: the VIA C7 doesn’t, either. Phoenix/Award BIOS v6.00PG it is, 09/26/2006-ID-PCM7E-6A7L6EIIC-00 apparently (I learned today from gecko2@ that you can indeed use the “Pause” key on the IBM PS/2 keyboard to hold the output during BIOS POST). And I suspect the X40 just has USB Legacy support disabled, but won’t reboot now.

25C3 redux

31.12.2008 by tg@
Tags: event

Did you all read my comment on the MD5 CA thing?

25C3 is over, gecko2@ arrived today, and both he and bogus are just too verpeilt – they forgot to distribute the MirOS flyers and CDs at first, then bogus (who had them) got really ill.

We all somehow are, at the moment. Get better, everyone. (replaced couldn’t get to the BSD@Wien pre-christmas party either…)

cnuke@ pointed me to a nice IRC quote:

17:57 < jtsn> Der 25C3 ist lustig. Deutsche Vortragende brechen
        sich vor deutschen Zuhörern auf Englisch einen ab. ;-)
18:01 < jtsn> Adolfs Werk war sehr nachhaltig. ;-)
18:01 < jtsn> Das gab's nichtmal in der DDR, das[sic!] Deutsche
        mit Deutschen auf Russisch reden. ;-)

This’ll be my ~/.etc/sig for a while… it does hold some truth. *looks at this wlog*

Benny is still alive, yet a little offline, hacking on perl stuff for MirPorts. Good riddance.

By the way: does anyone know of a way to use a web browser or engine, for instance Webkit, from a shell script to produce a rendered version of a HTML source file (preferably to PostScript® or PDF)?

An mksh-current cygwin snapshot I just built for smultron, our graphical artist friend from MidnightBSD (which, by the way, also packages mksh(1)). He just did this:

mksh Logo

We’ll see what we do with that “m”…

I’ve updated src/etc/ssl.certs.shar, read about the procedure. Someone might want to update the nss certdata.txt file (to mark them as untrusted); for OpenSSL it’s enough to have them renamed. Luckily, the CAs agree wanting to switch to SHA-1 (yuck, broken as well). Only, do they get a new root certificate (probably not), and where does an OS vendor get such news?

Update: This appears to be not needed, as per this comment. However, how credible is this person? Where is proof? I’d recommend everyone who has not yet read it to look at On Trusting Trust. Anyway, the CA certificates are now trusted again; let’s just hope the backdated demo intermediate CA was the only one generated in the meantime. We really need my SSL known_certs proposal, I think. What’s with these MD2 certs anyway? (end of update)

On other notes, we have a new logo for mksh, thanks smultron. Hand-editing SVG is so much fun ☺ no really, in jupp it works very well.

I also ported the e3 editor to MirBSD, it’s 17 KiB i386 statically linked (stand-alone) binary. GNU GPL, but good for custom-made (hehe…) install/rescue system bsd.rd kernels. I would like to add TinyIRC-MirOS as well, but need to get an exception licence for crunchgen(1) use.

Both tinyirc and mksh(1) now use TIOCGWINSZ more properly and aggressively. The shell, in particular, now always has COLUMNS and LINES set.

light bulbs

28.12.2008 by tg@

Yesternight, not only my server crashed in the softupdates code again (*sigh* two RAID 1 rebuilds and a lot of fsck(8)), but also one of these energy saving light bulbs (13W). This proves that they do not have a longer lifetime than regular bulbs.

I oppose the planned ban of regular light bulbs, because, although almost(!) all of mine are energy saving ones, some of the propaganda apparently is wrong, plus they are not good in situations where the light switch is used very often, or when the light is only on for very short amounts, such as in the entrance area of an appartement (say 1½ m²).

What did I do? Meh, just some bootloader hacking.

Today, we gained arc4random_buf(3), arc4random_uniform(3) in libc and arc4random_atexit(), which is undocumented, but called from _exit(2) and all exec-style functions via execve(2) and exect(2). Since omalloc(3) needs arc4random(3) anyway, it is no real overhead, but a great way to make modelling the pool stuff even more difficult. Thusly, arc4random_pushk(3) retires in favour of arc4random_pushb(3) but stays as cpp(1) define.

Riding on the minor bump, mempcpy(3) stpcpy(3) stpncpy(3) GNU style were added as well.

Next plans are: rewrite src/lib/csu for pcc, make a port of uw-imapd with libc-client.so (maybe LTMIRMAKE?), make the pine and alpine ports use it, make the php-imap extension work with it again, further improve src/kern/ stuff and maybe www/mk/

More deep changes are however still postponed until OpenBSD is merged better.

I also fixed makefs(8) again ☺

MirOS @ 25C3 Updates

25.12.2008 by tg@
Tags: event

Word has reached me that Benny and Przemek are both suffering from illness (nothing bad, just a cold, don't worry) and thusly will not be attending the congress either.

As gecko2@ is currently preparing his machines, we believe he will uphold our representation at the event. Please join the IRC channel or the mailing list if you have any questions.

To these who do: happy celebrating!

I have just placed a couple of MirOS CDs and flyers (English and French only though ☺) in the hands of a friend while helping him to move to Berlin. Either him or Benny (bsiegert@) or Andreas (gecko2@) will distribute them at 25C3, or we’ll place them somewhere. I (tg@) will not attend, replaced (ahoka@) probably neither. You might be able to track down Benny in between some of the talks if you have any questions regarding MirPorts and MirOS, though.

To these who do, happy celebrating!

All 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

MirOS Logo