Russede freedos

Russificare a FreeDOS

Recent, pregăteam o dischetă antivirus bootabilă, am avut dificultăți în limitarea mărimii - fișierele necesare nu puteau fi împachetate în volumul unei dischete de 3,5 inch, în ciuda tuturor trucurilor. Togya a hotărât să caute o versiune de DOS care suportă FAT32, dar o cantitate mai mică de fișiere de boot decât kitul Windows MS-DOS. Sa dovedit că FreeDOS are deja caracteristicile necesare și, în același timp, a fost salvată o cantitate mică de fișier boot. Comparați mărimea kernelului MSDOS din Windows 98 Second Edition RUS și nucleele din distribuția FreeDOS Beta9RC5:







Dacă descărcați utilitățile separat, veți primi cele mai recente versiuni, programele incluse în imaginea de instalare pot să nu mai fie actualizate. Am folosit pentru a construi surse de kernel 2.0.34 versiune distribuirea FreeDOS Beta9RC5, acestea sunt în fișierul FreeDOS \ PACHETE \ SRC_BASE \ DISK04 \ KERNELS.ZIP pe CD. După despachetare arhiva păstrând structura de directoare în directorul rădăcină C unitate, obținem C: SOURCE \ KE2034, care se află și codul sursă, documentație în limba engleză (în subdirectorul DOCS) și fișiere lot \ pentru a efectua ansamblul.

Următoarele linii se modifică:
setați XNASM = c: \ bin \ nasm16> set XNASM = c: \ nasm \ nasm
set XUPX = upx - 8086 .best> set XUPX = c: \ upx \ upx - 8086 - cel mai bun

Dacă utilizați versiunea compilatorului Watcom C pentru mediul Win32, apoi pe linie
setați PATH =% PATH%;% WATCOM% \ binw
trebuie să adăugați calea către directorul binnt:
setați PATH =% PATH%;% WATCOM% \ binw;% WATCOM% \ binnt

Deci, pentru compilație, totul este pregătit pentru noi, rămâne doar să ne îndeplinim ceea ce pentru a începe toate acestea - Russification. Modificarea minimă a kernelului, care vă permite să procesați fișiere cu caractere ruse în nume fără probleme, este să setați tabelul corect pentru conversia literelor mici / majuscule. Informațiile despre pagina de cod (din care face parte tabela de conversie) sunt stocate în fișierul KERNEL \ NLS_HC.ASM. Acest fișier este o copie a unuia dintre fișierele sursă aflate în directorul KERNEL \ NLS. În kernelul standard, acesta este KERNEL \ NLS \ 001-437.HC.







Acum, reveniți la directorul KE2034 și, întâlniți spiritul, executați comanda BUILD.BAT. După ce compilația este terminată în directorul BIN, obținem fișierul KERNEL.SYS - noul nostru kernel FreeDOS. În plus, în directorul BIN există fișiere și utilitare suplimentare:

  • AUTOEXEC.BAT este un exemplu de fișier de comandă de configurare;
  • CONFIG.SYS este un exemplu de fișier de configurare DOS;
  • INSTALL.BAT - un fișier batch pentru crearea unei floppy bootabile cu nucleul asamblat;
  • KWC38632.map - card de memorie kernel (informații de depanare);
  • KWC38632.sys - o copie a kernel-ului, în numele fișierului a cărui opțiuni de asamblare sunt tipurile de compilatoare, tipul procesorului, tipul de sistem de fișiere;
  • SYS.COM - comandă pentru copierea fișierelor de sistem și scrierea pe discul din sectorul de boot.

Nu am înțeles dacă comanda SYS.COM este hardwired pentru versiunea kernel-ului, cel mai probabil nu, dar doar pentru caz, folosesc ambele fișiere, colectate împreună. Pentru a testa performanța fișierelor compilate, puteți utiliza fișierul de comandă INSTALL.BAT. Introduceți o dischetă curată în unitatea A și, în directorul KE2034 \ BIN, executați comanda INSTALL. Kernelul va fi copiat pe dischetă, fișierele de configurare și shell-ul. Numai atunci când copiați fișierul COMMAND.COM există o mică problemă. Faptul că comanda SYS caută fișierul în trei locuri - în directorul sursă, în directorul rădăcină al discului sursă și variabila de mediu «COMSPEC», în timp ce aceasta nu verifică dacă fișierul a fost găsit aparține FreeDOS. Întrucât nu există comanda COMMAND.COM în directorul KE2034 \ BIN după terminarea construcției, interpretul de comandă al sistemului de operare în care sa realizat compilarea a fost găsit și copiat pe dischetă. Nu este o soluție proastă, dar în cazul în care se dovedește că sistemul de operare actual - nu este FreeDOS, și MS-DOS (sau MS Windows), apoi discheta de boot va fi nefuncțional, deoarece COMMAND.COM de la Microsoft lucrează numai în versiunea „lor“ de DOS. Pentru a remedia această situație, puteți fie copia catalogului în avans KE2034 \ BIN coajă de la FreeDOS, sau după ce creați discheta pentru a copia fișierul pe acesta, înlocuind versiunea înregistrată comanda SYS. Pe CD-ul de instalare FreeDOS COMMAND.COM poate fi găsit în directorul isolinux \ buildcd.

Acum rămâne să reporniți computerul (nu uitați în setările de configurare BIOS pentru a permite boot-ul de pe dischetă) și asigurați-vă că nucleul compilat funcționează.

apendice:
  1. Asamblarea rusă a nucleului FreeDOS 2.0.33: freedos-2.0.33-rus.zip (107575 bytes)
  2. Fișier de pagină de cod modificat (necesar pentru auto-asamblare): freedos-config-rus.zip (2629 bytes)
  3. Fișierul 007-866.hc






Articole similare

Trimiteți-le prietenilor: