wok-current rev 25564
Up memtest (6.20)
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Thu May 11 15:58:49 2023 +0000 (18 months ago) |
parents | 41581d281860 |
children | dfb00254cc7c |
files | BootProg/receipt BootProg/stuff/boot16.asm BootProg/stuff/boot32.asm BootProg/stuff/bootex.asm BootProg/stuff/bootprog.sh libjreen-dev/receipt libjreen/receipt memtest-efi32/receipt memtest-efi64/receipt memtest/receipt memtest/stuff/memtest86+-6-386.patch memtest64/receipt musl-libc-dev/receipt musl-libc/receipt urbackup-server/receipt usbutils/receipt warmux/receipt |
line diff
1.1 --- a/BootProg/receipt Sat May 06 08:42:03 2023 +0000 1.2 +++ b/BootProg/receipt Thu May 11 15:58:49 2023 +0000 1.3 @@ -14,16 +14,19 @@ 1.4 compile_rules() 1.5 { 1.6 mkdir -p $src && cd $src 1.7 - bs="boot16 bootex boot32" 1.8 + bs="boot12 boot16 bootex boot32" 1.9 + cp $stuff/boot??.asm . 1.10 + cp boot16.asm boot12.asm 1.11 + sed -i 's|^FAT12.*|FAT12 equ 0|' boot16.asm 1.12 + sed -i 's|^FAT16.*|FAT16 equ 0|' boot12.asm 1.13 for i in $bs ; do 1.14 - cp $stuff/$i.asm . 1.15 nasm $i.asm -f bin -o $i.bin -l $i.lst || return 1 1.16 done 1.17 sed '1,2!d' $stuff/bootprog.sh > bootprog 1.18 { 1.19 sed "1,2d;s|FAT32SZ|$(stat -c %s boot32.bin)|" $stuff/bootprog.sh 1.20 cat ${bs// /.bin }.bin 1.21 - } | xz -z --format=lzma --lzma1=lc=0,pb=0,nice=33,dict=4k >> bootprog 1.22 + } | xz -z --format=lzma --lzma1=lc=0,pb=0,nice=100,dict=4k >> bootprog 1.23 chmod +x bootprog 1.24 } 1.25
2.1 --- a/BootProg/stuff/boot16.asm Sat May 06 08:42:03 2023 +0000 2.2 +++ b/BootProg/stuff/boot16.asm Thu May 11 15:58:49 2023 +0000 2.3 @@ -26,6 +26,14 @@ 2.4 ;; - cpu 8086 is supported ;; 2.5 ;; ;; 2.6 ;; ;; 2.7 +;; Known Limitation: ;; 2.8 +;; ~~~~~~~~~~~~~~~~~ ;; 2.9 +;; - Need a up to date field bpbHiddenSectors to work in a partition ; ;; 2.10 +;; most formatters don't update it correcly in extended partitions. ;; 2.11 +;; ;; 2.12 +;; - Partition must fit in the first 8GB disk for CHS reads. ;; 2.13 +;; ;; 2.14 +;; ;; 2.15 ;; Known Bugs: ;; 2.16 ;; ~~~~~~~~~~~ ;; 2.17 ;; - All bugs are fixed as far as I know. The boot sector has been tested ;; 2.18 @@ -85,12 +93,14 @@ 2.19 %define bx(label) bx+label-boot 2.20 %define si(label) si+label-boot 2.21 NullEntryCheck equ 1 ; +2 bytes 2.22 -ReadRetry equ 1 ; +9 bytes 2.23 +ReadRetry equ 1 ; +9/+10 bytes 2.24 LBAsupport equ 1 ; +16 bytes 2.25 -Over2GB equ 1 ; +5 bytes 2.26 +CHSsanityCheck equ 1 ; +12/+16 bytes 2.27 GeometryCheck equ 1 ; +18 bytes 2.28 +CheckAttrib equ 0 ; +6 bytes 2.29 +WaitForKey equ 0 ; +5 bytes 2.30 SectorOf512Bytes equ 0 ; -4/-6 bytes 2.31 -CheckAttrib equ 0 ; +6 bytes 2.32 +Always2FATs equ 0 ; -1 bytes 2.33 2.34 [BITS 16] 2.35 [CPU 8086] 2.36 @@ -115,10 +125,10 @@ 2.37 ;; BPB starts here ;; 2.38 ;;;;;;;;;;;;;;;;;;;;; 2.39 2.40 -bpbBytesPerSector DW 0 ; 0x0B 2.41 -bpbSectorsPerCluster DB 0 ; 0x0D 2.42 -bpbReservedSectors DW 0 ; 0x0E 2.43 -bpbNumberOfFATs DB 0 ; 0x10 2.44 +bpbBytesPerSector DW 0 ; 0x0B 512, 1024, 2048 or 4096 2.45 +bpbSectorsPerCluster DB 0 ; 0x0D 1, 2, 4, 8, 16, 32 or 64 2.46 +bpbReservedSectors DW 0 ; 0x0E 1 2.47 +bpbNumberOfFATs DB 0 ; 0x10 2 2.48 bpbRootEntries DW 0 ; 0x11 2.49 bpbTotalSectors DW 0 ; 0x13 2.50 bpbMedia DB 0 ; 0x15 2.51 @@ -134,7 +144,7 @@ 2.52 2.53 bsDriveNumber DB 0 ; 0x24 2.54 bsUnused DB 0 ; 0x25 2.55 -bsExtBootSignature DB 0 ; 0x26 2.56 +bsExtBootSignature DB 0 ; 0x26 29 2.57 bsSerialNumber DD 0 ; 0x27 2.58 bsVolumeLabel times 11 DB " " ; 0x2B "NO NAME " 2.59 bsFileSystem times 8 DB " " ; 0x36 "FAT12 " or "FAT16 " 2.60 @@ -199,21 +209,23 @@ 2.61 ;;;;;;;;;;;;;;;;;;;;;;;;;; 2.62 2.63 %if GeometryCheck != 0 2.64 - mov ah, 8 2.65 + %if ((main-boot) & 3Fh) != 0 2.66 + xchg ax, cx ; ax & 3Fh == 0 2.67 + %endif 2.68 + mov ah, 8 ; update AX,BL,CX,DX,DI, and ES registers 2.69 int 13h ; may destroy SI,BP, and DS registers 2.70 %endif 2.71 - ; update AX,BL,CX,DX,DI, and ES registers 2.72 push cs 2.73 pop ds 2.74 xor bx, bx 2.75 2.76 %if GeometryCheck != 0 2.77 and cx, byte 3Fh 2.78 - cmp [bx(bpbSectorsPerTrack)], cx 2.79 - jne BadParams ; verify updated and validity 2.80 - mov al, dh 2.81 - inc ax 2.82 - mov [bpbHeadsPerCylinder], ax 2.83 + je BadParams ; verify updated and validity 2.84 + mov [bx(bpbSectorsPerTrack)], cx 2.85 + mov cl, dh 2.86 + inc cx 2.87 + mov [bx(bpbHeadsPerCylinder)], cx 2.88 BadParams: 2.89 %endif 2.90 2.91 @@ -246,7 +258,11 @@ 2.92 xchg ax, di ; di = root directory size in sectors, clear ah 2.93 %endif 2.94 2.95 +%if Always2FATs != 0 2.96 + mov al, 2 2.97 +%else 2.98 mov al, [bpbNumberOfFATs] 2.99 +%endif 2.100 mul bp ; [bx(bpbSectorsPerFAT)], set by ReadDISectors 2.101 2.102 push es ; read root directory 2.103 @@ -282,7 +298,7 @@ 2.104 pop di 2.105 je FindNameFound 2.106 %if NullEntryCheck != 0 2.107 - scasb ; Z == NC 2.108 + scasb ; Z == NC 2.109 cmc 2.110 lea di, [di+31] 2.111 dec word [bx(bpbRootEntries)] 2.112 @@ -327,6 +343,9 @@ 2.113 push di ; up to 2 * 635K / BytesPerCluster = 2540 bytes 2.114 %if FAT12 == 1 2.115 mov cl, 12 2.116 +%else 2.117 + nop 2.118 + nop 2.119 %endif 2.120 ClusterLoop: 2.121 mov [di], si 2.122 @@ -351,6 +370,9 @@ 2.123 %if FAT12 == 1 2.124 add si, [di] 2.125 shr si, 1 ; si = cluster * 3 / 2 2.126 +%else 2.127 + nop 2.128 + nop 2.129 %endif 2.130 %if FAT16 == 1 2.131 ReadClusterFat16: 2.132 @@ -502,11 +524,11 @@ 2.133 int 10h 2.134 cmp al, "." 2.135 jne PutStr 2.136 - 2.137 + %if WaitForKey != 0 2.138 cbw 2.139 int 16h ; wait for a key... 2.140 int 19h ; bootstrap 2.141 - 2.142 + %endif 2.143 Stop: 2.144 hlt 2.145 jmp short Stop 2.146 @@ -523,7 +545,7 @@ 2.147 ;; CX = 0 ;; 2.148 ;; DI = 0 ;; 2.149 ;; DL = drive number ;; 2.150 -;; DX:BP = next LBA from FAT ;; 2.151 +;; 0:BP = next LBA from FAT ;; 2.152 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 2.153 2.154 ReadDISectors: 2.155 @@ -544,6 +566,7 @@ 2.156 ;; BX = 0 ;; 2.157 ;; CX or DI = 0 ;; 2.158 ;; DL = drive number ;; 2.159 +;; Keep: BP, SI ;; 2.160 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 2.161 2.162 ReadSectors: 2.163 @@ -575,23 +598,25 @@ 2.164 push di 2.165 %endif 2.166 2.167 -%if Over2GB != 0 2.168 xchg ax, cx ; save low LBA 2.169 xchg ax, dx ; get high LBA 2.170 cwd ; clear dx (LBA offset <1TB) 2.171 idiv word [bx(bpbSectorsPerTrack)] ; up to 8GB disks 2.172 2.173 + %if CHSsanityCheck != 0 2.174 + inc ax 2.175 + cmp ax, [bx(bpbHeadsPerCylinder)] 2.176 + ja CHSoverflow 2.177 + dec ax 2.178 + %endif 2.179 xchg ax, cx ; restore low LBA, save high LBA / SPT 2.180 -%else 2.181 - xor cx, cx ; up to 2GB disks otherwise divide error interrupt ! 2.182 -%endif 2.183 idiv word [bx(bpbSectorsPerTrack)] 2.184 ; ax = LBA / SPT 2.185 ; dx = LBA % SPT = sector - 1 2.186 inc dx 2.187 2.188 xchg cx, dx ; restore high LBA / SPT, save sector no. 2.189 - idiv word [bx(bpbHeadsPerCylinder)] 2.190 + idiv word [bx(bpbHeadsPerCylinder)] ; may overflow if SectorsPerTrack * HeadsPerCylinder < 256 or disk > 8GB 2.191 ; ax = (LBA / SPT) / HPC = cylinder 2.192 ; dx = (LBA / SPT) % HPC = head 2.193 2.194 @@ -604,21 +629,43 @@ 2.195 mov dh, dl 2.196 ; dh = head no. 2.197 2.198 -ReadSectorRetry: 2.199 +%if CHSsanityCheck != 0 2.200 + %if LBAsupport != 0 2.201 + or ah, [si+8+3] ; 8GB max, last cylinder 1023 2.202 + %else 2.203 + or ah, [si+2+3] ; 8GB max, last cylinder 1023 2.204 + %endif 2.205 +%endif 2.206 +CHSoverflow: 2.207 mov dl, [bx(DriveNumber)] 2.208 ; dl = drive no. 2.209 mov si, sp 2.210 +%if CHSsanityCheck != 0 2.211 + %if ReadRetry != 0 || LBAsupport != 0 2.212 + pushf 2.213 + %endif 2.214 +%endif 2.215 + 2.216 +ReadSectorRetry: 2.217 %if LBAsupport != 0 2.218 mov ah, 42h ; ah = 42h = extended read function no. 2.219 int 13h ; extended read sectors (DL, DS:SI) 2.220 jnc ReadSectorNextSegment 2.221 %endif 2.222 +%if CHSsanityCheck != 0 2.223 + %if ReadRetry != 0 || LBAsupport != 0 2.224 + popf 2.225 + pushf 2.226 + %endif 2.227 + jne SkipCHS 2.228 +%endif 2.229 2.230 mov ax, 201h ; al = sector count = 1 2.231 ; ah = 2 = read function no. 2.232 int 13h ; read sectors (AL, CX, DX, ES:BX) 2.233 2.234 jnc ReadSectorNextSegment 2.235 +SkipCHS: 2.236 %if ReadRetry != 0 2.237 cbw ; ah = 0 = reset function 2.238 int 13h ; reset drive (DL) 2.239 @@ -627,29 +674,34 @@ 2.240 jnz ReadSectorRetry ; up to 15 extra attempt 2.241 %endif 2.242 2.243 +ReadError: 2.244 call Error 2.245 db "Read error." 2.246 2.247 ReadSectorNextSegment: 2.248 +%if CHSsanityCheck != 0 && (ReadRetry != 0 || LBAsupport != 0) 2.249 + popf 2.250 +%endif 2.251 + 2.252 +%macro adjust_es 2 2.253 + %if SectorOf512Bytes != 0 2.254 + add word %1, byte 32 ; adjust segment for next sector 2.255 + %else 2.256 + %if %2 != 0 2.257 + mov al, %2 2.258 + %endif 2.259 + mul byte [bx(bpbBytesPerSector)+1] ; = (bpbBytesPerSector/256)*16 2.260 + add %1, ax ; adjust segment for next sector 2.261 + %endif 2.262 +%endmacro 2.263 2.264 %if LBAsupport != 0 2.265 pop ax ; al = 16 2.266 - %if SectorOf512Bytes != 0 2.267 - add word [si+6], byte 32 ; adjust segment for next sector 2.268 - %else 2.269 - mul byte [bx(bpbBytesPerSector)+1] ; = (bpbBytesPerSector/256)*16 2.270 - add [si+6], ax ; adjust segment for next sector 2.271 - %endif 2.272 + adjust_es [si+6], 0 2.273 pop cx ; sector count = 1 2.274 pop bx 2.275 %else 2.276 - %if SectorOf512Bytes != 0 2.277 - add word [si], byte 32 ; adjust segment for next sector 2.278 - %else 2.279 - mov al, 16 2.280 - mul byte [bx(bpbBytesPerSector)+1] ; = (bpbBytesPerSector/256)*16 2.281 - add [si], ax ; adjust segment for next sector 2.282 - %endif 2.283 + adjust_es [si], 16 2.284 %endif 2.285 pop es ; es:0 updated 2.286 pop ax
3.1 --- a/BootProg/stuff/boot32.asm Sat May 06 08:42:03 2023 +0000 3.2 +++ b/BootProg/stuff/boot32.asm Thu May 11 15:58:49 2023 +0000 3.3 @@ -25,6 +25,14 @@ 3.4 ;; instruction and lets the BIOS continue bootstrap. ;; 3.5 ;; ;; 3.6 ;; ;; 3.7 +;; Known Limitation: ;; 3.8 +;; ~~~~~~~~~~~~~~~~~ ;; 3.9 +;; - Need a up to date field bpbHiddenSectors to work in a partition ; ;; 3.10 +;; most formatters don't update it correcly in extended partitions. ;; 3.11 +;; ;; 3.12 +;; - Requires i80386 or better CPU. ;; 3.13 +;; ;; 3.14 +;; ;; 3.15 ;; Known Bugs: ;; 3.16 ;; ~~~~~~~~~~~ ;; 3.17 ;; - All bugs are fixed as far as I know. The boot sector has been tested ;; 3.18 @@ -86,13 +94,15 @@ 3.19 NonMirroredFATs equ 1 ; +18 bytes 3.20 ReadRetry equ 1 ; +7 bytes 3.21 LBA48bits equ 1 ; +15 bytes 3.22 -CHSsupport equ 1 ; +27 bytes max 16MB, 32MB or 8GB 3.23 -CHSupTo32MB equ 1 ; +6 bytes 3.24 -CHSupTo8GB equ 1 ; +14 bytes 3.25 +CHSsupport equ 1 ; +27 bytes max 8GB 3.26 +CHSgeometryCheck equ 1 ; +18 bytes 3.27 +CHSsanityCheck equ 1 ; +5 bytes 3.28 SectorOf512Bytes equ 0 ; -5 bytes 3.29 Always2FATs equ 0 ; -4 bytes 3.30 +WaitForKey equ 0 ; +5 bytes 3.31 3.32 [BITS 16] 3.33 +[CPU 386] 3.34 3.35 ImageLoadSeg equ 60h ; <=07Fh because of "push byte ImageLoadSeg" instructions 3.36 StackSize equ 512 3.37 @@ -115,14 +125,14 @@ 3.38 ;; BPB1 starts here ;; 3.39 ;;;;;;;;;;;;;;;;;;;;;; 3.40 3.41 -bpbBytesPerSector DW 0 ; 0x0B 3.42 -bpbSectorsPerCluster DB 0 ; 0x0D 3.43 -bpbReservedSectors DW 0 ; 0x0E 3.44 -bpbNumberOfFATs DB 0 ; 0x10 3.45 -bpbRootEntries DW 0 ; 0x11 3.46 -bpbTotalSectors DW 0 ; 0x13 3.47 -bpbMedia DB 0 ; 0x15 3.48 -bpbSectorsPerFAT DW 0 ; 0x16 3.49 +bpbBytesPerSector DW 0 ; 0x0B 512, 1024, 2048 or 4096 3.50 +bpbSectorsPerCluster DB 0 ; 0x0D 1, 2, 4, 8, 16, 32, 64 or 128 3.51 +bpbReservedSectors DW 0 ; 0x0E 32 3.52 +bpbNumberOfFATs DB 0 ; 0x10 2 3.53 +bpbRootEntries DW 0 ; 0x11 0 3.54 +bpbTotalSectors DW 0 ; 0x13 0 3.55 +bpbMedia DB 0 ; 0x15 F8, F0 3.56 +bpbSectorsPerFAT DW 0 ; 0x16 0 3.57 bpbSectorsPerTrack DW 0 ; 0x18 3.58 bpbHeadsPerCylinder DW 0 ; 0x1A 3.59 bpbHiddenSectors DD 0 ; 0x1C 3.60 @@ -145,7 +155,7 @@ 3.61 bsreserved times 12 DB 0 ; 0x34 3.62 bsDriveNumber DB 0 ; 0x40 3.63 bsreserved1 DB 0 ; 0x41 3.64 -bsExtendedBootSignature DB 0 ; 0x42 3.65 +bsExtendedBootSignature DB 0 ; 0x42 29 3.66 bsVolumeSerialNumber DD 0 ; 0x43 3.67 bsVolumeLabel times 11 DB " " ; 0x47 "NO NAME " 3.68 bsFileSystemName times 8 DB " " ; 0x52 "FAT32 " 3.69 @@ -200,23 +210,44 @@ 3.70 %else 3.71 push byte main 3.72 %endif 3.73 - push es 3.74 - pop ds 3.75 retf 3.76 3.77 %if ExtraBootSector != 0 3.78 %macro MovedCode 0 3.79 %endif 3.80 main: 3.81 - xor ebx, ebx 3.82 %if ExtraBootSector != 0 3.83 add al, 32 3.84 - mov es, ax 3.85 - mov eax, [bx(bpbHiddenSectors)] 3.86 - inc eax 3.87 - %if LBA48bits != 0 3.88 - mov [bx(HiLBA)], bx 3.89 - %endif 3.90 + push ax 3.91 +%endif 3.92 +;;;;;;;;;;;;;;;;;;;;;;;;;; 3.93 +;; Get drive parameters ;; 3.94 +;; Update heads count ;; 3.95 +;; for current BIOS ;; 3.96 +;;;;;;;;;;;;;;;;;;;;;;;;;; 3.97 + 3.98 +%if CHSgeometryCheck != 0 3.99 + mov ah, 8 ; update AX,BL,CX,DX,DI, and ES registers 3.100 + int 13h ; may destroy SI,BP, and DS registers 3.101 +%endif 3.102 + push cs 3.103 + pop ds 3.104 + xor ebx, ebx 3.105 + 3.106 +%if CHSgeometryCheck != 0 3.107 + and cx, byte 3Fh 3.108 + je BadParams ; verify updated and validity 3.109 + mov [bx(bpbSectorsPerTrack)], cx 3.110 + mov cl, dh 3.111 + inc cx 3.112 + mov [bx(bpbHeadsPerCylinder)], cx 3.113 + xor cx, cx 3.114 +BadParams: 3.115 +%endif 3.116 +%if ExtraBootSector != 0 3.117 + pop es 3.118 + mul ebx ; edx:eax = 0 3.119 + inc ax 3.120 call ReadSectorBoot 3.121 push ds 3.122 pop ss 3.123 @@ -258,9 +289,9 @@ 3.124 mov cl, NameLength 3.125 mov si, ProgramName ; ds:si -> program name 3.126 repe cmpsb 3.127 -%if CheckAttrib != 0 3.128 VolumeLabel equ 8 3.129 SubDirectory equ 10h 3.130 +%if CheckAttrib != 0 3.131 jnz SkipFindName 3.132 test byte [es:di], VolumeLabel+SubDirectory 3.133 SkipFindName: 3.134 @@ -277,6 +308,10 @@ 3.135 ErrFind: 3.136 call Error ; end of root directory (dir end reached) 3.137 db "File not found." 3.138 +%if ExtraBootSector != 0 3.139 +%endm 3.140 +%macro BootFileName 0 3.141 +%endif 3.142 FindNameFound: 3.143 push word [es:di+14h-11] 3.144 push word [es:di+1Ah-11] 3.145 @@ -331,7 +366,7 @@ 3.146 jmp short Run 3.147 %if ExtraBootSector != 0 3.148 %endm 3.149 -%macro BootFileName 0 3.150 +%macro BootCode 0 3.151 %endif 3.152 3.153 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 3.154 @@ -400,9 +435,11 @@ 3.155 int 10h 3.156 cmp al, '.' 3.157 jne puts 3.158 +%if WaitForKey != 0 3.159 cbw 3.160 int 16h ; wait for a key... 3.161 int 19h ; bootstrap 3.162 +%endif 3.163 3.164 Stop: 3.165 hlt 3.166 @@ -428,7 +465,7 @@ 3.167 mov bp, [bx(bpbBytesPerSector)] 3.168 shr bp, 4 ; bp = paragraphs per sector 3.169 %endif 3.170 - mov dx, 1 ; adjust LBA for next sector 3.171 + inc eax ; adjust LBA for next sector 3.172 inc cx 3.173 loop ReadSectorLBA 3.174 3.175 @@ -444,17 +481,17 @@ 3.176 3.177 imul si, dx, byte 4 ; si=entry # in sector, clear C 3.178 %if NonMirroredFATs != 0 3.179 - cwde 3.180 + cdq 3.181 or dl, byte [bx(bsExtendedFlags)] 3.182 jns MirroredFATs ; Non-mirrored FATs ? 3.183 and dl, 0Fh 3.184 imul edx, dword [bx(bsSectorsPerFAT32)] ; we need to read the active one 3.185 add eax, edx 3.186 MirroredFATs: 3.187 - cwde 3.188 + cdq 3.189 %else 3.190 %if LBA48bits != 0 3.191 - xor dx, dx 3.192 + cdq 3.193 %endif 3.194 %endif 3.195 call ReadSectorLBAfromFAT ; read 1 FAT32 sector 3.196 @@ -475,45 +512,48 @@ 3.197 movzx ecx, byte [bx(bpbSectorsPerCluster)] ; 8..128 3.198 mul ecx ; edx:eax=sector number in data area 3.199 add eax, edi 3.200 -%if LBA48bits != 0 3.201 - adc dx, bx 3.202 -%endif 3.203 3.204 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 3.205 ;; Reads a sector form the start of FAT ;; 3.206 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 3.207 3.208 ReadSectorLBAfromFAT: 3.209 - add eax, [bx(bpbHiddenSectors)] 3.210 %if LBA48bits != 0 3.211 - adc dx, bx 3.212 - mov word [bx(HiLBA)], dx 3.213 + push dx 3.214 %endif 3.215 mov dx, [bx(bpbReservedSectors)] 3.216 + add eax, edx 3.217 +ReadSectorLBAfromFAT: 3.218 + pop dx ; 16TB FAT32 max 3.219 + adc dx, bx 3.220 +ReadSectorBoot: 3.221 + mov [bx(HiLBA)], dx 3.222 +%endif 3.223 3.224 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 3.225 ;; Reads a sector using BIOS Int 13h fn 42h ;; 3.226 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 3.227 -;; Input: EAX = LBA ;; 3.228 -;; CX = sector count ;; 3.229 +;; Input: EAX+EDX = LBA ;; 3.230 ;; ES:BX -> buffer address ;; 3.231 +;; Keep: ESI = next cluster ;; 3.232 +;; EDI = data cluster ;; 3.233 +;; BP = paragraphs / sector ;; 3.234 +;; CX = sector count ;; 3.235 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 3.236 3.237 ReadSectorLBA: 3.238 - add eax, edx 3.239 %if LBA48bits != 0 3.240 - adc word [bx(HiLBA)], bx 3.241 + mov dx, [bx(HiLBA)] 3.242 +%else 3.243 + xor dx, dx ; 2TB FAT32 max 3.244 +ReadSectorBoot: 3.245 %endif 3.246 -ReadSectorBoot: 3.247 - mov dx, [bx(DriveNumber)] ; restore BIOS boot drive number 3.248 - pusha 3.249 + pushad 3.250 3.251 - push bx 3.252 -%if LBA48bits != 0 3.253 - push word [bx(HiLBA)] ; 48-bit LBA 3.254 -%else 3.255 - push bx 3.256 -%endif 3.257 + add eax, [bx(bpbHiddenSectors)] 3.258 + adc dx, bx ; 2TB partition offset max 3.259 + 3.260 + push edx 3.261 push eax 3.262 push es 3.263 push bx 3.264 @@ -521,58 +561,56 @@ 3.265 push byte 16 ; packet size byte = 16, reserved byte = 0 3.266 3.267 %if CHSsupport != 0 3.268 - %if CHSupTo8GB != 0 3.269 - push eax 3.270 - pop cx ; save low LBA 3.271 - pop ax ; get high LBA 3.272 - cwd ; clear dx (assume LBA offset <1TB) 3.273 - idiv word [bx(bpbSectorsPerTrack)] ; up to 8GB disks, avoid divide error 3.274 - 3.275 - xchg ax, cx ; restore low LBA, save high LBA / SPT 3.276 - %else 3.277 ; Busybox mkdosfs creates fat32 for floppies. 3.278 ; Floppies may support CHS only. 3.279 - %if CHSupTo32MB != 0 3.280 - xor dx, dx ; clear dx (LBA offset <32MB) 3.281 - %else 3.282 - cwd ; clear dx (LBA offset <16MB) 3.283 - %endif 3.284 - xor cx, cx ; high LBA / SPT = 0 3.285 + %if LBA48bits != 0 3.286 +; The following check is only useful with bpbSectorsPerTrack < 8 with disk > 4TB... 3.287 +; setnz dl ; force cylinder overflow without divide error 3.288 %endif 3.289 - idiv word [bx(bpbSectorsPerTrack)] 3.290 - ; ax = LBA / SPT 3.291 - ; dx = LBA % SPT = sector - 1 3.292 + movzx ecx, word [bx(bpbSectorsPerTrack)] 3.293 + idiv ecx 3.294 + ; eax = LBA / SPT 3.295 + ; edx = LBA % SPT = sector - 1 3.296 inc dx 3.297 - 3.298 - xchg cx, dx ; restore high LBA / SPT, save sector no. 3.299 - idiv word [bx(bpbHeadsPerCylinder)] 3.300 - ; ax = (LBA / SPT) / HPC = cylinder 3.301 - ; dx = (LBA / SPT) % HPC = head 3.302 + push dx ; save sector no. 3.303 + cdq 3.304 + mov cx, word [bx(bpbHeadsPerCylinder)] 3.305 + idiv ecx 3.306 + pop cx 3.307 + ; eax = (LBA / SPT) / HPC = cylinder 3.308 + ; dl = (LBA / SPT) % HPC = head 3.309 3.310 xchg ch, al ; clear al 3.311 ; ch = LSB 0...7 of cylinder no. 3.312 - %if CHSupTo8GB != 0 || CHSupTo32MB != 0 3.313 - shr ax, 2 3.314 - or cl, al 3.315 + %if CHSsanityCheck != 0 3.316 + shl eax, 6 3.317 + %else 3.318 + shl ax, 6 3.319 + %endif 3.320 + or cl, ah 3.321 ; cl = MSB 8...9 of cylinder no. + sector no. 3.322 - %endif 3.323 mov dh, dl 3.324 ; dh = head no. 3.325 - mov dl, [bx(DriveNumber)] ; restore BIOS boot drive number 3.326 %endif 3.327 3.328 ReadSectorRetry: 3.329 + mov dl, [bx(DriveNumber)] ; restore BIOS boot drive number 3.330 mov si, sp 3.331 mov ah, 42h ; ah = 42h = extended read function no. 3.332 int 13h ; extended read sectors (DL, DS:SI) 3.333 jnc ReadSuccess ; CF = 0 if no error 3.334 3.335 %if CHSsupport != 0 3.336 + %if CHSsanityCheck != 0 3.337 + cmp eax, 0FFFFh ; max cylinder = 1023 3.338 + ja SkipCHS 3.339 + %endif 3.340 mov ax, 201h ; al = sector count = 1 3.341 ; ah = 2 = read function no. 3.342 int 13h ; read sectors (AL, CX, DX, ES:BX) 3.343 3.344 jnc ReadSuccess ; CF = 0 if no error 3.345 +SkipCHS: 3.346 %endif 3.347 %if ReadRetry != 0 3.348 %if CHSsupport != 0 3.349 @@ -592,11 +630,13 @@ 3.350 ReadSuccess: 3.351 3.352 popa ; sp += 16 3.353 - popa 3.354 + popad 3.355 + mov dx, [bx(DriveNumber)] ; restore BIOS boot drive number 3.356 ret 3.357 3.358 %if ExtraBootSector != 0 3.359 MovedCode 3.360 + BootCode 3.361 %endif 3.362 3.363 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 3.364 @@ -616,11 +656,11 @@ 3.365 ;; End of the sector ID ;; 3.366 ;;;;;;;;;;;;;;;;;;;;;;;;;; 3.367 3.368 - dw 0AA55h ; BIOS checks for this ID 3.369 + dw 0AA55h ; BIOS checks for this ID 3.370 3.371 %if ExtraBootSector != 0 3.372 - dd 61415252h ; "RRaA" 3.373 - BootFileName 3.374 - times (996-($-$$)) db 0 3.375 -; dd 41617272h ; "rrAa" 3.376 + dd 61415252h ; "RRaA" 3.377 + BootFileName 3.378 + times (996-($-$$)) db 0 3.379 +; dd 41617272h ; "rrAa" 3.380 %endif
4.1 --- a/BootProg/stuff/bootex.asm Sat May 06 08:42:03 2023 +0000 4.2 +++ b/BootProg/stuff/bootex.asm Thu May 11 15:58:49 2023 +0000 4.3 @@ -82,6 +82,9 @@ 4.4 ReadRetry equ 1 ; +8 bytes 4.5 SectorOf512Bytes equ 0 ; -11 bytes 4.6 CheckAttrib equ 0 ; +18 bytes 4.7 +WaitForKey equ 0 ; +5 bytes 4.8 +TfatSupport equ 1 ; +10 bytes 4.9 +CheckLBAsupport equ 0 ; +11/21 bytes 4.10 4.11 [BITS 16] 4.12 [CPU 386] 4.13 @@ -117,11 +120,11 @@ 4.14 bpbVolumeSerial DD 0 ; 0x64 volume serial number 4.15 bpbFSVersionMinor DB 0 ; 0x68 4.16 bpbFSVersionMajor DB 0 ; 0x69 4.17 -bpbVolumeStateFlags DW 0 ; 0x6A 4.18 +bpbVolumeStateFlags DW 0 ; 0x6A bit0 = fat used, bit1 = dirty, bit2 = media error 4.19 bpbSectorSizeBits DB 0 ; 0x6C sector size as (1 << n) 4.20 bpbSectorPerClusterBits DB 0 ; 0x6D sector per cluster as (1 << n) 4.21 -bpbNumberOfFATs DB 0 ; 0x6E always 1 4.22 -bpbDriveNumber DB 0 ; 0x6F alaways 0x80 4.23 +bpbNumberOfFATs DB 0 ; 0x6E always 1 or 2 (Tfat case) 4.24 +bpbDriveNumber DB 0 ; 0x6F always 0x80 4.25 bpbAllocatedPercent DB 0 ; 0x70 percentage of allocated space 4.26 4.27 ;;;;;;;;;;;;;;;;;;; 4.28 @@ -170,7 +173,21 @@ 4.29 push word main 4.30 retf 4.31 4.32 +%if CheckLBAsupport != 0 4.33 +%macro BootFileName 0 4.34 main: 4.35 + mov ah, 41h ; clobbers AX, BX, CX, DH 4.36 + mov bx, 55AAh 4.37 + int 13h 4.38 + jc ReadError 4.39 +; xor bx, 0AA55h 4.40 +; jnz ReadError 4.41 +; shr cx, 1 ; function 42h support ? 4.42 +; jnc ReadError 4.43 + xor cx, cx 4.44 +%else 4.45 +main: 4.46 +%endif 4.47 push cs 4.48 pop ds 4.49 4.50 @@ -205,46 +222,45 @@ 4.51 FindNameCycle: 4.52 pusha 4.53 4.54 +%if NullEntryCheck != 0 4.55 + xor ax, ax 4.56 + or al, [es:di] 4.57 + je FindNameFailed 4.58 + %define curtag al 4.59 + %define chktag al 4.60 +%else 4.61 + %define curtag byte [es:di] 4.62 + %define chktag ax 4.63 +%endif 4.64 + cmp curtag, 0c0h ; EXFAT_ENTRY_FILE_INFO ? 4.65 + jne NotFileInfo 4.66 + 4.67 + mov bl, 32 4.68 +CopyInfo: 4.69 + mov [bx], al 4.70 + dec bx 4.71 + mov al, [es:di+bx] 4.72 + jnz CopyInfo ; keep BIOS boot drive number 4.73 + 4.74 +NotFileInfo: 4.75 %if CheckAttrib != 0 4.76 Attributes equ 0Bh ; 1 byte 4.77 - cmp byte [es:di], 85h ; EXFAT_ENTRY_FILE ? 4.78 + cmp curtag, 85h ; EXFAT_ENTRY_FILE ? 4.79 jne NotEntryFile 4.80 mov al, [es:di+Attributes] 4.81 mov [ProgramName+NameLength+1], al 4.82 NotEntryFile: 4.83 %endif 4.84 -%if NullEntryCheck != 0 4.85 - xor ax, ax 4.86 - or al, [es:di] 4.87 - je FindNameFailed 4.88 - cmp al, 0c0h ; EXFAT_ENTRY_FILE_INFO ? 4.89 -%else 4.90 - cmp byte [es:di], 0c0h ; EXFAT_ENTRY_FILE_INFO ? 4.91 -%endif 4.92 - jne NotFileInfo 4.93 - 4.94 - mov bl, 31 4.95 -CopyInfo: 4.96 - mov al, [es:di+bx] 4.97 - mov [bx], al 4.98 - dec bx 4.99 - jnz CopyInfo ; keep BIOS boot drive number 4.100 - 4.101 -NotFileInfo: 4.102 -%if NullEntryCheck != 0 4.103 - mov al, 0c1h ; EXFAT_ENTRY_FILE_NAME ? 4.104 -%else 4.105 - mov ax, 0c1h ; EXFAT_ENTRY_FILE_NAME ? 4.106 -%endif 4.107 + mov chktag, 0c1h ; EXFAT_ENTRY_FILE_NAME ? 4.108 mov cx, NameLength+1 4.109 mov si, ProgramName ; ds:si -> program name 4.110 CheckName: 4.111 scasw ; compare UTF-16 4.112 lodsb ; with ASCII 4.113 loope CheckName 4.114 -%if CheckAttrib != 0 4.115 VolumeLabel equ 8 4.116 SubDirectory equ 10h 4.117 +%if CheckAttrib != 0 4.118 jnz SkipFindName 4.119 test byte [si], VolumeLabel+SubDirectory 4.120 SkipFindName: 4.121 @@ -370,6 +386,9 @@ 4.122 ;; All done, transfer control to the program now ;; 4.123 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 4.124 retf 4.125 +%if CheckLBAsupport != 0 4.126 +%endm 4.127 +%endif 4.128 4.129 ;;;;;;;;;;;;;;;;;;;;;;;;;; 4.130 ;; Error Messaging Code ;; 4.131 @@ -385,11 +404,11 @@ 4.132 int 10h 4.133 cmp al, "." 4.134 jne PutStr 4.135 - 4.136 +%if WaitForKey != 0 4.137 cbw 4.138 int 16h ; wait for a key... 4.139 int 19h ; bootstrap 4.140 - 4.141 +%endif 4.142 Stop: 4.143 hlt 4.144 jmp short Stop 4.145 @@ -398,6 +417,7 @@ 4.146 ;; Reads a exFAT cluster ;; 4.147 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 4.148 ;; Input: EDX:EAX = LBA ;; 4.149 +;; EBX = 0 ;; 4.150 ;; CX = sector cnt ;; 4.151 ;; ESI = cluster no ;; 4.152 ;; ES:0 -> buffer adrs ;; 4.153 @@ -406,7 +426,6 @@ 4.154 ;; ESI = cluster no ;; 4.155 ;; EBP = bytes/sector;; 4.156 ;; Keep: EDI = 0 ;; 4.157 -;; EBX = 0 ;; 4.158 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 4.159 4.160 ReadCluster: 4.161 @@ -418,9 +437,11 @@ 4.162 mul ebx ; edx:eax = 0 4.163 %if SectorOf512Bytes != 0 4.164 mov al, 128 4.165 +%define SectorPerClusterBits [bx(bpbSectorPerClusterBits)] 4.166 %else 4.167 mov ah, 40h 4.168 mov cx, [bx(bpbSectorSizeBits)] 4.169 +%define SectorPerClusterBits ch 4.170 rol ax, cl ; eax=# of exFAT entries per sector 4.171 %endif 4.172 lea edi, [esi-2] ; edi=cluster #-2 4.173 @@ -431,15 +452,17 @@ 4.174 4.175 cdq 4.176 add eax, [bx(bpbFatSectorStart)] ; sector # relative to exFAT 4.177 +%if TfatSupport 4.178 + test byte [bx(bpbVolumeStateFlags)], 1 4.179 + jz UseFat0 4.180 + add eax, [bx(bpbFatSectorCount)] 4.181 +UseFat0: 4.182 +%endif 4.183 call ReadSectorFAT ; read 1 exFAT sector, keep edx=0, set C 4.184 4.185 mov esi, [es:si] ; esi=next cluster # 4.186 4.187 -%if SectorOf512Bytes != 0 4.188 - mov dl, [bx(bpbSectorPerClusterBits)] 4.189 -%else 4.190 - mov dl, ch 4.191 -%endif 4.192 + mov dl, SectorPerClusterBits 4.193 xor ecx, ecx 4.194 bts ecx, edx ; 10000h max (32MB cluster) 4.195 xchg eax, edi ; get cluster #-2 4.196 @@ -455,12 +478,12 @@ 4.197 ;; Reads a sector using BIOS Int 13h ;; 4.198 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 4.199 ;; Input: EDX:EAX = LBA ;; 4.200 +;; EBX = 0 ;; 4.201 ;; ES:0 -> buffer address ;; 4.202 ;; Output: EBP = bytes/sector ;; 4.203 ;; Keep: ESI = cluster ;; 4.204 ;; EDI = FAT sector or 0 ;; 4.205 ;; ECX = sector count ;; 4.206 -;; EBX = 0 ;; 4.207 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 4.208 4.209 %if SectorOf512Bytes != 0 4.210 @@ -503,6 +526,7 @@ 4.211 %endif 4.212 %endif 4.213 4.214 +ReadError: 4.215 call Error 4.216 db "Read error." 4.217 4.218 @@ -515,6 +539,10 @@ 4.219 popad ; real registers 4.220 ret 4.221 4.222 +%if CheckLBAsupport != 0 4.223 + BootFileName 4.224 +%endif 4.225 + 4.226 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 4.227 ;; Fill free space with zeroes ;; 4.228 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
5.1 --- a/BootProg/stuff/bootprog.sh Sat May 06 08:42:03 2023 +0000 5.2 +++ b/BootProg/stuff/bootprog.sh Thu May 11 15:58:49 2023 +0000 5.3 @@ -19,15 +19,15 @@ 5.4 esac | $w=499 count=11 5.5 case "$f" in 5.6 *32) $w=$(($(od -An -j50 -N2 -d $1)<<9)) if=$1 count=$s;; 5.7 - E*) $r=11 bs=1b | od -vAn -tu1 -w1 - | LANG=C awk 'BEGIN { a=0;i=-1;m=0xFFFFFFFE } 5.8 -{ if (++i!=106 && i!=107 && i!=112) a=or(and(lshift(a,31),m),and(rshift(a,1),m/2))+$1 } 5.9 + E*) $r=11 bs=1b | od -vAn -tu1 -w1 - | LANG=C awk ' 5.10 +{ if (++i!=107 && i!=108 && i!=113) a=or(lshift(and(a,1),31),$1+a/2) } 5.11 END { b=a/256;c=b/256; for (;i>0;i-=44) printf "%c%c%c%c",a%256,b%256,c%256,(c/256)%256 }' | $w=5632 5.12 esac 5.13 exit 0 5.14 done<<S 2>/dev/null 5.15 54 59 0 512 FAT12 5.16 -54 59 0 512 FAT16 5.17 -3 113 512 512 EXFAT 5.18 -82 87 1024 FAT32SZ FAT32 5.19 +54 59 512 512 FAT16 5.20 +3 113 1024 512 EXFAT 5.21 +82 87 1536 FAT32SZ FAT32 5.22 S 5.23 exit 1
6.1 --- a/libjreen-dev/receipt Sat May 06 08:42:03 2023 +0000 6.2 +++ b/libjreen-dev/receipt Thu May 11 15:58:49 2023 +0000 6.3 @@ -6,7 +6,7 @@ 6.4 SHORT_DESC="Qt jabber library, written in C++ - development files." 6.5 MAINTAINER="devl547@gmail.com" 6.6 LICENSE="GPL2" 6.7 -WEB_SITE="http://qutim.org/jreen" 6.8 +WEB_SITE="https://github.com/euroelessar/jreen" 6.9 6.10 DEPENDS="libjreen pkg-config" 6.11 WANTED="libjreen"
7.1 --- a/libjreen/receipt Sat May 06 08:42:03 2023 +0000 7.2 +++ b/libjreen/receipt Thu May 11 15:58:49 2023 +0000 7.3 @@ -6,10 +6,10 @@ 7.4 SHORT_DESC="Qt jabber library, written in C++." 7.5 MAINTAINER="devl547@gmail.com" 7.6 LICENSE="GPL2" 7.7 -WEB_SITE="http://qutim.org/jreen" 7.8 +WEB_SITE="https://github.com/euroelessar/jreen" 7.9 7.10 -TARBALL="$PACKAGE-$VERSION.tar.bz2" 7.11 -WGET_URL="http://qutim.org/dwnl/73/$TARBALL" 7.12 +TARBALL="$PACKAGE-$VERSION.tar.gz" 7.13 +WGET_URL="https://github.com/euroelessar/jreen/archive/refs/tags/v$VERSION.tar.gz" 7.14 7.15 DEPENDS="libidn libQtCore libQtNetwork qca" 7.16 BUILD_DEPENDS="cmake gsasl-dev libidn-dev qca-dev qmake Qt4-dev" 7.17 @@ -17,8 +17,8 @@ 7.18 # What is the latest version available today? 7.19 current_version() 7.20 { 7.21 - wget -O - http://qutim.org/jreen 2>/dev/null | \ 7.22 - sed "/latest/d;/$PACKAGE-[0-9]/!d;/tar/!d;s|.*$PACKAGE-\\(.*\\).tar.*|\\1|" | sort -Vr | sed q 7.23 + wget -O - $WEB_SITE/tags 2>/dev/null | \ 7.24 + sed '/archive.*tar/!d;s|.*/v*\(.*\).tar.*|\1|;q' 7.25 } 7.26 7.27 # Rules to configure and make the package.
8.1 --- a/memtest-efi32/receipt Sat May 06 08:42:03 2023 +0000 8.2 +++ b/memtest-efi32/receipt Thu May 11 15:58:49 2023 +0000 8.3 @@ -1,7 +1,7 @@ 8.4 # SliTaz package receipt. 8.5 8.6 PACKAGE="memtest-efi32" 8.7 -VERSION="6.10" 8.8 +VERSION="6.20" 8.9 CATEGORY="base-system" 8.10 SHORT_DESC="Memory failures detection tool." 8.11 MAINTAINER="pascal.bellard@slitaz.org"
9.1 --- a/memtest-efi64/receipt Sat May 06 08:42:03 2023 +0000 9.2 +++ b/memtest-efi64/receipt Thu May 11 15:58:49 2023 +0000 9.3 @@ -1,7 +1,7 @@ 9.4 # SliTaz package receipt. 9.5 9.6 PACKAGE="memtest-efi64" 9.7 -VERSION="6.10" 9.8 +VERSION="6.20" 9.9 CATEGORY="base-system" 9.10 SHORT_DESC="Memory failures detection tool." 9.11 MAINTAINER="pascal.bellard@slitaz.org"
10.1 --- a/memtest/receipt Sat May 06 08:42:03 2023 +0000 10.2 +++ b/memtest/receipt Thu May 11 15:58:49 2023 +0000 10.3 @@ -1,7 +1,7 @@ 10.4 # SliTaz package receipt. 10.5 10.6 PACKAGE="memtest" 10.7 -VERSION="6.10" 10.8 +VERSION="6.20" 10.9 CATEGORY="base-system" 10.10 SHORT_DESC="Memory failures detection tool." 10.11 MAINTAINER="pascal.bellard@slitaz.org" 10.12 @@ -74,7 +74,7 @@ 10.13 objdump -t boot/startup.o | \ 10.14 awk '/patch/ { print "sed -i \"s|" $5 "|0x" $1 "|\" ../boot/setup.S" }' | sh 10.15 make memtest.bin 10.16 - tune_lzma memtest.bin 195,mf=bt2 LC 3 PB 2 10.17 + tune_lzma memtest.bin 255,mf=bt2 LC 3 PB 2 10.18 } 10.19 10.20
11.1 --- a/memtest/stuff/memtest86+-6-386.patch Sat May 06 08:42:03 2023 +0000 11.2 +++ b/memtest/stuff/memtest86+-6-386.patch Thu May 11 15:58:49 2023 +0000 11.3 @@ -1,17 +1,17 @@ 11.4 --- system/cpuinfo.c 11.5 +++ system/cpuinfo.c 11.6 -@@ -848,6 +848,12 @@ 11.7 +@@ -846,6 +846,12 @@ 11.8 default: 11.9 // Unknown processor - make a guess at the family. 11.10 switch (cpuid_info.version.family) { 11.11 + case 3: 11.12 -+ cpu_model = "386"; 11.13 ++ cpu_model = "386-class CPU (unknown)"; 11.14 + break; 11.15 + case 4: 11.16 -+ cpu_model = "486"; 11.17 ++ cpu_model = "486-class CPU (unknown)"; 11.18 + break; 11.19 case 5: 11.20 - cpu_model = "586"; 11.21 + cpu_model = "586-class CPU (unknown)"; 11.22 break; 11.23 --- system/cpuid.c 11.24 +++ system/cpuid.c 11.25 @@ -165,7 +165,7 @@ 11.26 // Nothing before this should access the boot parameters, in case they are located above 4GB. 11.27 // This is the first region we map, so it is guaranteed not to fail. 11.28 boot_params_addr = map_region(boot_params_addr, sizeof(boot_params_t), true); 11.29 -@@ -282,8 +286,8 @@ 11.30 +@@ -284,8 +288,8 @@ 11.31 11.32 size_t program_size = (_stacks - _start) + BSP_STACK_SIZE + (num_enabled_cpus - 1) * AP_STACK_SIZE; 11.33 11.34 @@ -176,7 +176,7 @@ 11.35 11.36 trace(0, "program size %ikB", (int)(program_size / 1024)); 11.37 trace(0, " low_load_addr %0*x", 2*sizeof(uintptr_t), low_load_addr); 11.38 -@@ -420,7 +424,7 @@ 11.39 +@@ -422,7 +426,7 @@ 11.40 // Relocation may disrupt the test. 11.41 window_num = 1; 11.42 } 11.43 @@ -185,7 +185,7 @@ 11.44 // Avoid unnecessary relocation. 11.45 window_num = 1; 11.46 } 11.47 -@@ -443,10 +447,10 @@ 11.48 +@@ -445,10 +449,10 @@ 11.49 switch (window_num) { 11.50 case 0: 11.51 window_start = 0;
12.1 --- a/memtest64/receipt Sat May 06 08:42:03 2023 +0000 12.2 +++ b/memtest64/receipt Thu May 11 15:58:49 2023 +0000 12.3 @@ -1,7 +1,7 @@ 12.4 # SliTaz package receipt. 12.5 12.6 PACKAGE="memtest64" 12.7 -VERSION="6.10" 12.8 +VERSION="6.20" 12.9 CATEGORY="base-system" 12.10 SHORT_DESC="Memory failures detection tool." 12.11 MAINTAINER="pascal.bellard@slitaz.org" 12.12 @@ -65,7 +65,8 @@ 12.13 # Rules to configure and make the package. 12.14 compile_rules() 12.15 { 12.16 - tune_lzma memtest64.bin 55,mf=bt2 LC 3 PB 2 12.17 + tune_lzma memtest64.bin 144,mf=bt3 LC 3 PB 2 12.18 + 12.19 } 12.20 12.21 # Rules to gen a SliTaz package suitable for Tazpkg.
13.1 --- a/musl-libc-dev/receipt Sat May 06 08:42:03 2023 +0000 13.2 +++ b/musl-libc-dev/receipt Thu May 11 15:58:49 2023 +0000 13.3 @@ -6,7 +6,7 @@ 13.4 SHORT_DESC="A lightweight, fast, simple, free libc - development files." 13.5 MAINTAINER="pascal.bellard@slitaz.org" 13.6 LICENSE="MIT" 13.7 -WEB_SITE="https://www.musl-libc.org/" 13.8 +WEB_SITE="https://musl.libc.org/" 13.9 13.10 DEPENDS="musl-libc" 13.11 WANTED="musl-libc"
14.1 --- a/musl-libc/receipt Sat May 06 08:42:03 2023 +0000 14.2 +++ b/musl-libc/receipt Thu May 11 15:58:49 2023 +0000 14.3 @@ -6,7 +6,7 @@ 14.4 SHORT_DESC="A lightweight, fast, simple, free libc." 14.5 MAINTAINER="pascal.bellard@slitaz.org" 14.6 LICENSE="MIT" 14.7 -WEB_SITE="https://www.musl-libc.org/" 14.8 +WEB_SITE="https://musl.libc.org/" 14.9 REPOLOGY="musl" 14.10 14.11 SOURCE="musl"
15.1 --- a/urbackup-server/receipt Sat May 06 08:42:03 2023 +0000 15.2 +++ b/urbackup-server/receipt Thu May 11 15:58:49 2023 +0000 15.3 @@ -1,7 +1,7 @@ 15.4 # SliTaz package receipt. 15.5 15.6 PACKAGE="urbackup-server" 15.7 -VERSION="2.4.12" 15.8 +VERSION="2.4.15" 15.9 CATEGORY="network" 15.10 TAGS="backup" 15.11 SHORT_DESC="An easy to setup Open Source client-server backup system."
16.1 --- a/usbutils/receipt Sat May 06 08:42:03 2023 +0000 16.2 +++ b/usbutils/receipt Thu May 11 15:58:49 2023 +0000 16.3 @@ -8,7 +8,7 @@ 16.4 LICENSE="GPL2" 16.5 TARBALL="$PACKAGE-$VERSION.tar.xz" 16.6 WEB_SITE="https://linux-usb.sourceforge.net/" 16.7 -WGET_URL="http://deb.debian.org/debian/pool/main/u/usbutils/usbutils_$VERSION.orig.tar.xz" 16.8 +WGET_URL="https://mirrors.edge.kernel.org/pub/linux/utils/usb/usbutils/$TARBALL" 16.9 HOST_ARCH="i486 arm" 16.10 16.11 TAGS="usb"
17.1 --- a/warmux/receipt Sat May 06 08:42:03 2023 +0000 17.2 +++ b/warmux/receipt Thu May 11 15:58:49 2023 +0000 17.3 @@ -1,14 +1,15 @@ 17.4 # SliTaz package receipt. 17.5 17.6 PACKAGE="warmux" 17.7 +GITHASH="01f2d0071011bae5785d7a8d4502db4370c7de5a" # 20191201 17.8 VERSION="11.04.1" 17.9 CATEGORY="games" 17.10 SHORT_DESC="Warmux game" 17.11 MAINTAINER="slaxemulator@gmail.com" 17.12 LICENSE="GPL2" 17.13 -WEB_SITE="https://web.archive.org/web/20221203051925/https://www.warmux.org/" 17.14 -TARBALL="$PACKAGE-$VERSION.tar.bz2" 17.15 -WGET_URL="$WEB_SITE$TARBALL" 17.16 +WEB_SITE="https://github.com/fluxer/warmux" 17.17 +TARBALL="$PACKAGE-$VERSION.zip" 17.18 +WGET_URL="https://github.com/fluxer/warmux/archive/$GITHASH.zip" 17.19 PROVIDE="wormux" 17.20 SUGGESTED="warmux-music" 17.21 17.22 @@ -16,18 +17,20 @@ 17.23 curl freetype libxml2 libxml++ gcc-lib-base gettext-base" 17.24 BUILD_DEPENDS="libsdl-dev libsdl-gfx-dev libsdl-image-dev libsdl-mixer-dev \ 17.25 libsdl-net-dev libsdl-ttf-dev curl-dev freetype-dev libxml2-dev libxml++-dev \ 17.26 -pkg-config" 17.27 +automake pkg-config" 17.28 17.29 # What is the latest version available today? 17.30 current_version() 17.31 { 17.32 - wget -O - https://www.warmux.org/ 2>/dev/null | \ 17.33 - sed "/latest/d;/$PACKAGE-[0-9]/!d;/tar/!d;s|.*$PACKAGE-\\(.*\\).tar.*|\\1|" | sort -Vr | sed q 17.34 + wget -O - $WEB_SITE/commits/master 2>/dev/null | \ 17.35 + sed '/Commits on/!d;s|.*on |"|;s|<.*|"|;q' | xargs date +%Y -d 17.36 } 17.37 17.38 # Rules to configure and make the package. 17.39 compile_rules() 17.40 { 17.41 + ./autogen.sh 17.42 + 17.43 sed -i 's/test -z "$(pkgdatadir)"/test -d "$(pkgdatadir)"/' data/Makefile.in 17.44 sed -i 's|if USE_X11|if SKIP_USE_X11|' src/tool/copynpaste.cpp 17.45 sed -i "s|test -d \"\\\$(pkgdatadir|test -d \"\\\$(DESTDIR)\\\$(pkgdatadir|" data/Makefile*