Boot Loader Information and large devices

Under development: PCMCIA, wireless, etc.
Post Reply
Message
Author
JustGreg
Posts: 782
Joined: Tue 24 May 2005, 10:55
Location: Connecticut USA

Boot Loader Information and large devices

#1 Post by JustGreg »

Here is a report for the forum on the bootloader SIBLO. SIBLO is a variant of syslinux that handles the Windows ntldr better than syslinux.
Leachim, forum name, has modified the syslinux source code for SIBLO.

SIBLO is optimized for use with the Windows NT bootloaders and FAT32 filesystem. However, it works equally well with FAT16 filesystem. SIBLO does require a number of reserved sectors to install the hidden boot loader code. In my testing, I did try a USB 1 gigabyte flash drive (FAT16 file system) with SIBLO. SIBLO reported the lack of needed reserve sectors and did not install. The fix was simple: mkdosfs -R32 /dev/sdb1 (my device name). The -R32 option of mkdosfs command specifies 32 reserved sectors, which is the default value for FAT32 filesystem. The other problem is the
mkdosfs command will wipe out all files with the new File Allocation Table. One could lose information if one is not careful. Once the reserved sectors were available, SIBLO installed correctly.

SIBLO uses all the syslinux commands plus some for the NTLDR. This allows the previous syslinux.conf file to be used. One only has to rename syslinux.conf to siblo.conf. For testing, I used the following:

default puppy
display boot.msg
prompt 1
label puppy
kernel vmlinuz
append initrd=initrd.gz pmedia=usbflash
timeout 50

I display the CDROM boot message (per Pissasgood suggestion) and allow the user to select the boot options. It worked fine, no problems. I can not measure the difference, but SIBLO may boot faster than syslinux.

There is both and Windows and Linux installer available now. The Linux
installer is very easy to use. It is not large, requiring only 282 kilobytes for the install program (install) and binary data file (siblo.bin).

The one problem is SIBLO is for MS Window$ partition only. One stills needs grub or extlinux for Linux partitions and isolinux for CDROM.

The bottom line for me is: "If Syslinux really does have a problem with
FAT32 filesystem and cluster size greater than 16K (not show yet) then SIBLO is a great replacement for it. I still have the infamous "possible unsafe /tmp permissions" error, I will use siblo instead.

In working with both Syslinux and SIBLO, I did discover the documented BIOS limitation about having more cylinders than 1024
(see:http://www.murga-linux.com/puppy/viewtopic.php?t=25676 my post on syslinux).

I did the testing on a Cybernet ZPC-9000 and ASUS EeePC without any problems. I tested multiple devices (SD cards, USB flash drives) of different sizes (1 and 2 gigabytes). I recently got access to a Intel Classmate (same mother board as the ASUS EeePC). One of the devices, a "Kingston Data Traveler" (1 gigabyte in size) would not boot properly from the BIOS boot selection screen. The boot would fail with no operating system found. The same device works fine on the other computers. I did check the device. It has 16 heads with 32 sectors and 3816 clylinders, well beyond the 1024 limit. The BIOS of the Classmate is a different version from that ASUS EeePC, even though both have the same motherboard.

In testing the various devices (seven different types), I found the 1 gigabyte size devices, especially the SD cards to be strange. Some were FAT16 and others FAT32. In one case, a 2 gigabyte card reported as a 1 gigabyte. In using these large devices, one has to beware. It may not be as easy to install Puppy as before. The Classmate/EeePC cases shows that even if the same
motherboard is in two systems, then there still can be problems.

I hope the above helps.
Enjoy life, Just Greg
Live Well, Laugh Often, Love Much

JustGreg
Posts: 782
Joined: Tue 24 May 2005, 10:55
Location: Connecticut USA

#2 Post by JustGreg »

I modified the Kingston 1GB USB device that I was having trouble booting the Classmate. Originally, it had 16 heads, 32 sectors per track and 3816 cylinders. It would not boot from the BIOS.

I changed the device to 64 (multiple by 4) heads from 16 and reduced the cylinders to 954 from 3816 (divide by 4). This was done using the expert mode of fdisk. After making the changes, I wrote the new information to the device. Using fdisk again, I deleted the existing partition and created a new one marked as active (bootable) with a FAT16 file system. Wrote the new partition information to device and created a new MSDOS FAT16 file system with mkdosfs -F16 /dev/sde (my device name).

I did a manual frugal install of the latest PupEeeusing syslinux as the boot loader. I tried the modified device with the Classmate. It booted without a problem. So if you have a device that does not boot (BIOS using reporting operating system not found), then check the number of cylinders. If the number of cylinders is greater than 1023, then the number of cylinders need to be reduced.

I hope this helps.
Enjoy life, Just Greg
Live Well, Laugh Often, Love Much

Post Reply