syslinux and deps ...

This commit is contained in:
Ertuğrul Erata
2015-08-04 11:53:11 +03:00
parent ba3c35ece1
commit a99ed856dd
21 changed files with 796 additions and 3 deletions
+37
View File
@@ -0,0 +1,37 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# Licensed under the GNU General Public License, version 3.
# See the file http://www.gnu.org/copyleft/gpl.txt.
from pisi.actionsapi import get
from pisi.actionsapi import autotools
from pisi.actionsapi import pisitools
from pisi.actionsapi import shelltools
tools = ["sha1pass", "md5pass", "mkdiskimage", "keytab-lilo", "syslinux2ansi", "lss16toppm","pxelinux-options"]
datadir = "/usr/lib/syslinux"
NoStrip = ["/sbin", "/usr/lib"]
pisitools.flags.remove("-fPIC")
def build():
# shelltools.export("CFLAGS", "-Werror -Wno-unused -finline-limit=2000")
shelltools.export("CFLAGS", get.CFLAGS())
shelltools.export("LDFLAGS", "")
autotools.make('DATE="PisiLinux" spotless')
autotools.make('DATE="PisiLinux"')
# autotools.make('DATE="PARDUS" installer')
# autotools.make('DATE="PARDUS" -C sample tidy')
def install():
autotools.rawInstall('INSTALLROOT=%s MANDIR="/usr/share/man" AUXDIR="/usr/lib/syslinux"' % get.installDIR())
for f in tools:
pisitools.insinto(datadir, "utils/"+f)
#pisitools.domove("/usr/lib/syslinux/libutil_com.c32","/usr/lib/syslinux/com32/libutil")
#pisitools.domove("/usr/lib/syslinux/libcom32.c32","/usr/lib/syslinux/com32/lib")
pisitools.dodoc("README", "NEWS", "doc/*.txt", "doc/logo/LICENSE")
pisitools.remove("/usr/bin/gethostip")
@@ -0,0 +1,182 @@
--- syslinux-5.00-orig/utils/isohybrid.pl 2012-12-06 21:51:22.000000000 +0200
+++ syslinux-5.00/utils/isohybrid.pl 2013-02-07 18:55:28.423760149 +0200
@@ -44,6 +44,7 @@
'id' => [0, 0xffffffff],
'hd0' => [0, 2],
'partok' => [0, 1],
+ 'fat' => [0, 1],
);
# Boolean options just set other options
@@ -53,6 +54,7 @@
'ctrlhd0' => ['hd0', 2],
'nopartok' => ['partok', 0],
'partok' => ['partok', 1],
+ 'fatfirst' => ['fat', 1],
);
sub usage() {
@@ -66,7 +68,8 @@
" -id Specify MBR ID (default random)\n",
" -forcehd0 Always assume we are loaded as disk ID 0\n",
" -ctrlhd0 Assume disk ID 0 if the Ctrl key is pressed\n",
- " -partok Allow booting from within a partition\n";
+ " -partok Allow booting from within a partition\n",
+ " -fatfirst Create a small fat partition first\n";
exit 1;
}
@@ -221,9 +224,9 @@
# Print partition table
$offset = $opt{'offset'};
-$psize = $c*$h*$s - $offset;
+$psize = $c*$h*$s - $offset - 1;
$bhead = int($offset/$s) % $h;
-$bsect = ($offset % $s) + 1;
+$bsect = ($offset % $s) + 1 + 1;
$bcyl = int($offset/($h*$s));
$bsect += ($bcyl & 0x300) >> 2;
$bcyl &= 0xff;
@@ -233,10 +236,29 @@
$fstype = $opt{'type'}; # Partition type
$pentry = $opt{'entry'}; # Partition slot
+$offset += $psize;
+$psize1 = $cylsize/512;
+$bhead1 = int(($offset+1)/$s) % $h;
+$bsect1 = (($offset+1) % $s) + 1;
+$bcyl1 = int(($offset+1)/($h*$s));
+$bsect1 += ($bcyl1 & 0x300) >> 2;
+$bcyl1 &= 0xff;
+$ehead1 = $h-1;
+$esect1 = $s;
+$ecyl1 = $bcyl1;
+print "ehead1=$ehead1 esect1=$esect1 ecyl1=$ecyl1\n";
+
+if ( $opt{'fat'} == 1 ) {
+ $pentry = 2;
+}
+
for ( $i = 1 ; $i <= 4 ; $i++ ) {
- if ( $i == $pentry ) {
+ if ( $opt{'fat'} == 1 && $i == 1 ) {
+ $mbr .= pack("CCCCCCCCVV", 0x00, $bhead1, $bsect1, $bcyl1, 0xc,
+ $ehead1, $esect1, $ecyl1, $offset+1, $psize1);
+ } elsif ( $i == $pentry ) {
$mbr .= pack("CCCCCCCCVV", 0x80, $bhead, $bsect, $bcyl, $fstype,
- $ehead, $esect, $ecyl, $offset, $psize);
+ $ehead, $esect, $ecyl, $offset + 1, $psize);
} else {
$mbr .= "\0" x 16;
}
@@ -251,6 +273,18 @@
print FILE "\0" x $padding;
}
+# Create fat image and put it into the file
+if($opt{'fat'}) {
+ open(FATFILE, "> $file.fat") or die "$0: cannot open $file.fat: $!\n";
+ print FATFILE "\0" x ($psize1*512);
+ close(FATFILE);
+ system("/usr/sbin/mkfs.vfat -n RESIZE_ME $file.fat") and die "$0: cannot format fat\n";
+ open(FATFILE, "< $file.fat");
+ print FILE <FATFILE>;
+ close(FATFILE);
+ unlink("$file.fat");
+}
+
# Done...
close(FILE);
--- syslinux-5.00-orig/utils/isohybrid.in 2012-12-06 21:51:22.000000000 +0200
+++ syslinux-5.00/utils/isohybrid.in 2013-02-07 18:55:28.423760149 +0200
@@ -44,6 +44,7 @@
'id' => [0, 0xffffffff],
'hd0' => [0, 2],
'partok' => [0, 1],
+ 'fat' => [0, 1],
);
# Boolean options just set other options
@@ -53,6 +54,7 @@
'ctrlhd0' => ['hd0', 2],
'nopartok' => ['partok', 0],
'partok' => ['partok', 1],
+ 'fatfirst' => ['fat', 1],
);
sub usage() {
@@ -66,7 +68,8 @@
" -id Specify MBR ID (default random)\n",
" -forcehd0 Always assume we are loaded as disk ID 0\n",
" -ctrlhd0 Assume disk ID 0 if the Ctrl key is pressed\n",
- " -partok Allow booting from within a partition\n";
+ " -partok Allow booting from within a partition\n",
+ " -fatfirst Create a small fat partition first\n";
exit 1;
}
@@ -221,9 +224,9 @@
# Print partition table
$offset = $opt{'offset'};
-$psize = $c*$h*$s - $offset;
+$psize = $c*$h*$s - $offset - 1;
$bhead = int($offset/$s) % $h;
-$bsect = ($offset % $s) + 1;
+$bsect = ($offset % $s) + 1 + 1;
$bcyl = int($offset/($h*$s));
$bsect += ($bcyl & 0x300) >> 2;
$bcyl &= 0xff;
@@ -233,10 +236,29 @@
$fstype = $opt{'type'}; # Partition type
$pentry = $opt{'entry'}; # Partition slot
+$offset += $psize;
+$psize1 = $cylsize/512;
+$bhead1 = int(($offset+1)/$s) % $h;
+$bsect1 = (($offset+1) % $s) + 1;
+$bcyl1 = int(($offset+1)/($h*$s));
+$bsect1 += ($bcyl1 & 0x300) >> 2;
+$bcyl1 &= 0xff;
+$ehead1 = $h-1;
+$esect1 = $s;
+$ecyl1 = $bcyl1;
+print "ehead1=$ehead1 esect1=$esect1 ecyl1=$ecyl1\n";
+
+if ( $opt{'fat'} == 1 ) {
+ $pentry = 2;
+}
+
for ( $i = 1 ; $i <= 4 ; $i++ ) {
- if ( $i == $pentry ) {
+ if ( $opt{'fat'} == 1 && $i == 1 ) {
+ $mbr .= pack("CCCCCCCCVV", 0x00, $bhead1, $bsect1, $bcyl1, 0xc,
+ $ehead1, $esect1, $ecyl1, $offset+1, $psize1);
+ } elsif ( $i == $pentry ) {
$mbr .= pack("CCCCCCCCVV", 0x80, $bhead, $bsect, $bcyl, $fstype,
- $ehead, $esect, $ecyl, $offset, $psize);
+ $ehead, $esect, $ecyl, $offset + 1, $psize);
} else {
$mbr .= "\0" x 16;
}
@@ -251,6 +273,18 @@
print FILE "\0" x $padding;
}
+# Create fat image and put it into the file
+if($opt{'fat'}) {
+ open(FATFILE, "> $file.fat") or die "$0: cannot open $file.fat: $!\n";
+ print FATFILE "\0" x ($psize1*512);
+ close(FATFILE);
+ system("/usr/sbin/mkfs.vfat -n RESIZE_ME $file.fat") and die "$0: cannot format fat\n";
+ open(FATFILE, "< $file.fat");
+ print FILE <FATFILE>;
+ close(FATFILE);
+ unlink("$file.fat");
+}
+
# Done...
close(FILE);
+12
View File
@@ -0,0 +1,12 @@
diff -ur a/mk/com32.mk b/mk/com32.mk
--- a/mk/com32.mk 2011-12-09 19:28:17.000000000 +0100
+++ b/mk/com32.mk 2011-12-18 18:22:11.032342645 +0100
@@ -24,6 +24,8 @@
GCCOPT += $(call gcc_ok,-freg-struct-return,)
GCCOPT += -mregparm=3 -DREGPARM=3 -march=i386 -Os
GCCOPT += $(call gcc_ok,-fPIE,-fPIC)
+GCCOPT += $(call gcc_ok,-nopie,)
+GCCOPT += $(call gcc_ok,-fno-pie,)
GCCOPT += $(call gcc_ok,-fno-exceptions,)
GCCOPT += $(call gcc_ok,-fno-asynchronous-unwind-tables,)
GCCOPT += $(call gcc_ok,-fno-strict-aliasing,)
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

