# HG changeset patch # User Pascal Bellard # Date 1414139136 -7200 # Node ID e0cfbb41587f1e7b086e37f494b242fc701d014f # Parent 0d2eae483216728afda0a1830bf3ee05dc624a4a Add linux64-exofs diff -r 0d2eae483216 -r e0cfbb41587f alsa-utils/receipt --- a/alsa-utils/receipt Thu Oct 23 19:09:03 2014 +0200 +++ b/alsa-utils/receipt Fri Oct 24 10:25:36 2014 +0200 @@ -52,7 +52,7 @@ pre_install() { if [ -f $1/etc/asound.state ]; then - mv $1/etc/asound.state /tmp + mv $1/etc/asound.state $1/tmp fi } diff -r 0d2eae483216 -r e0cfbb41587f linux/stuff/linux-header.u --- a/linux/stuff/linux-header.u Thu Oct 23 19:09:03 2014 +0200 +++ b/linux/stuff/linux-header.u Fri Oct 24 10:25:36 2014 +0200 @@ -1,5 +1,5 @@ ---- linux-3.2.14/arch/x86/boot/header.S -+++ linux-3.2.14/arch/x86/boot/header.S +--- linux-3.2.53/arch/x86/boot/header.S ++++ linux-3.2.53/arch/x86/boot/header.S @@ -7,12 +7,14 @@ * modified by more people than can be counted * @@ -24,12 +24,13 @@ #ifndef SVGA_MODE #define SVGA_MODE ASK_VGA -@@ -40,53 +44,505 @@ +@@ -40,54 +44,752 @@ #define ROOT_RDONLY 1 #endif +setup_sects = 497 +syssize = 500 ++vgamode = 506 +cmd_line_ptr = 0x228 + +/* some extra features */ @@ -41,7 +42,25 @@ +#define KEYBOARDLESS_SUPPORT scan floppy swap each 5 seconds + +/* some limitations to reduce the code size */ -+#define FLOPPY_1440K_ONLY 1.44M floppies support only (no 1.72M, 1.96M...) ++//#define REALMODE_NOT_CHECKED exe crash when started in vm86 ++//#define FLOPPY_1440K_ONLY 1.44M floppies support only (no 720K, 1.68M, 2.88M...) ++ ++#ifdef FLOPPY_ONLY ++#undef EXE_SUPPORT ++#undef FLOPPY_1440K_ONLY ++#define EDIT_CMDLINE ++#define CMDLINE_SUPPORT ++#define MOVE_CMDLINE ++#define INITRD_SUPPORT ++#define INITRD_AUTOADDR ++#endif ++ ++#ifdef EXE_ONLY ++#undef KEYBOARDLESS_SUPPORT ++#define INITRD_SUPPORT ++#define INITRD_KEYWORD ++#define INITRD_AUTOADDR ++#endif + .code16 .section ".bstext", "ax" @@ -51,35 +70,31 @@ - # Normalize the start address - ljmp $BOOTSEG, $start2 -+#ifdef EXE_SUPPORT -+#define CODESZ 0x8000 -+#define EXEADRS(x) x+0xE0 +stacktop = 0x9E00 # in 0x8000 .. 0xA000 -+ decw %bp // Magic number: MZ -+ popw %dx -+ jmp fdstart // Bytes on last page of file -+ .word (CODESZ+511)/512 // Pages in file -+ .word 0 // Relocations -+ .word 2 // Size of header in paragraphs -+ .word 4096 // Minimum extra paragraphs needed -+ .word -1 // Maximum extra paragraphs needed -+ .word (CODESZ+15)/16 // Initial (relative) SS value -+ .word stacktop // Initial SP value -+ .word 0 // Checksum -+ .word EXEADRS(comstart) // Initial IP value -+ .word 0xFFF0 // Initial (relative) CS value -+// .word 0x001C // File address of relocation table -+// .word 0,0,0 // Overlay number -+swap_floppy: -+ .ascii "Next!" -+ .byte 7,13,0 # swap detection needs 13, 0 -+#ifdef OLDCMDLINE -+ .word 0xA33F -+ .word stacktop ++zeroed = 48+10 # gdt + zeroed registers ++.macro INIT_REGS ++ movw $stacktop-zeroed, %di # stacktop is an arbitrary value >= ++ # length of bootsect + length of ++ # setup + room for stack; ++ # 12 is disk parm size. ++ pushw $INITSEG ++ popw %ss # %ss contain INITSEG ++ movw %di, %sp # put stack at INITSEG:stacktop-... ++ pushw %ss ++ popw %es # %es = %ss = INITSEG ++ xorw %ax, %ax # %ax = 0 ++#if defined(CMDLINE) ++ movw $zeroed+1, %cx # clear gdt + offset, %ds, limits, cmdline="" ++ rep # don't worry about cld ++ stosb # already done above ++ decw %di ++#else ++ movw $zeroed/2, %cx # clear gdt + offset, %ds, limits ++ rep # don't worry about cld ++ stosw # already done above +#endif -+fdstart: -+ pushw %dx -+#endif ++ popw %bx # offset = 0 ++.endm -start2: - movw %cs, %ax @@ -89,35 +104,72 @@ - xorw %sp, %sp - sti - cld ++#ifdef EXE_SUPPORT ++#define CODESZ 0x8000 ++#define EXEADRS(x) x+0xE0 ++ decw %bp // Magic number: MZ ++ popw %dx ++#ifdef EXE_ONLY ++ .word 512 // Bytes on last page of file ++#else ++ jmp fdstart // Bytes on last page of file ++#endif ++ .word (CODESZ+511)/512 // Pages in file ++ .word 0 // Relocations ++ .word 2 // Size of header in paragraphs ++ .word 4096 // Minimum extra paragraphs needed ++ .word -1 // Maximum extra paragraphs needed ++ .word (CODESZ+15)/16 // Initial (relative) SS value ++ .word stacktop+4 // Initial SP value (+callf) ++ .word 0 // Checksum ++ .word EXEADRS(comstart) // Initial IP value ++ .word 0xFFF0 // Initial (relative) CS value ++#ifdef EXE_ONLY ++// .word 0x001C // File address of relocation table ++// .word 0,0,0 // Overlay number ++ .ascii "(SliTaz)" ++#else ++swap_floppy: ++ .ascii "Next!" ++ .byte 7,13,0 # swap detection needs 13, 0 ++#endif ++#ifdef OLDCMDLINE ++# ifdef CMDLINE_SUPPORT ++ .word 0 # 0xA33F ++ .word 0 # stacktop ++# else ++ .word 0xA33F ++ .word stacktop ++# endif ++#endif ++#ifndef EXE_ONLY ++fdstart: ++ pushw %dx ++#endif ++#endif + +- movw $bugger_off_msg, %si +LOADSEG = 0x8000 # 0x1000 multiple, up to 512K zImage +LOADSZ = 0x10000 +#ifdef EXE_SUPPORT -+#A20BUFFER = 0x60000 # a20 gate / himem.sys support +A20BUFFER = 0x68000 # a20 gate / himem.sys support +#define USEA20BUFFER +#endif -- movw $bugger_off_msg, %si +-msg_loop: ++#ifndef EXE_ONLY +# bootsect_start: -+ cld # assume nothing -+stacktop = 0x9E00 # in 0x8000 .. 0xA000 -+zeroed = 48+12 # gdt + zeroed registers -+ movw $stacktop-12-zeroed, %di # stacktop is an arbitrary value >= -+ # length of bootsect + length of -+ # setup + room for stack; -+ # 12 is disk parm size. -+ pushw $INITSEG -+ popw %ss # %ss contain INITSEG -+ movw %di, %sp # put stack at INITSEG:stacktop-... - --msg_loop: -- lodsb -- andb %al, %al -- jz bs_die -- movb $0xe, %ah -- movw $7, %bx -- int $0x10 -- jmp msg_loop ++#ifdef EXE_SUPPORT ++ call initregs ++ cwd # floppy = head = 0 ++#else ++ INIT_REGS ++#endif ++ popw %ds # %ds = 0 ++ movb setup_sects+0x7C00, %al # read bootsector + setup ++ incw %ax # %ax = setup_sects+bootsect ++ popw %fs # %fs = 0 ++ +# Many BIOS's default disk parameter tables will not recognize +# multi-sector reads beyond the maximum sector number specified +# in the default diskette parameter tables - this may mean 7 @@ -129,32 +181,19 @@ +# count to 36 - the most we will encounter on an ED 2.88. +# +# High doesn't hurt. Low does. Let's use the max: 63 - --bs_die: -- # Allow the user to press a key, then reboot -- xorw %ax, %ax -+ pushw %ss -+ popw %es # %es = %ss = INITSEG -+ xorw %ax, %ax # %ax = 0 -+#ifdef EXE_SUPPORT -+ cwd # floppy = head = 0 -+#endif -+ movw $zeroed/2, %cx # clear gdt + offset, %ds, limits -+ rep # don't worry about cld -+ stosw # already done above -+ popw %bx # offset = 0 -+ popw %ds # %ds = 0 -+ popw %fs # %fs = 0 -+ -+ movb setup_sects+0x7C00, %al # read bootsector + setup (%ds = 0) -+ incw %ax + + ldsw 0x78(%bx), %si # %ds:%bx+0x78 is parameter table address ++ popw %di + pushw %es + pushw %di ++#ifdef CMDLINE_SUPPORT ++ movw $0, %bp # patched by installer (7C22) ++skipcmdline: ++#define cmd_line_ptr 0x22 ++#endif + movb $6, %cl # copy 12 bytes + rep # don't worry about cld -+ movsw # already done above ++ movsw # already done above + pushw %ss + popw %ds # now %ds = %es = %ss = INITSEG + popl %fs:0x78(%bx) # update parameter table address @@ -162,9 +201,12 @@ + cli + + xchg %ax, %di # sector count ++#ifndef FLOPPY_1440K_ONLY + popw %ax # limits = 0 ++#endif + incw %cx # cylinder 0, sector 1, clear Z + call read_first_sectors # read setup ++#endif +loadsys: + movw $0x200,%si +type_of_loader = 0x10 @@ -174,6 +216,62 @@ + movb $(stacktop-0x300)/256, heap_end_ptr+1(%si) + call puts_version # show which kernel we are loading + ++#ifdef CMDLINE_SUPPORT ++# The cmdline can be entered and modifed at boot time. ++# Only characters before the cursor are passed to the kernel. ++ ++ xorw %si, %si ++ orw cmd_line_ptr-7(%bx), %si ++ jz nocmdline ++ movw $0xA33F, cmd_line_ptr-2-7(%bx) ++ call puts ++#if defined(MOVE_CMDLINE) || (defined(EDIT_CMDLINE) && defined(KEYBOARDLESS_SUPPORT)) ++ pushw %di ++#endif ++#ifdef EDIT_CMDLINE ++cmdlp: ++ movb $0x20, %al # clear end of line ++cmdlpz: ++ call putc # with Space ++ subb $0x18, %al # and BackSpace ++ jnc cmdlpz ++ decw %si ++cmdget: ++#ifdef KEYBOARDLESS_SUPPORT ++ call wait4key ++#else ++ int $0x16 ++#endif ++ cbw # %ah = 0, get keyboard character ++ cmpb $8, %al # BackSpace ? ++ je cmdbs ++ movb %al, (%si) # store char ++ lodsw # %si += 2 ++cmdbs: ++ cmpw %si, cmd_line_ptr-7(%bx) ++ je cmdget ++ call putc ++ cmpb $13, %al # Enter ? ++ jne cmdlp ++ movb %bh,-2(%si) # set end of string and remove CR ++endcmdline: ++#endif ++#ifdef MOVE_CMDLINE ++ pushw %ss ++ popw %es ++ movw $0x8000, %di ++ movw %di, %si ++ xchgw %si, cmd_line_ptr-7(%bx) ++ movb $0x2, %ch ++ rep ++ movsb ++#endif ++#if defined(EDIT_CMDLINE) || (defined(MOVE_CMDLINE) && defined(KEYBOARD_TIMEOUT)) ++ popw %di ++#endif ++nocmdline: ++#endif ++ +# This routine loads the system at address LOADSEG, making sure +# no 64kB boundaries are crossed. We try to load it as fast as +# possible, loading whole tracks whenever we can. @@ -192,11 +290,42 @@ + movw $0x9300+(LOADSEG/0x1000), bootsect_src_base+2(%bx,%si) + xorb $bootsect_dst_limit-bootsect_src_limit, %bl + jne init_gdt ++#ifdef INITRD_SUPPORT ++#ifdef INITRD_AUTOADDR ++ movb $0x88, %ah ++ int $0x15 ++ jc NeedMoreRAM ++ cmpw $0xC000, %ax # more than 48M ? ++ jb NeedMoreRAM ++ movw $ramdisk_image+2, %bx ++ cmpw $0x100, (%bx) # already above 16M ? ++ ja NeedMoreRAM ++ movw $0x200, (%bx) # initramfs @ 32M ++NeedMoreRAM: ++#endif ++#ifdef INITRD_KEYWORD ++#ifdef INITRD_AUTOADDR ++ pushl -2(%bx) ++#else ++ pushl ramdisk_image ++#endif ++ pushw $stacktop # start of cmdline ++#endif ++ movw $syssize, %bx ++ movb $5, %cl ++code32_start = 0x214 ++ movw code32_start+1, %ax # destination = 0x00100000 or 0x00010000 ++initrdlp: ++ movl (%bx), %ebx ++ decl %ebx ++ shrl %cl, %ebx ++#else +code32_start = 0x214 + movw code32_start+1, %ax # destination = 0x00100000 or 0x00010000 + movl syssize, %ebx + decl %ebx + shrl $5, %ebx ++#endif +#ifdef MORETHAN16M + incl %ebx +#else @@ -230,29 +359,123 @@ + xorw %bx,%bx + pushw $LOADSEG + popw %es ++#ifdef EXE_ONLY ++ call read_sectors_dos ++#else +patchcall: + call read_sectors # update %bp ++#endif + popw %bx + popw %si -+ movw $LOADSZ/2, %cx # word count ++ movw %es, %cx # word count = LOADSZ/2 (= LOADSEG) + movb $0x87, %ah + pushw %ss + popw %es # restore es + int $0x15 # max 16M, maybe more... + popw %ax ++#ifdef MORETHAN16M ++ addw $0x100, %ax # next dest (ax+=LOADSZ/256) ++ adcb %cl, bootsect_dst_base_hi(%si) # breaks 16M limit ? ++#else + incb %ah # next dest (ax+=LOADSZ/256) -+#ifdef MORETHAN16M -+ adcb %cl, bootsect_dst_base_hi(%si) # breaks 16M limit ? +#endif +#ifdef USEA20BUFFER + movw $(LOADSZ+A20BUFFER)>>8, %di +#endif + popf + ja syslp ++#ifdef INITRD_SUPPORT ++initrdlp2: ++ movw ramdisk_image+1,%ax ++ movw $ramdisk_size,%bx ++ movb $9, %cl ++ cmpw %ax, bootsect_dst_base+1(%si) ++ jb initrdlp ++#ifdef INITRD_KEYWORD ++ xorl %eax, %eax ++ xchgl %eax, (%bx) ++ addl $3, %eax ++ addl %eax, ramdisk_image-ramdisk_size(%bx) ++ andb $0xFC, ramdisk_image-ramdisk_size(%bx) ++ popw %si // current ptr in cmdline ++kwchk: ++ movw $kwinitrd, %di ++kwchk2: ++#if 1 ++ cmpl $0x3D616776, (%si) // look for vga= ++ jne notvga ++#if 1 ++ movw $0x312C, %ax ++ subw 4(%si), %ax // support -9 .. -1 only ! ++ xchgb %al, %ah ++ cmpw $-8, %ax ++ jb notvga ++ decw %ax ++#else ++ movb $'0', %al ++ subb 5(%si), %al // support -9 .. -1 only ! ++ cbw ++#endif ++ movw %ax, vgamode ++notvga: ++#endif ++ lodsb // look for initrd= ++ orb %al, %al ++ jz noinitrd ++ subb (%di), %al ++ //andb $0xDF, %al ++ jne kwchk ++ incw %di ++ cmpb (%di), %al ++ jne kwchk2 ++ mov %si, %dx // %ds:%dx filename ++chkeos: + lodsb +- andb %al, %al +- jz bs_die ++ cmpb $0, %al ++ je gotoes ++ subb $0x20, %al ++ jne chkeos ++gotoes: ++ decw %si ++ pushw (%si) ++ movb %al, (%si) // set eos ++ movb $0x3D, %ah // open, access = RO ++ int $0x21 ++ popw (%si) ++ jc noinitrd ++ pushw %si // save ptr in cmdline ++ xchgw %ax, %bp // fd ++ movw $0x4202, %ax // lseek(SEEK_END) ++ movw %bp, %bx ++ xorw %cx, %cx ++ cwd ++ int $0x21 ++ pushw %dx ++ pushw %ax ++ popl ramdisk_size ++ movw $0x4200, %ax // lseek(SEEK_SET) ++ xorw %cx, %cx ++ cwd ++ int $0x21 // set %ax = %dx = 0 ++ jmp initrdlp2 ++noinitrd: ++ popl %eax // restore initial ramdisk address ++ movl %eax, %edx ++ xchgl %edx, ramdisk_image-ramdisk_size(%bx) ++ subl %eax, %edx ++ addl %edx, (%bx) ++#endif ++#endif +#ifdef USEA20BUFFER +#ifdef MORETHAN16M ++#ifdef INITRD_SUPPORT ++ movb $0, bootsect_dst_base_hi(%si) ++#else + movb %cl, bootsect_dst_base_hi(%si) +#endif ++#endif + movb $0x10, bootsect_dst_base+2(%si) + movw $A20BUFFER/0x100, bootsect_src_base+1(%si) + movb $0x87, %ah @@ -280,28 +503,18 @@ +# read track by track. +# Assume no error on first track. + -+#define FLOPPY_CYLINDERS 80 /* 80 cylinders minimum */ -+#define FLOPPY_HEADS 2 /* 2 heads minimum */ -+#define FLOPPY_SECTORS 18 /* 18 sectors minimum */ ++#ifndef EXE_ONLY ++ ++#define FLOPPY_CYLINDERS 80 ++#define FLOPPY_HEADS 2 + +check_limits: +#ifndef FLOPPY_1440K_ONLY + popw %dx -+ cmpb $FLOPPY_SECTORS+1, %cl # 18 sectors minimum -+ jb check_head + cmpb %al, %cl # max sector known ? + ja next_head # no -> store it -+check_head: -+ cmpb $FLOPPY_HEADS, %dh # 2 heads minimum -+ jb check_cylinder -+ cmpb %ah, %dh # max head known ? -+ ja next_cylinder # no -> store it -+check_cylinder: +#endif + pushaw -+#ifndef FLOPPY_1440K_ONLY -+ cbw # %ah = 0 -+#endif + int $0x13 # reset controler + stc + call putcdot # print '-' @@ -316,10 +529,11 @@ + movb $1, %al # 1 sector mini +tolastsect: +#else ++#define FLOPPY_SECTORS 18 + mov $FLOPPY_SECTORS+1, %al + subb %cl, %al # sectors remaining in track ++ cbw +#endif -+ cbw + cmpw %di, %ax + jb more1trk + movw %di, %ax # sectors to read @@ -356,7 +570,7 @@ + movw %gs, %cx +#ifndef FLOPPY_1440K_ONLY +# al is last sector+1 -+# ah is last cylinder+1 ++# ah is 0 + xchgw %ax, %bp +#endif +#ifndef FLOPPY_1440K_ONLY @@ -368,26 +582,27 @@ + cmpb $FLOPPY_SECTORS+1,%cl # reach sector limit ? + jne bdendlp +#endif -+ incb %dh # next head -+ movb $1,%cl # first sector -+#ifndef FLOPPY_1440K_ONLY -+ cmpb %ah, %dh # reach head limit ? -+ jne bdendlp -+next_cylinder: -+ movb %dh,%ah -+#else -+ cmpb %cl,%dh # reach head limit ? -+ je bdendlp -+#endif -+# NOTE : support 256 cylinders max ++ movb $1, %cl # first sector ++inc_head: ++ xorb %cl, %dh # next head ++ jne bdendlp # reach head limit ? + incb %ch # next cylinder +read_first_sectors: + cmpb $FLOPPY_CYLINDERS,%ch # reach cylinder limit ? -+ movb $0,%dh # first head + jne bdendlp +next_floppy: + movb $0,%ch # first cylinder + pushaw ++#ifdef FLOPPY_ONLY ++ movw $swap_floppy_tail,%si ++next_digit: ++ decw %si ++ movb (%si), %al ++ incw %ax ++ aaa ++ movb %al, (%si) ++ jc next_digit ++#endif + movw $swap_floppy,%si +#ifdef KEYBOARDLESS_SUPPORT + pushw %bx @@ -412,14 +627,11 @@ +#else + call puts + cbw # %ah = 0, get keyboard character - int $0x16 -- int $0x19 ++ int $0x16 +#endif + jmp read_sectorslp - -- # int 0x19 should never return. In case it does anyway, -- # invoke the BIOS reset code... -- ljmp $0xf000,$0xfff0 ++#endif ++ +#ifdef EXE_SUPPORT +read_sectors_dos: + xorw %dx, %dx // write to %ds:%dx, not %es:%bx @@ -436,26 +648,25 @@ + pushw %ss + popw %ds +#endif - -- .section ".bsdata", "a" --bugger_off_msg: -- .ascii "Direct booting from floppy is no longer supported.\r\n" -- .ascii "Please use a boot loader program instead.\r\n" -- .ascii "\n" -- .ascii "Remove disk and press any key to reboot . . .\r\n" -- .byte 0 ++ +putcdot: + movb $'.'+3, %al // . = success, - = failure +putclf: + sbbb $3, %al +putc: -+ movb $0xe, %ah + movb $0xe, %ah +- movw $7, %bx +- int $0x10 +- jmp msg_loop + movw $7, %bx # one dot each 64k + int $0x10 + cmp $0xd, %al # CR ? + je putclf + ret +-bs_die: +- # Allow the user to press a key, then reboot +- xorw %ax, %ax +#ifdef KEYBOARDLESS_SUPPORT +clock = 0x46C +wait: @@ -467,7 +678,8 @@ + movw $0x10D, %ax # test keyboard, timeout => CR + cmpb %fs:(%di),%ah + je waitdone -+ int $0x16 + int $0x16 +- int $0x19 + jz waitkbd + cbw + int $0x16 # eat char @@ -476,46 +688,46 @@ +waitdone: + ret +#endif -+ + +- # int 0x19 should never return. In case it does anyway, +- # invoke the BIOS reset code... +- ljmp $0xf000,$0xfff0 +#ifdef EXE_SUPPORT +comstart: -+ cld # assume nothing -+ pushw $INITSEG -+ popw %es -+ pushw %es -+ popw %ss ++#ifndef EXE_ONLY ++ call initregs ++#else ++ INIT_REGS ++#endif ++ movb EXEADRS(setup_sects), %al # read bootsector + setup ++ incw %ax +#ifdef CMDLINE -+ movw %sp, %di + movw $0x80, %si -+ lodsb -+ cbw -+ xchgw %ax, %cx ++ movb (%si), %cl ++ incw %si ++# ifdef OLDCMDLINE ++# ifdef CMDLINE_SUPPORT ++ jcxz nocmdline ++ movw %di, EXEADRS(0x22) ++ movw $0xA33F, 0x7F(%si) ++# endif ++# endif + rep + movsb -+ movb $(48+2)/2, %cl -+ xorw %bx, %bx -+clearstacklp: -+ pushw %bx -+ loop clearstacklp ++nocmdline: ++ xchgw %ax, %di +# ifdef HELP + cmpb $'?', -1(%si) + movw $EXEADRS(0x200), %si -+ movw setup_sects-0x200(%si), %di // bits 0..6 + je puts_version ++# ifndef REALMODE_NOT_CHECKED + smsww %ax + andb $1, %al + jne puts_version // real mode only... ++# endif +# endif +#else -+ movw $(48+2)/2, %cx -+ xorw %bx, %bx -+clearstacklp: -+ pushw %bx -+ loop clearstacklp -+#endif -+#if !defined(CMDLINE) || !defined(HELP) -+ movw EXEADRS(setup_sects), %di // bits 0..6 -+ movb $0, %al // access = RO ++ xchgw %ax, %di +#endif + movw 0x2C(%bx), %ds // DOS 3.0+ +loop1: @@ -523,29 +735,33 @@ + cmpw %cx, (%bx) + jne loop1 + leaw 4(%bx), %dx // %ds:%dx filename ++#if !defined(REALMODE_NOT_CHECKED) && defined(CMDLINE) && defined(HELP) + movb $0x3D, %ah // open, access = RO ++#else ++ movw $0x3D00, %ax // open, access = RO ++#endif + int $0x21 + jc dosexit + xchgw %ax, %bp // fd -+ incw %di + call read_sectors_dos // update %ds ++#ifndef EXE_ONLY + addb $read_sectors_dos-read_sectors, patchcall+1 ++#endif +#ifdef CMDLINE +# ifdef OLDCMDLINE + movw $0x202, %bx -+ cmpw %bx, 0x206-0x202(%bx) ++ cmpw %bx, 0x206-0x202(%bx) # new cmdline for version >= 0x202 + jb oldcmdline + movw $INITSEG/16+stacktop/256, cmd_line_ptr+1-0x202(%bx) -+oldcmdline: +# else + movw $INITSEG/16+stacktop/256, cmd_line_ptr+1 +# endif ++oldcmdline: +#endif -+ ljmp $INITSEG, $loadsys -+#else -+swap_floppy: -+ .ascii "Next!" -+ .byte 7,13,0 # swap detection needs 13, 0 ++// ljmp $INITSEG, $loadsys ++ pushw %ds ++ .byte 0x6A, loadsys-bootsect_start ++ retf +#endif + +#define kernel_version_offset 0xE @@ -561,5 +777,34 @@ +dosexit: + ret +- .section ".bsdata", "a" +-bugger_off_msg: +- .ascii "Direct booting from floppy is no longer supported.\r\n" +- .ascii "Please use a boot loader program instead.\r\n" +- .ascii "\n" +- .ascii "Remove disk and press any key to reboot . . .\r\n" +- .byte 0 ++#if !defined(FLOPPY_ONLY) && !defined(EXE_ONLY) ++initregs: ++ popw %si ++ INIT_REGS ++ pushw %si # use new stack ++ ret ++#endif + ++#ifndef EXE_SUPPORT ++swap_floppy: ++ .ascii "Insert floppy disk 001" ++swap_floppy_tail: ++ .ascii " and press any key." ++ .byte 7,13,0 # swap detection needs 13, 0 ++#endif + ++#ifdef INITRD_KEYWORD ++kwinitrd: ++ .ascii "initrd=" ++ .byte 0 ++#endif # Kernel attributes; used by setup. This is part 1 of the # header, from the old boot sector. + diff -r 0d2eae483216 -r e0cfbb41587f linux/stuff/linux-slitaz.config64 --- a/linux/stuff/linux-slitaz.config64 Thu Oct 23 19:09:03 2014 +0200 +++ b/linux/stuff/linux-slitaz.config64 Fri Oct 24 10:25:36 2014 +0200 @@ -952,7 +952,7 @@ CONFIG_RFS_ACCEL=y CONFIG_XPS=y CONFIG_HAVE_BPF_JIT=y -# CONFIG_BPF_JIT is not set +CONFIG_BPF_JIT=y # # Network testing @@ -1133,8 +1133,8 @@ CONFIG_BLK_DEV_DRBD=m # CONFIG_DRBD_FAULT_INJECTION is not set CONFIG_BLK_DEV_NBD=m -# CONFIG_BLK_DEV_OSD is not set -# CONFIG_BLK_DEV_SX8 is not set +CONFIG_BLK_DEV_OSD=m +CONFIG_BLK_DEV_SX8=m # CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_COUNT=16 @@ -1200,73 +1200,7 @@ # CONFIG_ALTERA_STAPL=m CONFIG_HAVE_IDE=y -CONFIG_IDE=y - -# -# Please see Documentation/ide/ide.txt for help/info on IDE drives -# -CONFIG_IDE_XFER_MODE=y -CONFIG_IDE_TIMINGS=y -CONFIG_IDE_ATAPI=y -# CONFIG_BLK_DEV_IDE_SATA is not set -CONFIG_IDE_GD=y -CONFIG_IDE_GD_ATA=y -# CONFIG_IDE_GD_ATAPI is not set -CONFIG_BLK_DEV_IDECS=m -# CONFIG_BLK_DEV_DELKIN is not set -CONFIG_BLK_DEV_IDECD=y -CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y -# CONFIG_BLK_DEV_IDETAPE is not set -# CONFIG_BLK_DEV_IDEACPI is not set -# CONFIG_IDE_TASK_IOCTL is not set -CONFIG_IDE_PROC_FS=y - -# -# IDE chipset support/bugfixes -# -CONFIG_IDE_GENERIC=y -# CONFIG_BLK_DEV_PLATFORM is not set -CONFIG_BLK_DEV_CMD640=y -# CONFIG_BLK_DEV_CMD640_ENHANCED is not set -# CONFIG_BLK_DEV_IDEPNP is not set -CONFIG_BLK_DEV_IDEDMA_SFF=y - -# -# PCI IDE chipsets support -# -CONFIG_BLK_DEV_IDEPCI=y -CONFIG_IDEPCI_PCIBUS_ORDER=y -# CONFIG_BLK_DEV_OFFBOARD is not set -CONFIG_BLK_DEV_GENERIC=y -# CONFIG_BLK_DEV_OPTI621 is not set -CONFIG_BLK_DEV_RZ1000=y -CONFIG_BLK_DEV_IDEDMA_PCI=y -CONFIG_BLK_DEV_AEC62XX=y -CONFIG_BLK_DEV_ALI15X3=y -CONFIG_BLK_DEV_AMD74XX=y -CONFIG_BLK_DEV_ATIIXP=y -CONFIG_BLK_DEV_CMD64X=y -CONFIG_BLK_DEV_TRIFLEX=y -# CONFIG_BLK_DEV_CS5520 is not set -CONFIG_BLK_DEV_CS5530=y -CONFIG_BLK_DEV_HPT366=y -CONFIG_BLK_DEV_JMICRON=y -CONFIG_BLK_DEV_SC1200=y -CONFIG_BLK_DEV_PIIX=y -CONFIG_BLK_DEV_IT8172=y -CONFIG_BLK_DEV_IT8213=y -CONFIG_BLK_DEV_IT821X=y -CONFIG_BLK_DEV_NS87415=y -CONFIG_BLK_DEV_PDC202XX_OLD=y -CONFIG_BLK_DEV_PDC202XX_NEW=y -CONFIG_BLK_DEV_SVWKS=y -CONFIG_BLK_DEV_SIIMAGE=y -CONFIG_BLK_DEV_SIS5513=y -CONFIG_BLK_DEV_SLC90E66=y -CONFIG_BLK_DEV_TRM290=y -CONFIG_BLK_DEV_VIA82CXXX=y -CONFIG_BLK_DEV_TC86C001=y -CONFIG_BLK_DEV_IDEDMA=y +# CONFIG_IDE is not set # # SCSI device support @@ -1325,18 +1259,18 @@ CONFIG_SCSI_AIC7XXX=m CONFIG_AIC7XXX_CMDS_PER_DEVICE=32 CONFIG_AIC7XXX_RESET_DELAY_MS=5000 -CONFIG_AIC7XXX_DEBUG_ENABLE=y +# CONFIG_AIC7XXX_DEBUG_ENABLE is not set CONFIG_AIC7XXX_DEBUG_MASK=0 -CONFIG_AIC7XXX_REG_PRETTY_PRINT=y +# CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set CONFIG_SCSI_AIC7XXX_OLD=m CONFIG_SCSI_AIC79XX=m CONFIG_AIC79XX_CMDS_PER_DEVICE=32 CONFIG_AIC79XX_RESET_DELAY_MS=5000 -CONFIG_AIC79XX_DEBUG_ENABLE=y +# CONFIG_AIC79XX_DEBUG_ENABLE is not set CONFIG_AIC79XX_DEBUG_MASK=0 CONFIG_AIC79XX_REG_PRETTY_PRINT=y CONFIG_SCSI_AIC94XX=m -CONFIG_AIC94XX_DEBUG=y +# CONFIG_AIC94XX_DEBUG is not set CONFIG_SCSI_MVSAS=m # CONFIG_SCSI_MVSAS_DEBUG is not set CONFIG_SCSI_MVSAS_TASKLET=y @@ -1395,7 +1329,7 @@ CONFIG_SCSI_SRP=m CONFIG_SCSI_BFA_FC=m # CONFIG_SCSI_LOWLEVEL_PCMCIA is not set -CONFIG_SCSI_DH=m +CONFIG_SCSI_DH=y CONFIG_SCSI_DH_RDAC=m CONFIG_SCSI_DH_HP_SW=m CONFIG_SCSI_DH_EMC=m @@ -1417,22 +1351,22 @@ CONFIG_SATA_AHCI_PLATFORM=m CONFIG_SATA_INIC162X=m CONFIG_SATA_ACARD_AHCI=m -CONFIG_SATA_SIL24=m +CONFIG_SATA_SIL24=y CONFIG_ATA_SFF=y # # SFF controllers with custom DMA interface # -CONFIG_PDC_ADMA=m -CONFIG_SATA_QSTOR=m -CONFIG_SATA_SX4=m +CONFIG_PDC_ADMA=y +CONFIG_SATA_QSTOR=y +CONFIG_SATA_SX4=y CONFIG_ATA_BMDMA=y # # SATA SFF controllers with BMDMA # CONFIG_ATA_PIIX=y -CONFIG_SATA_MV=m +CONFIG_SATA_MV=y CONFIG_SATA_NV=y CONFIG_SATA_PROMISE=y CONFIG_SATA_SIL=y @@ -2294,7 +2228,7 @@ # CONFIG_LP_CONSOLE is not set CONFIG_PPDEV=m CONFIG_HVC_DRIVER=y -CONFIG_VIRTIO_CONSOLE=m +CONFIG_VIRTIO_CONSOLE=y # CONFIG_IPMI_HANDLER is not set CONFIG_HW_RANDOM=y # CONFIG_HW_RANDOM_TIMERIOMEM is not set @@ -3898,7 +3832,6 @@ # LED Triggers # CONFIG_LEDS_TRIGGER_TIMER=m -CONFIG_LEDS_TRIGGER_IDE_DISK=y CONFIG_LEDS_TRIGGER_HEARTBEAT=m CONFIG_LEDS_TRIGGER_BACKLIGHT=m # CONFIG_LEDS_TRIGGER_GPIO is not set @@ -3984,14 +3917,14 @@ # CONFIG_UIO_SERCOS3 is not set # CONFIG_UIO_PCI_GENERIC is not set # CONFIG_UIO_NETX is not set -CONFIG_VIRTIO=m -CONFIG_VIRTIO_RING=m +CONFIG_VIRTIO=y +CONFIG_VIRTIO_RING=y # # Virtio drivers # -CONFIG_VIRTIO_PCI=m -CONFIG_VIRTIO_BALLOON=m +CONFIG_VIRTIO_PCI=y +CONFIG_VIRTIO_BALLOON=y # CONFIG_VIRTIO_MMIO is not set CONFIG_STAGING=y CONFIG_ET131X=m @@ -4416,7 +4349,9 @@ # CONFIG_PSTORE is not set # CONFIG_SYSV_FS is not set # CONFIG_UFS_FS is not set -# CONFIG_EXOFS_FS is not set +CONFIG_EXOFS_FS=m +# CONFIG_EXOFS_DEBUG is not set +CONFIG_ORE=m CONFIG_NETWORK_FILESYSTEMS=y CONFIG_NFS_FS=y CONFIG_NFS_V3=y @@ -4666,12 +4601,12 @@ CONFIG_CRYPTO_RMD256=m CONFIG_CRYPTO_RMD320=m CONFIG_CRYPTO_SHA1=y -# CONFIG_CRYPTO_SHA1_SSSE3 is not set +CONFIG_CRYPTO_SHA1_SSSE3=m CONFIG_CRYPTO_SHA256=m CONFIG_CRYPTO_SHA512=m CONFIG_CRYPTO_TGR192=m CONFIG_CRYPTO_WP512=m -# CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL is not set +CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m # # Ciphers @@ -4691,14 +4626,14 @@ CONFIG_CRYPTO_FCRYPT=y CONFIG_CRYPTO_KHAZAD=m CONFIG_CRYPTO_SALSA20=m -# CONFIG_CRYPTO_SALSA20_X86_64 is not set +CONFIG_CRYPTO_SALSA20_X86_64=m CONFIG_CRYPTO_SEED=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_TWOFISH_COMMON=m -# CONFIG_CRYPTO_TWOFISH_X86_64 is not set -# CONFIG_CRYPTO_TWOFISH_X86_64_3WAY is not set +CONFIG_CRYPTO_TWOFISH_X86_64=m +CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m # # Compression diff -r 0d2eae483216 -r e0cfbb41587f linux64-exofs/receipt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/linux64-exofs/receipt Fri Oct 24 10:25:36 2014 +0200 @@ -0,0 +1,45 @@ +# SliTaz package receipt. + +PACKAGE="linux64-exofs" +VERSION="3.2.53" +CATEGORY="base-system" +SHORT_DESC="The Linux kernel OSD based file system module." +MAINTAINER="devel@slitaz.org" +LICENSE="GPL2" +DEPENDS="linux64" +WANTED="linux" +PROVIDE="linux-minix:linux64" +WEB_SITE="http://www.kernel.org/" +CONFIG_FILES="/etc/filesystems" + +# Rules to gen a SliTaz package suitable for Tazpkg. +genpkg_rules() +{ + local path + install=$install/linux64 + path=lib/modules/$VERSION-slitaz64/kernel + mkdir -p $fs/$path $fs/etc + export src + export install + $wanted_stuff/list_modules.sh fs/${PACKAGE#*-} | while read module; do + dir=$path/$(dirname $module) + [ -d $fs/$dir ] || mkdir -p $fs/$dir + cp -a $install/$path/$module $fs/$dir + done + touch $fs/etc/filesystems +} + +# Post install/remove commands for Tazpkg. +post_install() +{ + grep -qs ^${PACKAGE#*-}$ $1/etc/filesystems || \ + echo "${PACKAGE#*-}" >> $1/etc/filesystems + chroot "$root/" depmod -a $VERSION-slitaz64 +} + +post_remove() +{ + sed -i "/^${PACKAGE#*-}\$/d" $1/etc/filesystems + chroot "$root/" depmod -a $VERSION-slitaz64 +} + diff -r 0d2eae483216 -r e0cfbb41587f linux64/stuff/modules64.list --- a/linux64/stuff/modules64.list Thu Oct 23 19:09:03 2014 +0200 +++ b/linux64/stuff/modules64.list Fri Oct 24 10:25:36 2014 +0200 @@ -1,10 +1,10 @@ drivers/acpi/video.ko.xz drivers/acpi/button.ko.xz -drivers/char/genrtc.ko.xz +arch/x86/kernel/cpuid.ko.xz drivers/char/i8k.ko.xz drivers/char/lp.ko.xz drivers/char/ppdev.ko.xz -drivers/char/rtc.ko.xz +drivers/firmware/efivars.ko.xz drivers/regulator/fixed.ko.xz drivers/regulator/tps6105x-regulator.ko.xz drivers/mmc/host/tifm_sd.ko.xz @@ -252,10 +252,40 @@ sound/ac97_bus.ko.xz sound/core/snd.ko.xz lib/lru_cache.ko.xz -lib/libcrc32c.ko.xz lib/crc8.ko.xz lib/cordic.ko.xz lib/raid6/raid6_pq.ko.xz lib/ts_bm.ko.xz lib/ts_fsm.ko.xz lib/ts_kmp.ko.xz +drivers/ata/acard-ahci.ko.xz +drivers/ata/ahci_platform.ko.xz +drivers/ata/pata_cmd64x.ko.xz +drivers/ata/pata_cs5520.ko.xz +drivers/ata/pata_cs5530.ko.xz +drivers/ata/pata_cs5536.ko.xz +drivers/ata/pata_cypress.ko.xz +drivers/ata/pata_efar.ko.xz +drivers/ata/pata_hpt366.ko.xz +drivers/ata/pata_hpt37x.ko.xz +drivers/ata/pata_hpt3x2n.ko.xz +drivers/ata/pata_hpt3x3.ko.xz +drivers/ata/pata_it8213.ko.xz +drivers/ata/pata_netcell.ko.xz +drivers/ata/pata_ninja32.ko.xz +drivers/ata/pata_ns87410.ko.xz +drivers/ata/pata_ns87415.ko.xz +drivers/ata/pata_opti.ko.xz +drivers/ata/pata_optidma.ko.xz +drivers/ata/pata_pcmcia.ko.xz +drivers/ata/pata_pdc2027x.ko.xz +drivers/ata/pata_pdc202xx_old.ko.xz +drivers/ata/pata_radisys.ko.xz +drivers/ata/pata_rdc.ko.xz +drivers/ata/pata_rz1000.ko.xz +drivers/ata/pata_serverworks.ko.xz +drivers/ata/pata_sil680.ko.xz +drivers/ata/pata_sl82c105.ko.xz +drivers/ata/pata_triflex.ko.xz +drivers/ata/pdc_adma.ko.xz +drivers/ata/sata_inic162x.ko.xz