H. Peter Anvin [Fri, 2 Nov 2007 01:25:10 +0000 (18:25 -0700)]
Code cleanup: get rid of hard-coded descriptor numbers
Get rid of hard-coded descriptor numbers, and instead use symbolic
names for the descriptors derived from the calculated offset in the
GDT.
H. Peter Anvin [Thu, 1 Nov 2007 22:53:25 +0000 (15:53 -0700)]
mkdiskimage: correct the partition type for > 1024 cylinders
Generate the correct partition type for > 1024 cylinders.
Gerald Britton [Mon, 29 Oct 2007 21:03:17 +0000 (17:03 -0400)]
syslinux $PnP search fix
I finally fixed the "chain.c32 hangs when run on modern qemu" problem.
Apparently it was hanging hitting the "Invalid $PnP header (too short)" branch
of the code which loops without ever incrementing bx, so it never terminates.
The patch below (taken against your current git) seems to fix the problem for
me, but having not explored the code much, it probably isn't the most elegant
of fixes.
-- Gerald
H. Peter Anvin [Thu, 1 Nov 2007 22:34:09 +0000 (15:34 -0700)]
Try to fix libfat/ulint.h for non-x86 platforms
libfat/ulint.h doesn't work as expected because of array devolution to
pointers. Try to fix.
H. Peter Anvin [Wed, 31 Oct 2007 04:46:58 +0000 (21:46 -0700)]
mkdiskimage: support more than 1024 cylinders
If the user wants to generate a disk image with more than 1024
cylinders, print a warning but do the right thing, including labelling
the partitions as LBA partitions.
H. Peter Anvin [Fri, 19 Oct 2007 22:20:53 +0000 (15:20 -0700)]
DHCP bootfile option is 67, not 64.
H. Peter Anvin [Fri, 19 Oct 2007 18:33:21 +0000 (11:33 -0700)]
Fix [BI]ESUBDIRS for make installer/tidy/clean/spotless
Fix the handling of [BI]ESUBDIRS for other targets than "all".
H. Peter Anvin [Thu, 11 Oct 2007 23:05:14 +0000 (16:05 -0700)]
Add .gitignore file so "git status" makes sense
H. Peter Anvin [Thu, 11 Oct 2007 22:01:32 +0000 (15:01 -0700)]
Mark TSS unbusy before protected mode entry
The LTR instruction marks the TSS descriptor busy, and any subsequent
attempt to load it will #GP unless maked unbusy first. Sigh.
H. Peter Anvin [Thu, 11 Oct 2007 21:47:23 +0000 (14:47 -0700)]
Set TR and LDTR when entering protected mode
Intel's VT daftly requires TR and LDTR to have valid protected-mode
values in order to kick in. Thus, give it at least a valid chunk of
memory for the TR and a null selector for the LDTR.
H. Peter Anvin [Wed, 10 Oct 2007 21:12:58 +0000 (14:12 -0700)]
Makefiles: create NASMOPT variable
Create NASMOPT variable, defaulting to -O9999. Mostly there to test
beta versions of NASM.
H. Peter Anvin [Wed, 3 Oct 2007 23:17:47 +0000 (16:17 -0700)]
Update the memory layout specification
Update the memory layout specification. Remove NASM 0.98.38 bug
workarounds, rebalance the bss sections, and introduce the new section
.adv which contain the auxilliary data vector.
H. Peter Anvin [Tue, 2 Oct 2007 20:42:06 +0000 (13:42 -0700)]
Next version is 3.53
H. Peter Anvin [Tue, 2 Oct 2007 20:41:55 +0000 (13:41 -0700)]
elf.c: better error message when memory is unavailable
Print something other than just "invalid ELF file or insufficient
memory" when the specific error is that a specific memory segment is
not available.
H. Peter Anvin [Tue, 2 Oct 2007 20:36:33 +0000 (13:36 -0700)]
memdump: remove debugging code never meant for release
H. Peter Anvin [Tue, 2 Oct 2007 18:17:36 +0000 (11:17 -0700)]
bootsect.inc: make sure the $PnP header can fit inside the segment
Terminate the search as soon as the $PnP header would fall outside the
segment, not just the $PnP signature itself.
H. Peter Anvin [Mon, 24 Sep 2007 21:18:18 +0000 (14:18 -0700)]
Fix building on a 64-bit system without a 32-bit system installed
A bunch of glibc header files were bogusly included. We should not
depend on having a 32-bit glibc installed, since we don't use it.
H. Peter Anvin [Fri, 21 Sep 2007 23:54:57 +0000 (16:54 -0700)]
localboot.c32: sample/test program for invoking syslinux_local_boot()
Simple test program which simply invokes syslinux_local_boot().
H. Peter Anvin [Fri, 21 Sep 2007 23:52:35 +0000 (16:52 -0700)]
memdump: a debugging utility to dump memory over a serial port
A memory-dumping utility which runs in real mode. Thus, it can be
used to get memory dumps from a relatively pristine system.
H. Peter Anvin [Fri, 21 Sep 2007 23:26:25 +0000 (16:26 -0700)]
Document memory overwrite fix
Document menu system memory overwrite fix
H. Peter Anvin [Fri, 21 Sep 2007 23:24:35 +0000 (16:24 -0700)]
memdisk: add "nopass" option to completely take over INT 13h
Add the "nopass" option to completely remove the system drives. This
is a pretty big hammer and is largely for debugging at this stage; it
probably needs more polishing before it can be made official.
H. Peter Anvin [Fri, 21 Sep 2007 23:22:58 +0000 (16:22 -0700)]
comboot: fix memory overwrite bug
Fix memory overwrite bug, specifically, the use of BP after it might
have gotten clobbered. Since at the point of use, BP is supposed to
be == SP, we can just add "mov bp,sp".
H. Peter Anvin [Thu, 20 Sep 2007 06:13:13 +0000 (23:13 -0700)]
ISOLINUX: save segment registers around INT 13h
There is at least one set of CD-ROM BIOSes out there which corrupt FS
on INT 13h, so save and restore all segment registers around INT 13h.
H. Peter Anvin [Tue, 28 Aug 2007 05:30:21 +0000 (22:30 -0700)]
NEWS: EDD now actually works in MEMDISK
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Duane Voth [Tue, 28 Aug 2007 02:04:19 +0000 (21:04 -0500)]
MEMDISK: Fix register messup in EDD
Hello all,
I ran across a couple bugs in memdisk concerning hd images the other
day. With the attached patch I've been able to successfully boot a
32MB gzipped hd image. (I'll put the image up for a short while at
ftp://ftp.io.com/pub/usr/duanev/fdoshd.img.gz)
The pxelinux.cfg entry I'm using is:
label fdos
kernel memdisk
append keeppxe initrd=fdoshd.img.gz
syslinux/memdisk is great, thanks Peter et. al.!
--
Duane Voth
duanev@io.com
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Fri, 17 Aug 2007 01:27:48 +0000 (18:27 -0700)]
Clean up some of the new PCI code from Erwan Velu.
More needs to be done; the code has console I/O at the library level,
which isn't good.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Erwan Velu [Mon, 13 Aug 2007 15:16:03 +0000 (17:16 +0200)]
Improving PCI collected informations
This patch
- add a new pci_dev_info structure :
It contains additional informations about the pci devices like
the product/vendor name and the associated linux kernel module
- add a get_name_from_pci_ids() function in pci/scan.c
This function reads a pci.ids file from the boot device.
Then it assign for each pci device, its vendor/product name.
You just have to put this file in the root directory of your
isolinux/pxelinux (i.e the root directory of your tfptboot server
if you are using pxelinux).
- add a get_module_name_from_pci_ids() function in pci/scan.c
This function reads a modules.pcimap file from the boot device.
Then it assign for each pci_device its linux kernel module.
You just have to put this file in the root directory of your
isolinux/pxelinux (i.e the root directory of your tfptboot server
if you are using pxelinux).
- Add a call to get_name_from_pci_ids() into the pcitest COM32 module
- Add a call to get_module_name_from_pci_ids() into the pcitest COM32 module
- Fixing typedef struct { ... } s_pci...; by struct pci... {};
- Improving comments
- Fixing the memory allocation to prevent leaks
With this patch, pcitest.c32 act like lspci plus a bonus by displaying
the linux kernel module assiocated to each pci device.
Signed-off-by:Erwan Velu <erwan.velu@free.fr>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Fri, 17 Aug 2007 01:07:52 +0000 (18:07 -0700)]
Use git push instead of cg-push
H. Peter Anvin [Tue, 14 Aug 2007 22:20:13 +0000 (15:20 -0700)]
Add reboot.c32 module
A very simple module to reboot the machine.
H. Peter Anvin [Tue, 14 Aug 2007 22:19:32 +0000 (15:19 -0700)]
com32: fix __farcall()
The address for the farcall thunk was inadvertently clobbered in entry.S.
H. Peter Anvin [Sun, 12 Aug 2007 22:37:07 +0000 (15:37 -0700)]
More Etherboot pointers
H. Peter Anvin [Sun, 12 Aug 2007 22:36:07 +0000 (15:36 -0700)]
Document gPXE chaining to work around PXE stack problems
H. Peter Anvin [Mon, 6 Aug 2007 23:24:23 +0000 (16:24 -0700)]
Fix section confusion...
H. Peter Anvin [Mon, 6 Aug 2007 23:24:14 +0000 (16:24 -0700)]
Give ourselves more room for code
H. Peter Anvin [Wed, 25 Jul 2007 21:17:58 +0000 (14:17 -0700)]
Handle plural correctly in countdown.
H. Peter Anvin [Wed, 25 Jul 2007 05:54:24 +0000 (22:54 -0700)]
Install sha1pass, md5pass
H. Peter Anvin [Wed, 25 Jul 2007 05:50:18 +0000 (22:50 -0700)]
Add header file missing from previous checkin (md5.h)
H. Peter Anvin [Wed, 25 Jul 2007 05:49:05 +0000 (22:49 -0700)]
Add support for Unix-standard MD5 password
H. Peter Anvin [Wed, 25 Jul 2007 00:26:39 +0000 (17:26 -0700)]
Document MENU HIDDEN
H. Peter Anvin [Wed, 25 Jul 2007 00:25:57 +0000 (17:25 -0700)]
Correctly handle switches between graphics and text mode
H. Peter Anvin [Wed, 25 Jul 2007 00:15:07 +0000 (17:15 -0700)]
Make the hidden timeout behaviour match the rest of the menu
H. Peter Anvin [Wed, 25 Jul 2007 00:12:51 +0000 (17:12 -0700)]
Move hidden_row to -2; don't re-timeout once a key is pressed
H. Peter Anvin [Tue, 24 Jul 2007 23:39:00 +0000 (16:39 -0700)]
Simple menu system: add support for "menu hidden"
H. Peter Anvin [Tue, 24 Jul 2007 00:26:49 +0000 (17:26 -0700)]
Document MEMDISK fixes.
H. Peter Anvin [Fri, 20 Jul 2007 23:00:45 +0000 (16:00 -0700)]
Add the actual zeroregs file; missing from a previous checkin.
H. Peter Anvin [Fri, 20 Jul 2007 22:31:09 +0000 (15:31 -0700)]
Add syslinux_reboot()
H. Peter Anvin [Fri, 20 Jul 2007 22:30:55 +0000 (15:30 -0700)]
com32: add a common zero-register structure
When we don't have any registers to pass, it's convenient to be able
to share a common all-zero structure.
H. Peter Anvin [Thu, 12 Jul 2007 00:51:27 +0000 (17:51 -0700)]
MBR: shave off another byte
Yet another byte bites the dust...
H. Peter Anvin [Thu, 12 Jul 2007 00:44:18 +0000 (17:44 -0700)]
MBR: shave off another byte
Shave off another byte by using the not-frequently-used jmpw *%sp
instruction!
H. Peter Anvin [Thu, 12 Jul 2007 00:39:55 +0000 (17:39 -0700)]
MBR: one more comment
Comments are good...
H. Peter Anvin [Thu, 12 Jul 2007 00:37:00 +0000 (17:37 -0700)]
MBR: shave another ~4 bytes through an ugly error message hack
Use the "return address points to data" trick to shave a few bytes off
the generation of error messages.
H. Peter Anvin [Thu, 12 Jul 2007 00:25:59 +0000 (17:25 -0700)]
MBR: add HLT to prevent system from melting on failure
In case we hit the death loop, put HLT in it. It's probably superfluous,
but it can't hurt, and we can always take it out to reclaim the space.
Arguable the death loop is superfluous at all, since int $0x18 should
never return.
H. Peter Anvin [Thu, 12 Jul 2007 00:23:11 +0000 (17:23 -0700)]
MBR: add CR LF to the end of messages
Six bytes down the drain, but people do expect it. If it becomes
an issue we can remove the period; it's better than the CR LF. There
might be some way to efficiently issue . \r \n in common code, too.
H. Peter Anvin [Thu, 12 Jul 2007 00:20:59 +0000 (17:20 -0700)]
MBR: shave 2 more bytes
We always re-read the last partition table on any kind of error, so
no need to prevent the code from clobbering it on failure.
H. Peter Anvin [Wed, 11 Jul 2007 23:51:46 +0000 (16:51 -0700)]
MBR: Don't clobber %eax before entering CBIOS code
H. Peter Anvin [Wed, 11 Jul 2007 23:45:27 +0000 (16:45 -0700)]
MBR: always do setup for EBIOS, makes stack handling easier and saves jmp
H. Peter Anvin [Wed, 11 Jul 2007 23:41:52 +0000 (16:41 -0700)]
MBR: Handle the stack in read_sector correctly...
H. Peter Anvin [Wed, 11 Jul 2007 23:39:25 +0000 (16:39 -0700)]
One more MBR byte
H. Peter Anvin [Wed, 11 Jul 2007 23:38:30 +0000 (16:38 -0700)]
Another 12 bytes shaved off the MBR...
H. Peter Anvin [Wed, 11 Jul 2007 23:22:46 +0000 (16:22 -0700)]
Another 2 bytes off the MBR.
H. Peter Anvin [Wed, 11 Jul 2007 23:14:07 +0000 (16:14 -0700)]
Add some comments to the MBR
H. Peter Anvin [Wed, 11 Jul 2007 23:11:36 +0000 (16:11 -0700)]
Another 3 bytes or so off the MBR...
H. Peter Anvin [Wed, 11 Jul 2007 22:46:52 +0000 (15:46 -0700)]
One more MBR byte...
H. Peter Anvin [Wed, 11 Jul 2007 22:45:49 +0000 (15:45 -0700)]
Shave two more bytes off the MBR
H. Peter Anvin [Wed, 11 Jul 2007 22:40:44 +0000 (15:40 -0700)]
MBR: fix pointer to partition table base
H. Peter Anvin [Wed, 11 Jul 2007 22:31:04 +0000 (15:31 -0700)]
Shave another byte off the MBR
H. Peter Anvin [Wed, 11 Jul 2007 22:21:54 +0000 (15:21 -0700)]
Shave an additional ~7 bytes off the MBR
H. Peter Anvin [Wed, 11 Jul 2007 22:04:31 +0000 (15:04 -0700)]
Shave a byte off the MBR code.
H. Peter Anvin [Mon, 9 Jul 2007 04:46:58 +0000 (21:46 -0700)]
MEMDISK: Try for better EDD compliance
H. Peter Anvin [Sat, 7 Jul 2007 00:29:23 +0000 (17:29 -0700)]
Document giving the disk a signature.
H. Peter Anvin [Sat, 7 Jul 2007 00:28:50 +0000 (17:28 -0700)]
mkdiskimage: give the disk image an MBR signature
H. Peter Anvin [Sat, 30 Jun 2007 15:15:17 +0000 (11:15 -0400)]
Forgot to add our own drive to the drive count!
H. Peter Anvin [Fri, 29 Jun 2007 22:43:31 +0000 (18:43 -0400)]
Disable vmware workaround until bug report has been substantiated
The original reporter is being evasive, and claims the workaround doesn't
work anyway.
H. Peter Anvin [Fri, 29 Jun 2007 16:37:41 +0000 (12:37 -0400)]
PXELINUX: if siaddr isn't set, fall back to server identity
If the siaddr field in the DHCP header isn't set, fall back to the
server identity option. This seems to match the behaviour of the PXE
stacks, and some (braindead) DHCP servers don't allow the server
identity to be set.
H. Peter Anvin [Fri, 22 Jun 2007 22:41:16 +0000 (15:41 -0700)]
chain.c32: add support for searching for an MBR signature at runtime.
H. Peter Anvin [Thu, 21 Jun 2007 01:12:57 +0000 (18:12 -0700)]
Next version is 3.52
H. Peter Anvin [Thu, 21 Jun 2007 01:12:44 +0000 (18:12 -0700)]
Document changes since 3.51
H. Peter Anvin [Thu, 21 Jun 2007 01:12:18 +0000 (18:12 -0700)]
Alignment fix when loading multiple kernels.
H. Peter Anvin [Thu, 21 Jun 2007 00:43:55 +0000 (17:43 -0700)]
Move most messages into the appropriate .inc files
H. Peter Anvin [Thu, 21 Jun 2007 00:24:10 +0000 (17:24 -0700)]
Don't print multiple newlines after initrd...
H. Peter Anvin [Thu, 21 Jun 2007 00:08:23 +0000 (17:08 -0700)]
Workaround for VMware console bug; make more common code common
H. Peter Anvin [Sat, 16 Jun 2007 05:29:35 +0000 (22:29 -0700)]
Simple menu: F-key config was accidentally case sensitive
H. Peter Anvin [Sun, 10 Jun 2007 19:43:46 +0000 (12:43 -0700)]
Begin version 3.51
H. Peter Anvin [Sun, 10 Jun 2007 19:42:53 +0000 (12:42 -0700)]
extlinux: "open" takes a mangled pointer in DS:DI
"open" takes a mangled filename, and as is usual with mangled names, it is
pointed to by DI, not SI.
H. Peter Anvin [Sun, 10 Jun 2007 19:34:30 +0000 (12:34 -0700)]
lstadjust: handle struc/endstruc correctly
struc/endstruc effectively push/pop the context around them.
H. Peter Anvin [Sat, 9 Jun 2007 23:54:08 +0000 (16:54 -0700)]
Add missing documentation of RAID mode.
H. Peter Anvin [Sat, 9 Jun 2007 00:13:51 +0000 (17:13 -0700)]
Show list file addresses in absolute
Small Perl script to postprocess the listfile and show absolute addresses
instead of section-relative. This only applies to the main address, not
to addresses in bracketed fields.
H. Peter Anvin [Fri, 8 Jun 2007 22:43:24 +0000 (15:43 -0700)]
Use strcpy to copy MACStr
We were using an open-coded string copy with the wrong length. Use
strcpy instead.
H. Peter Anvin [Fri, 8 Jun 2007 22:30:22 +0000 (15:30 -0700)]
Capture the UUID from packet 1 (request)
Make sure we capture only the first instance of the UUID, in case
the server does something silly like send back its own UUID.
H. Peter Anvin [Fri, 8 Jun 2007 22:25:27 +0000 (15:25 -0700)]
Lower case seems to be more common for UUID
From a brief look around the Internet, it seems UUID is more commonly
written in lower case (still with the funny dash pattern, though.) Stick
with that convention.
Also, unify upper-vs-lower-case hexadecimal string production.
H. Peter Anvin [Fri, 8 Jun 2007 22:17:01 +0000 (15:17 -0700)]
Generate config file name based on the UUID
- Generate a config file name based on the UUID as well as previous types;
- Get better about picking up client identifier option;
- Clean up config file name generation.
H. Peter Anvin [Fri, 8 Jun 2007 04:45:33 +0000 (21:45 -0700)]
Sanitize handling of client identifier option
The first byte of the client identifier is the identifier type.
Look at that one first and only copy if it matches the hardware ARP type.
H. Peter Anvin [Thu, 7 Jun 2007 23:16:30 +0000 (16:16 -0700)]
Fix the INT 18h patch offset for the RAID mode (-r) option
The calculation of the INT 18h patch offset for RAID mode (-r) was
incorrect. Fix it.
H. Peter Anvin [Wed, 6 Jun 2007 05:48:15 +0000 (22:48 -0700)]
Stealth whitespace cleanup
H. Peter Anvin [Wed, 6 Jun 2007 01:48:43 +0000 (18:48 -0700)]
vesacon_set_background: Need "volatile" asm
H. Peter Anvin [Wed, 6 Jun 2007 01:41:50 +0000 (18:41 -0700)]
Allow a flat color to be specified as a background.
H. Peter Anvin [Wed, 6 Jun 2007 01:18:50 +0000 (18:18 -0700)]
Not all terminals home the cursor on CSI 2 J
Not all terminals home the cursor on CSI 2 J, so send
CSI 2 J CSI H.
H. Peter Anvin [Wed, 6 Jun 2007 01:18:02 +0000 (18:18 -0700)]
Unify hexval functions; fix % in printf string
H. Peter Anvin [Wed, 6 Jun 2007 01:11:37 +0000 (18:11 -0700)]
Clarify that the background is always an image file
H. Peter Anvin [Tue, 5 Jun 2007 21:08:01 +0000 (14:08 -0700)]
Fix alignment of tab and timeout messages