+77
View File
@@ -0,0 +1,77 @@
UI vesamenu.c32
timeout 0
menu background backgound.png
MENU RESOLUTION 1024 768
menu clear
menu vshift 8
menu vshift 8
menu rows 20
menu title Pisi GNU/Linux
menu margin 8
menu width 70
menu helpmsgrow 15
#menu tabmsgrow 13
menu color border * #00000000 #00000000 none
menu color sel 0 #ffffffff #00000000 none
menu color title 0 #ff7ba3d0 #00000000 none
menu color tabmsg 0 #ff3a6496 #00000000 none
menu color unsel 0 #84b8ffff #00000000 none
menu color hotsel 0 #84b8ffff #00000000 none
menu color hotkey 0 #ffffffff #00000000 none
menu color help 0 #ffffffff #00000000 none
menu color scrollbar 0 #ffffffff #ff355594 none
menu color timeout 0 #ffffffff #00000000 none
menu color timeout_msg 0 #ffffffff #00000000 none
menu color cmdmark 0 #84b8ffff #00000000 none
menu color cmdline 0 #ffffffff #00000000 none
label installation
menu label Pisi Linux installation (default)
kernel /isolinux/boot/kernel
append initrd=/isolinux/boot/initrd yali=default mudur=language:en splash quiet
text help
Pisi Linux Installation with default settings
endtext
label safe
menu label Pisi Linux Installation (safe)
kernel /isolinux/boot/kernel
append initrd=/isolinux/boot/initrd yali=default mudur=language:en xorg=safe nomodeset
text help
Pisi Linux Installation with safe video settings
endtext
label rescue
menu label Pisi Linux System Rescue
kernel /isolinux/boot/kernel
append initrd=/isolinux/boot/initrd yali=rescue mudur=language:en xorg=safe nomodeset
text help
Pisi Linux bootloader rescue and password reset utility
endtext
label memory
menu label Check System Memory
text help
Use this utility to see if the memory is working correctly
endtext
kernel /isolinux/boot/memtest
label hardware
menu label Hardware Information
text help
Use this utility to see your system information
endtext
kernel /isolinux/hdt.c32
menu separator
label local
menu label Boot from local drive
text help
Boot your system from local drive
endtext
localboot 0xffff
+91
View File
@@ -0,0 +1,91 @@
<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>
<Source>
<Name>syslinux</Name>
<Homepage>http://syslinux.zytor.com/</Homepage>
<Packager>
<Name>PisiLinux Community</Name>
<Email>admins@pisilinux.org</Email>
</Packager>
<License>GPLv2</License>
<IsA>app:console</IsA>
<Summary>SysLinux, IsoLinux and PXELinux bootloader</Summary>
<Description>Lightweight bootloaders for floppy media (SYSLINUX), network booting (PXELINUX), and bootable "El Torito" CD-ROMs (ISOLINUX). The project also includes MEMDISK, a tool to boot legacy operating systems (such as DOS) from nontraditional media; it is usually used in conjunction with PXELINUX and ISOLINUX.</Description>
<Archive sha1sum="ceda70713fd575bd46fc497b503ed90f121ab3b1" type="tarxz">https://www.kernel.org/pub/linux/utils/boot/syslinux/4.xx/syslinux-4.07.tar.xz</Archive>
<BuildDependencies>
<Dependency>nasm</Dependency>
<Dependency>libutil-linux-devel</Dependency>
</BuildDependencies>
<Patches>
<Patch level="1">nopie.patch</Patch>
<Patch level="1">fixisohybrid.patch</Patch>
</Patches>
</Source>
<Package>
<Name>syslinux</Name>
<RuntimeDependencies>
<Dependency>mtools</Dependency>
<Dependency>libutil-linux</Dependency>
<Dependency>perl-Crypt-PasswdMD5</Dependency>
<Dependency>perl-Digest-SHA1</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="executable">/sbin</Path>
<Path fileType="executable">/usr/bin</Path>
<Path fileType="library">/usr/lib/syslinux</Path>
<Path fileType="doc">/usr/share/doc</Path>
<Path fileType="man">/usr/share/man</Path>
</Files>
<AdditionalFiles>
<AdditionalFile target="/usr/lib/syslinux/isolinux.cfg" permission="0644" owner="root">pisi-iso/isolinux.cfg</AdditionalFile>
<AdditionalFile target="/usr/lib/syslinux/background.png" permission="0644" owner="root">pisi-iso/background.png</AdditionalFile>
</AdditionalFiles>
</Package>
<History>
<Update release="6">
<Date>2014-06-14</Date>
<Version>4.07</Version>
<Comment>Release bump.</Comment>
<Name>Alihan Öztürk</Name>
<Email>alihan@pisilinux.org</Email>
</Update>
<Update release="5">
<Date>2014-04-13</Date>
<Version>4.07</Version>
<Comment>version bump</Comment>
<Name>Kamil Atlı</Name>
<Email>suvarice@gmail.com</Email>
</Update>
<Update release="4">
<Date>2014-03-09</Date>
<Version>4.06</Version>
<Comment>Rebuild</Comment>
<Name>Varol Maksutoğlu</Name>
<Email>waroi@pisilinux.org</Email>
</Update>
<Update release="3">
<Date>2013-03-24</Date>
<Version>4.06</Version>
<Comment>Back to 4x line</Comment>
<Name>Erdinç Gültekin</Name>
<Email>admins@pisilinux.org</Email>
</Update>
<Update release="2">
<Date>2013-02-07</Date>
<Version>5.00</Version>
<Comment>fix isohybrid</Comment>
<Name>Erdinç Gültekin</Name>
<Email>admins@pisilinux.org</Email>
</Update>
<Update release="1">
<Date>2013-01-08</Date>
<Version>5.00</Version>
<Comment>First release</Comment>
<Name>Serdar Soytetir</Name>
<Email>kaptan@pisilinux.org</Email>
</Update>
</History>
</PISI>
+8
View File
@@ -0,0 +1,8 @@
<?xml version="1.0" ?>
<PISI>
<Source>
<Name>syslinux</Name>
<Summary xml:lang="tr">SysLinux, IsoLinux ve PXELinux önyükleyicileri</Summary>
<Description xml:lang="tr">Disket sürücüden (SYSLINUX), ağ üzerinden (PXELINUX) ve açılabilir &quot;El Torito&quot; CD-ROM'lardan (ISOLINUX) açılışı sağlayan hafif önyükleyici araçları. Bu proje ayrıca sık kullanılmayan ya da çok eski işletim sistemlerinin açılışı için genellikle PXELINUX ve ISOLINUX ile ortak kullanılabilen MEMDISK aracını da içermektedir.</Description>
</Source>
</PISI>