* Read Sectors @ 2011-10-12 3:03 Julio Alberto Cruz Barroso 2011-10-12 3:09 ` Julio Alberto Cruz Barroso 2011-10-12 13:49 ` Vladimir 'φ-coder/phcoder' Serbinenko 0 siblings, 2 replies; 5+ messages in thread From: Julio Alberto Cruz Barroso @ 2011-10-12 3:03 UTC (permalink / raw) To: grub-devel [-- Attachment #1: Type: text/plain, Size: 359 bytes --] Dear all, I have a module to read some byte sectors from a OS partition to get a HASH and validate the OS. I try to use grub_file_open and grub_disk_open function without success. My system have two (2) compact flash (hard disk). The system must boot with one CF or two CF (with priority setup). Thanks all, Julio [-- Attachment #2: Type: text/html, Size: 2518 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: Read Sectors 2011-10-12 3:03 Read Sectors Julio Alberto Cruz Barroso @ 2011-10-12 3:09 ` Julio Alberto Cruz Barroso 2011-10-12 13:49 ` Vladimir 'φ-coder/phcoder' Serbinenko 1 sibling, 0 replies; 5+ messages in thread From: Julio Alberto Cruz Barroso @ 2011-10-12 3:09 UTC (permalink / raw) To: The development of GNU GRUB [-- Attachment #1: Type: text/plain, Size: 725 bytes --] I already read some files from the OS partition but now we need to read all data partition. From: grub-devel-bounces+julio.cruz=smartmatic.com@gnu.org [mailto:grub-devel-bounces+julio.cruz=smartmatic.com@gnu.org] On Behalf Of Julio Alberto Cruz Barroso Sent: Tuesday, October 11, 2011 10:33 PM To: grub-devel@gnu.org Subject: Read Sectors Dear all, I have a module to read some byte sectors from a OS partition to get a HASH and validate the OS. I try to use grub_file_open and grub_disk_open function without success. My system have two (2) compact flash (hard disk). The system must boot with one CF or two CF (with priority setup). Thanks all, Julio [-- Attachment #2: Type: text/html, Size: 3658 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Read Sectors 2011-10-12 3:03 Read Sectors Julio Alberto Cruz Barroso 2011-10-12 3:09 ` Julio Alberto Cruz Barroso @ 2011-10-12 13:49 ` Vladimir 'φ-coder/phcoder' Serbinenko 2011-10-25 1:08 ` Julio Alberto Cruz Barroso 1 sibling, 1 reply; 5+ messages in thread From: Vladimir 'φ-coder/phcoder' Serbinenko @ 2011-10-12 13:49 UTC (permalink / raw) To: The development of GNU GRUB [-- Attachment #1: Type: text/plain, Size: 845 bytes --] On 12.10.2011 05:03, Julio Alberto Cruz Barroso wrote: > > Dear all, > > > > I have a module to read some byte sectors from a OS partition to get a > HASH and validate the OS. > > > > I try to use grub_file_open and grub_disk_open function without success. > And I'm telepath to know what exactly the code you're trying. And if you code for anything have a look around for the use of the function in question e.g. in ntldr.c > > > > My system have two (2) compact flash (hard disk). The system must boot > with one CF or two CF (with priority setup). > > > > Thanks all, > > > > Julio > > > _______________________________________________ > Grub-devel mailing list > Grub-devel@gnu.org > https://lists.gnu.org/mailman/listinfo/grub-devel -- Regards Vladimir 'φ-coder/phcoder' Serbinenko [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 294 bytes --] ^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: Read Sectors 2011-10-12 13:49 ` Vladimir 'φ-coder/phcoder' Serbinenko @ 2011-10-25 1:08 ` Julio Alberto Cruz Barroso 2011-10-25 14:45 ` Julio Alberto Cruz Barroso 0 siblings, 1 reply; 5+ messages in thread From: Julio Alberto Cruz Barroso @ 2011-10-25 1:08 UTC (permalink / raw) To: The development of GNU GRUB OK, OK. I use the following function to read files with success: --------------------------------------- static int smtt_send_file(char * pathname) { static unsigned char Buffer[FILE_BUFFER_SIZE]; grub_file_t file = 0; grub_off_t ofs, len; unsigned long long bytes_sent = 0; file = grub_file_open (pathname); if (!file) { grub_dprintf ("mcu","cannot open file %s", pathname); return -1; } grub_dprintf ("mcu","file size : %lld \n", (unsigned long long) file->size); ofs = 0; len = file->size; file->offset = 0; while (len) { grub_ssize_t sz; sz = grub_file_read (file, Buffer, (len > FILE_BUFFER_SIZE) ? FILE_BUFFER_SIZE : len); if (sz < 0) { grub_dprintf ("mcu","read error at offset %llu: %s\n", ofs, grub_errmsg); break; } #ifdef MCUDEBUG grub_getkey(); grub_printf ("sending pack %llu \n", ofs); #endif if(!smtt_send_package ( Buffer, sz)) { bytes_sent +=sz; if ((sz == 0)) break; ofs += sz; len -= sz; } else { grub_dprintf("mcu", "Error Sending Package\n"); break; } } //grub_printf ("file size : %lld \n", (unsigned long long) file->size); //grub_printf ("Bytes Sends: %lld \n", bytes_sent); grub_file_close (file); return 0; } --------------------------------------------------------- Now, I need to read the OS partition sectors (not files). For example, from sector 1 to sector 500. I'm not sure which function to use to get this. For example, the functions "read" and "write" in a C/C++ Linux program. Julio -----Original Message----- From: grub-devel-bounces+julio.cruz=smartmatic.com@gnu.org [mailto:grub-devel-bounces+julio.cruz=smartmatic.com@gnu.org] On Behalf Of Vladimir 'f-coder/phcoder' Serbinenko Sent: Wednesday, October 12, 2011 9:49 PM To: The development of GNU GRUB Subject: Re: Read Sectors On 12.10.2011 05:03, Julio Alberto Cruz Barroso wrote: > > Dear all, > > > > I have a module to read some byte sectors from a OS partition to get a > HASH and validate the OS. > > > > I try to use grub_file_open and grub_disk_open function without success. > And I'm telepath to know what exactly the code you're trying. And if you code for anything have a look around for the use of the function in question e.g. in ntldr.c > > > > My system have two (2) compact flash (hard disk). The system must boot > with one CF or two CF (with priority setup). > > > > Thanks all, > > > > Julio > > > _______________________________________________ > Grub-devel mailing list > Grub-devel@gnu.org > https://lists.gnu.org/mailman/listinfo/grub-devel -- Regards Vladimir 'φ-coder/phcoder' Serbinenko ^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: Read Sectors 2011-10-25 1:08 ` Julio Alberto Cruz Barroso @ 2011-10-25 14:45 ` Julio Alberto Cruz Barroso 0 siblings, 0 replies; 5+ messages in thread From: Julio Alberto Cruz Barroso @ 2011-10-25 14:45 UTC (permalink / raw) To: The development of GNU GRUB I used this with success: -------------- 11.3 How to specify block lists A block list is used for specifying a file that doesn't appear in the filesystem, like a chainloader. The syntax is [offset]+length[,[offset]+length].... Here is an example: 0+100,200+1,300+300 This represents that GRUB should read blocks 0 through 99, block 200, and blocks 300 through 599. If you omit an offset, then GRUB assumes the offset is zero. Like the file name syntax (see File name syntax), if a blocklist does not contain a device name, then GRUB uses GRUB's root device. So (hd0,2)+1 is the same as +1 when the root device is ‘(hd0,2)’. --------------- Regards, JC -----Original Message----- From: grub-devel-bounces+julio.cruz=smartmatic.com@gnu.org [mailto:grub-devel-bounces+julio.cruz=smartmatic.com@gnu.org] On Behalf Of Julio Alberto Cruz Barroso Sent: Tuesday, October 25, 2011 9:09 AM To: The development of GNU GRUB Subject: RE: Read Sectors OK, OK. I use the following function to read files with success: --------------------------------------- static int smtt_send_file(char * pathname) { static unsigned char Buffer[FILE_BUFFER_SIZE]; grub_file_t file = 0; grub_off_t ofs, len; unsigned long long bytes_sent = 0; file = grub_file_open (pathname); if (!file) { grub_dprintf ("mcu","cannot open file %s", pathname); return -1; } grub_dprintf ("mcu","file size : %lld \n", (unsigned long long) file->size); ofs = 0; len = file->size; file->offset = 0; while (len) { grub_ssize_t sz; sz = grub_file_read (file, Buffer, (len > FILE_BUFFER_SIZE) ? FILE_BUFFER_SIZE : len); if (sz < 0) { grub_dprintf ("mcu","read error at offset %llu: %s\n", ofs, grub_errmsg); break; } #ifdef MCUDEBUG grub_getkey(); grub_printf ("sending pack %llu \n", ofs); #endif if(!smtt_send_package ( Buffer, sz)) { bytes_sent +=sz; if ((sz == 0)) break; ofs += sz; len -= sz; } else { grub_dprintf("mcu", "Error Sending Package\n"); break; } } //grub_printf ("file size : %lld \n", (unsigned long long) file->size); //grub_printf ("Bytes Sends: %lld \n", bytes_sent); grub_file_close (file); return 0; } --------------------------------------------------------- Now, I need to read the OS partition sectors (not files). For example, from sector 1 to sector 500. I'm not sure which function to use to get this. For example, the functions "read" and "write" in a C/C++ Linux program. Julio -----Original Message----- From: grub-devel-bounces+julio.cruz=smartmatic.com@gnu.org [mailto:grub-devel-bounces+julio.cruz=smartmatic.com@gnu.org] On Behalf Of Vladimir 'f-coder/phcoder' Serbinenko Sent: Wednesday, October 12, 2011 9:49 PM To: The development of GNU GRUB Subject: Re: Read Sectors On 12.10.2011 05:03, Julio Alberto Cruz Barroso wrote: > > Dear all, > > > > I have a module to read some byte sectors from a OS partition to get a > HASH and validate the OS. > > > > I try to use grub_file_open and grub_disk_open function without success. > And I'm telepath to know what exactly the code you're trying. And if you code for anything have a look around for the use of the function in question e.g. in ntldr.c > > > > My system have two (2) compact flash (hard disk). The system must boot > with one CF or two CF (with priority setup). > > > > Thanks all, > > > > Julio > > > _______________________________________________ > Grub-devel mailing list > Grub-devel@gnu.org > https://lists.gnu.org/mailman/listinfo/grub-devel -- Regards Vladimir 'φ-coder/phcoder' Serbinenko _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2011-10-25 14:50 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-10-12 3:03 Read Sectors Julio Alberto Cruz Barroso 2011-10-12 3:09 ` Julio Alberto Cruz Barroso 2011-10-12 13:49 ` Vladimir 'φ-coder/phcoder' Serbinenko 2011-10-25 1:08 ` Julio Alberto Cruz Barroso 2011-10-25 14:45 ` Julio Alberto Cruz Barroso
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.