Difference between revisions of "User:Mna."
m (→(Generic) Development) |
m |
||
Line 50: | Line 50: | ||
** Resembles me idea of [http://hex.pp.ua/nt-native-applications-shell-eng.php Windows/ReactOS Native Shell]) ([http://www.reactos.org/forum/viewtopic.php?f=11&t=9092 Russian]). | ** Resembles me idea of [http://hex.pp.ua/nt-native-applications-shell-eng.php Windows/ReactOS Native Shell]) ([http://www.reactos.org/forum/viewtopic.php?f=11&t=9092 Russian]). | ||
− | ====bootCD and liveCD | + | ====Repositories: bootCD and liveCD ==== |
* [http://iso.reactos.org/bootcd/ bootcd repository] iso.reactos.org bootcd images | * [http://iso.reactos.org/bootcd/ bootcd repository] iso.reactos.org bootcd images | ||
* [http://iso.reactos.org/livecd/ livecd repository] | * [http://iso.reactos.org/livecd/ livecd repository] | ||
− | ====ReactOS startup procedure described (partly) ==== | + | ====Core-doc: ReactOS startup procedure described (partly) ==== |
− | * [[Modify the final ISO image]] - good article, have also notes on how (bootcd) | + | * How to [[Modify the final ISO image]] - good article, have also notes on how final (bootcd) CD-image is composed, its CD directory structure |
* [[FreeLoader]] details | * [[FreeLoader]] details | ||
* [[User:Mna./FreeLoader,_bootcd_and_bootrecords#FreeLoader_freeldr_Architecture|freeldr Architecture]] and related ReactOS startup steps: | * [[User:Mna./FreeLoader,_bootcd_and_bootrecords#FreeLoader_freeldr_Architecture|freeldr Architecture]] and related ReactOS startup steps: | ||
* [[User:Mna./FreeLoader,_bootcd_and_bootrecords|bootcd and bootrecords]] | * [[User:Mna./FreeLoader,_bootcd_and_bootrecords|bootcd and bootrecords]] | ||
− | * [http://en.wikipedia.org/wiki/Windows_NT_Startup_Process Windows NT Startup Process/ Sequence] | + | * [http://en.wikipedia.org/wiki/Windows_NT_Startup_Process Windows NT Startup Process/Startup Sequence] |
* [[User:Mna./ReactOS startup process light summary]] | * [[User:Mna./ReactOS startup process light summary]] | ||
* [[How the system Finds and Loads Drivers]] | * [[How the system Finds and Loads Drivers]] | ||
− | ==== | + | ==== Building ReactOS: Hands-on ==== |
* [[Building_Modules#List_available_ninja_targets|available ninja targets]] | * [[Building_Modules#List_available_ninja_targets|available ninja targets]] | ||
* [[Building_Modules#Removing_or_Updating_a_Module|Updating a module code]] -- do this when the ROS module code was changed and build system didn't notice | * [[Building_Modules#Removing_or_Updating_a_Module|Updating a module code]] -- do this when the ROS module code was changed and build system didn't notice | ||
− | * Strange thing become clear | + | |
− | BootOptions=DbgOsLoadOptions = "/NOGUIBOOT /DEBUGPORT=COM:io,0x3f8,115200n8 /DEBUGPORT=SCREEN" See also [[User:Mna./FreeLoader_freeldr_Architecture#Specifing_Boot_Options|Specifing Boot kernel Options]] ((Not confuse it with [[Boot_options#Options|Boot Options]])) | + | ==== Tmp: Small notes==== |
+ | * Strange thing become clear: Ctrl+D doesn't work in 1st stage setup | ||
+ | * FreeLdr debug settings: | ||
+ | <pre> BootOptions=DbgOsLoadOptions = "/NOGUIBOOT /DEBUGPORT=COM:io,0x3f8,115200n8 /DEBUGPORT=SCREEN" </pre> | ||
+ | ** See also [[User:Mna./FreeLoader_freeldr_Architecture#Specifing_Boot_Options|Specifing Boot kernel Options]] ((Not confuse it with [[Boot_options#Options|Boot Options]])) | ||
====Filesystems generic==== | ====Filesystems generic==== | ||
* [[File Systems]], a good page | * [[File Systems]], a good page | ||
− | ====Editing | + | ====ReactOS Registry: Editing offline==== |
From [http://www.reactos.org/forum/viewtopic.php?t=3162 here] | From [http://www.reactos.org/forum/viewtopic.php?t=3162 here] | ||
{| class="wikitable" | {| class="wikitable" |
Revision as of 12:41, 3 March 2015
My patches to ReactOS// My Bookmarks with useful info// Future place for Manifest-like texts.
Contents
- 1 My Patches/WIP
- 2 Issues: Reported and not yet
- 3 Bookmarks on Topics
- 3.1 Development generic
- 3.2 Repositories: bootCD and liveCD
- 3.3 Core-doc: ReactOS startup procedure described (partly)
- 3.4 Building ReactOS: Hands-on
- 3.5 Tmp: Small notes
- 3.6 Filesystems generic
- 3.7 ReactOS Registry: Editing offline
- 3.8 NTFS
- 3.9 Misc
- 3.10 Serial extension card and MMIO programming
- 3.11 Debug prints in ROS
- 3.12 FreeLoader, debug information, getting
- 3.13 SVN how-to links
My Patches/WIP
(WIP = Work in Progress)
- [Done] dmesg/kmesg command in ReactOS native kernel debugger CORE-5452, described there.
- --
- [Done/not-included] dmesg.exe User-mode utility: done. but not applied (.rbuild system was broken/removed then at the moment + 3 month delay of community considering accepting my kmesg patch).
- [Almost done:forming a patch] (Important thing): MMIO for serial card at kernel early-boot.
(MMIO serial cards doesn't work at all in ROS.)- Now it works but I don't know how I will test this on real hardware with CORE-8062 bug leaving the computer in non-working state after every restart and turn-off.
- [Done] micropatch: print CPUs count and available RAM at ROS start (work related with low-memory related bug)
- (..describe later..: partitions' bug, FAT32-moved-root-node, etc)
- usetup.c - series: CORE-7969 submitted patch at 08.03.2014: will see how long it will stay not applied. (needed to retest new hanges required by multilanguage support; will do after early-Serial-MMIO)
Issues: Reported and not yet
- CORE-7978 - ReactOS boot code of MBR can't boot USB-HDD due to error reading sectors with int13h_ah=42h
- Added there link to very good explanation how does GRUB stage1 loader work! Just an amazingly detailed description (and also even with joke in stage2!) This link.
- Workaround: use grub-2 to load freeldr.sys
- freeldr.ini also requires editing the rdisk() parameter addressing the disks:
SystemPath=multi(0)disk(0)rdisk(1)partition(2)\ReactOS
rdisk(1)partition(2) here means: 2nd disk, 2nd partition. (partitions are 1-counted, rdisks - 0-counted.)
- [Yet old bug of 2010/11 times until now] (On my machine: AcerAspire5920g) ReactOS loading process stuck on line ...\Drivers\DISK.SYS when Disk operation mode in BIOS is set to AHCI. Changed the mode to IDE "workarounds" the problem: ntoskrnl.exe reaches the last line ...\Drivers\NDIS.SYS -- and is stuck somewhere more later -- eating 100% CPU. (//Debug-log is required)
So the summary: SATA2 is not fully supported by ReactOS, forced to use IDE.
- CORE-8062 Nasty bug made me thing my laptop monitor (matrix chip) or videocard goes fried with some code of reactos; Luckily it was just wrong settings somewhere there. Unhealthy bug; leaves bad mood on any tester, it needed to be corrected by any mean.
Bookmarks on Topics
Interesting topics, links (Started at 2011-04-03)
Here I will keep links to forum topics, wiki pages or other, that seemed to be interesting:
Development generic
- #reactos - For general discussion and user support, most people are here
- ROS Mumble new thing, '15-Feb
- Issues of ReactOS:
- Jira queries language (SQL-like): JIRA-query fields, JIRA-query operators
- Missing ReactOS Functionality - major things absent of ROS from User PoV
- Sorted by importance (priority now in JIRA) bugs of ReactOS, except of resolved ones
- How PnP Works in ReactOS
- ReactOS, how much money it requires? - here is only the idea, to be converted to become more correct: "How many man-months?", given man-month is more like a myth, reconsider on per-project basis
- HOWTO Become a Reactos Programmer? - forum topic, could be converted to more constructive instruction
- RevEng: Device Driver Reverse Engineering from here
- Command-line-only Win32 from ReactOS? The topic about full OS without GUI ("headless"?).
- Resembles me idea of Windows/ReactOS Native Shell) (Russian).
Repositories: bootCD and liveCD
- bootcd repository iso.reactos.org bootcd images
- livecd repository
Core-doc: ReactOS startup procedure described (partly)
- How to Modify the final ISO image - good article, have also notes on how final (bootcd) CD-image is composed, its CD directory structure
- FreeLoader details
- freeldr Architecture and related ReactOS startup steps:
- bootcd and bootrecords
- Windows NT Startup Process/Startup Sequence
- User:Mna./ReactOS startup process light summary
- How the system Finds and Loads Drivers
Building ReactOS: Hands-on
- available ninja targets
- Updating a module code -- do this when the ROS module code was changed and build system didn't notice
Tmp: Small notes
- Strange thing become clear: Ctrl+D doesn't work in 1st stage setup
- FreeLdr debug settings:
BootOptions=DbgOsLoadOptions = "/NOGUIBOOT /DEBUGPORT=COM:io,0x3f8,115200n8 /DEBUGPORT=SCREEN"
- See also Specifing Boot kernel Options ((Not confuse it with Boot Options))
Filesystems generic
- File Systems, a good page
ReactOS Registry: Editing offline
From here
Editing ReactOS registry hives outside ReactOS? --2006-12 > Is it possible at this moment to edit the registry hives outside the ReactOS environment? > I wanted to automate a process to load these registry hives onto the local registry, > add all my changes, unload the hives and create a new ISO. Simply change registry sources and build your own binary hives from them. by hto > I guess "make" is the prefered way, there isn't any other method for creating these hives? There is hive maker in tools\mkhive. You can build it with mingw32-make.exe mkhive Copy it from output-i386\tools\mkhive\mkhive.exe to (say) Windows\mkhive.exe. Then run this command: mkhive.exe boot\bootdata output-i386\livecd\reactos\system32\config boot\bootdata\livecd.inf boot\bootdata\hiveinst.inf Where output-i386\livecd\reactos\system32\config -- is output folder for hives. This is how make livecd does it. And yes, you can add your foo.inf to the end of that command. |
NTFS
- post about FUSE-lib creation attempts in ROS in the "NTFS question" topic
- (ru) NTFS-3G applied to ROS, with unixed 's idea how to integrate into the fuse4win or dokan
Misc
- Possible solution for Intel's HDA Audio, high-definition audio
- UniATA project of Alter
- Display Control for Windows, Alter's site; Now part of UI ctl
Serial extension card and MMIO programming
- android kernel driver tty-serial 8250_early.c : as serial debug interface, Android can specify not only IO-ports, but also MMIO and MMIO32 addresses. The "shentek" serial card which I own, requires such communication method, it is based on Oxford chip and gives only mmio interface.
- MMIO MMIO = Memory-mapped_I/O Linux:MmioTrace Home mmiotrace doc
- Note: I have much info/hands-on to add here...
Debug prints in ROS
- KdPrint/DbgPrint and OutputDebugString behavior at Alter's site,
- Mechanism of OutputDebugString - CodeProject the ready code sample,
They (articles) discuss internals and mechanism of OutputDebugString. Definitely Windows too (as unices) uses system calls to store and receive debug messages data to/from kernel debug messages buffer.
Unix dmesg Internals Analysis
for comparison and for creating something equivalent/analogous in ROS Shortly:
- Linux has special system call "syslog" (man 2 syslog)
- FreeBSD uses its special sysctl interface to kernel along with "kern.msgbuf" parameter.
Do we need special system call like Linux, or even more, the whole family of them (sysctl('*')) as in BSD? How to implement simple system call for it, now?
---
Detailed info for unices:
Linux case:
- syslog(2) - read and/or clear kernel message ring buffer; set console_loglevel
int syslog(int type, char *bufp, int len);
- also /proc/kmsg virtual file, which when being read returns buffer contents
Excerpt from "man proc":
/proc/kmsg This file can be used instead of the syslog(2) system call to read kernel messages. A process must have superuser privileges to read this file, and only one process should read this file. This file should not be read if a syslog process is running which uses the sys‐ log(2) system call facility to log kernel messages. Information in this file is retrieved with the dmesg(1) program.
dmesg in FreeBSD:
- Parameter 'kern.msgbuf' given to sysctl(3) returns contents of kernel message buffer.
- There is also 'kern.msgbuf_clear' to clean the buffer.
/*USB
These could be probably outdated in sense the USB now is in better working state.
- osdev.org wiki - main page, USB, the same place
- USB for NT4:
- Alter's site reviews: en, ru
- Woodheads opensource(!), GPL USB driver: files backed up "Woodhead--NT4--USB" original link (dead)
- Windows NT 4.0 and USB Quote: "Conclusion: I wish people would stop making comments like 'USB is not supported under NT4' - If you must comment please make it accurate, example: 'Microsoft have made the commercial decision not to provide NT4 USB support - but some manufacturers provide support for specific USB devices on NT4.'"
*/
FreeLoader, debug information, getting
Related with low-memory bug: 1) 4Gb was recognized as 25Mb 2) ROS started with 25Mb silently eat up 100% CPU and infinitely read from boot CD/HDD.
- Debugging the FreeLdr: freeldr.patch turning on debug mode from CORE-5462 -- patch by rafalh
- FreeLoader
Misc...
SVN how-to links
- [1] found through google [svn through proxy]
- [2], same
- SVN book: Version Control with Subversion 1.2