Sorry for the double post...
I downloaded the Chameleon 2 source and re-assembled the boot1f32 without the ds:si check (where it uses the Hidden Sector Count, or as it's called in the source gPartLBA) and after a touch of massaging the disk image it will now load and run /boot. Sort of. The problem is that for some reason it's now triple faulting. Here's the relevant part of the Bochs log:
00070343899e[CPU0 ] write_virtual_checks(): write beyond limit, r/w
00070343899e[CPU0 ] interrupt(): vector must be within IDT table limits, IDT.limit = 0x0
00070343899e[CPU0 ] interrupt(): vector must be within IDT table limits, IDT.limit = 0x0
00070343899i[CPU0 ] CPU is in protected mode (active)
00070343899i[CPU0 ] CS.d_b = 32 bit
00070343899i[CPU0 ] SS.d_b = 32 bit
00070343899i[CPU0 ] EFER = 0x00000000
00070343899i[CPU0 ] | RAX=0000000000000000 RBX=0000000004200000
00070343899i[CPU0 ] | RCX=000000000000011c RDX=0000000000000470
00070343899i[CPU0 ] | RSP=000000000008ed48 RBP=000000000008ed4c
00070343899i[CPU0 ] | RSI=00000000ffffffff RDI=00000000ffffffff
00070343899i[CPU0 ] | R8=0000000000000000 R9=0000000000000000
00070343899i[CPU0 ] | R10=0000000000000000 R11=0000000000000000
00070343899i[CPU0 ] | R12=0000000000000000 R13=0000000000000000
00070343899i[CPU0 ] | R14=0000000000000000 R15=0000000000000000
00070343899i[CPU0 ] | IOPL=0 id vip vif ac vm RF nt of df if tf sf zf af pf cf
00070343899i[CPU0 ] | SEG selector base limit G D
00070343899i[CPU0 ] | SEG sltr(index|ti|rpl) base limit G D
00070343899i[CPU0 ] | CS:0008( 0001| 0| 0) 00000000 000fffff 0 1
00070343899i[CPU0 ] | DS:0010( 0002| 0| 0) 00000000 ffffffff 1 1
00070343899i[CPU0 ] | SS:0010( 0002| 0| 0) 00000000 ffffffff 1 1
00070343899i[CPU0 ] | ES:0010( 0002| 0| 0) 00000000 ffffffff 1 1
00070343899i[CPU0 ] | FS:0010( 0002| 0| 0) 00000000 ffffffff 1 1
00070343899i[CPU0 ] | GS:0010( 0002| 0| 0) 00000000 ffffffff 1 1
00070343899i[CPU0 ] | MSR_FS_BASE:0000000000000000
00070343899i[CPU0 ] | MSR_GS_BASE:0000000000000000
00070343899i[CPU0 ] | RIP=0000000000038fbd (0000000000038fbd)
00070343899i[CPU0 ] | CR0=0x60000011 CR2=0x0000000000000000
00070343899i[CPU0 ] | CR3=0x00000000 CR4=0x00000000
00070343899i[CPU0 ] 0x0000000000038fbd>> rep stosd dword ptr es:[edi], eax : F3AB
00070343899e[CPU0 ] exception(): 3rd (13) exception with no resolution, shutdown status is 00h, resetting
Does /boot also expect a partitioned setup? I would guess so just from my quick glance through the source, but I didn't really look too hard.