Casual Programmer
2008-Jan-27 02:10 UTC
[syslinux] [Fwd: Re: extlinux reports "./extlinux: path /media/disk doesn't match device /dev/sda4"]
The problem as I view it, lies in specifying a directory rather than a drive ( /mnt/.. or /media.. instead of /dev/sdb.. or /dev/sdc.. ). If, for instance, /dev/sdb1 is in fact mounted to /media/disk all is fine. If the path exists and is not a mountpoint ( /dev/sd... not mounted to it ), then extlinux will set the system disk as base for the directory. ( i.e. /media/disk /dev/sda4 in my setup ), at this point no user acknowledgment is required, but BR modified and extlinux.sys written to /media/disk. TODO: run a few tests with hpa's extlinux to verify. DONE: ./extlinux -i /media will in fact write to /dev/sda4 if /dev/sdb1 is not mounted here. Attached find a patch to /extlinux/extlinux.c which gets along without expecting a special directory for mounting the device to be made bootable. The idea is, that the root directory "/" will always be on the system disk, so I just added a pass to find the "devname" belonging to "/" then proceeding as normal. If the devnames for "/" and the target directory match, extlinux aborts indicating this fact. The programming isn't very beautiful and might need some honing, but basically it works. So if, for what reason ever, a device is not mounted at the path given extlinux will now exit rather than writing over the system disks boot sector. Casual ____________________________________________________________________________________ Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ -------------- next part -------------- A non-text attachment was scrubbed... Name: extlinux.c.diff Type: text/x-patch Size: 1544 bytes Desc: 4253174477-extlinux.c.diff URL: <http://www.zytor.com/pipermail/syslinux/attachments/20080126/1145db1d/attachment.bin>
H. Peter Anvin
2008-Jan-27 03:06 UTC
[syslinux] [Fwd: Re: extlinux reports "./extlinux: path /media/disk doesn't match device /dev/sda4"]
Casual Programmer wrote:> > The idea is, that the root directory "/" will always > be on the system disk, so I just added a pass to find > the "devname" belonging to "/" then > proceeding as normal. If the devnames for "/" and the > target directory match, extlinux aborts indicating > this fact. >This is completely and totally bogus. If extlinux is the system bootloader, then often what you call the system partition will be the one that should have extlinux installed on it. -hpa
Maybe Matching Threads
- [Fwd: Re: extlinux reports "./extlinux: path /media/disk doesn't match device /dev/sda4"]
- extlinux reports "./extlinux: path /media/disk doesn't match device /dev/sda4"
- EXTLINUX: Reading the extlinux.conf but can't find Kernel
- [PATCH v2 1/1] extlinux: fix memory leak
- [PATCH v1 1/1] extlinux: fix memory leak