* How can I use grub_getcrc32 in fs module @ 2010-03-10 12:23 Jiro SEKIBA 2010-03-10 13:05 ` Vladimir 'φ-coder/phcoder' Serbinenko 0 siblings, 1 reply; 7+ messages in thread From: Jiro SEKIBA @ 2010-03-10 12:23 UTC (permalink / raw) To: grub-devel Hi, How can I write Makefile to use grub_getcrc32 in file module? I'm trying to use grub_getcrc32 function to calculate crc of the specific part of the disk so as to validate the disk. I added lib/crc.c in SOURCES in common.rmk for the fs module. It looks OK to compile the target fs module. However I got following link error for grub-setup and grub-probe. grub_setup-fs_nilfs2.o: In function `grub_nilfs2_valid_sb': nilfs2.c:(.text+0xe29): undefined reference to `grub_getcrc32' nilfs2.c:(.text+0xe47): undefined reference to `grub_getcrc32' nilfs2.c:(.text+0xe7e): undefined reference to `grub_getcrc32' collect2: ld returned 1 exit status I was trying to specify lib/crc.c in grub_setup_SOURCES, but got same result. What is the best way to add dependency for those programs if I want to use crc calculation in fs module? thank you very much in advance -- Jiro SEKIBA <jir@unicus.jp> ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: How can I use grub_getcrc32 in fs module 2010-03-10 12:23 How can I use grub_getcrc32 in fs module Jiro SEKIBA @ 2010-03-10 13:05 ` Vladimir 'φ-coder/phcoder' Serbinenko 2010-03-10 14:09 ` Jiro SEKIBA 0 siblings, 1 reply; 7+ messages in thread From: Vladimir 'φ-coder/phcoder' Serbinenko @ 2010-03-10 13:05 UTC (permalink / raw) To: The development of GNU GRUB [-- Attachment #1: Type: text/plain, Size: 1409 bytes --] Jiro SEKIBA wrote: > Hi, > > How can I write Makefile to use grub_getcrc32 in file module? > > I'm trying to use grub_getcrc32 function to calculate crc of > the specific part of the disk so as to validate the disk. > Filesystem modules are often size-constrained. So we skip the consistency checks unless they are inherent part of filesystem operation. If filesystem is corrupted there isn't much we can do other than hope that boot-related files aren't affected. GRUB itself never writes to fs metadata so it won't lead to any additional corruption > I added lib/crc.c in SOURCES in common.rmk for the fs module. > It looks OK to compile the target fs module. > However I got following link error for grub-setup and grub-probe. > > grub_setup-fs_nilfs2.o: In function `grub_nilfs2_valid_sb': > nilfs2.c:(.text+0xe29): undefined reference to `grub_getcrc32' > nilfs2.c:(.text+0xe47): undefined reference to `grub_getcrc32' > nilfs2.c:(.text+0xe7e): undefined reference to `grub_getcrc32' > collect2: ld returned 1 exit status > > I was trying to specify lib/crc.c in grub_setup_SOURCES, but got same result. > > Stupid question: have you rerun ./autogen.sh ? > What is the best way to add dependency for those programs if > I want to use crc calculation in fs module? > > thank you very much in advance > -- Regards Vladimir 'φ-coder/phcoder' Serbinenko [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 293 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: How can I use grub_getcrc32 in fs module 2010-03-10 13:05 ` Vladimir 'φ-coder/phcoder' Serbinenko @ 2010-03-10 14:09 ` Jiro SEKIBA 2010-03-14 12:32 ` Vladimir 'φ-coder/phcoder' Serbinenko 0 siblings, 1 reply; 7+ messages in thread From: Jiro SEKIBA @ 2010-03-10 14:09 UTC (permalink / raw) To: The development of GNU GRUB Hi, At Wed, 10 Mar 2010 14:05:25 +0100, Vladimir 'φ-coder/phcoder' Serbinenko wrote: > > [1 <multipart/signed (7bit)>] > [1.1 <text/plain; UTF-8 (quoted-printable)>] > Jiro SEKIBA wrote: > > Hi, > > > > How can I write Makefile to use grub_getcrc32 in file module? > > > > I'm trying to use grub_getcrc32 function to calculate crc of > > the specific part of the disk so as to validate the disk. > > > Filesystem modules are often size-constrained. So we skip the > consistency checks unless they are inherent part of filesystem operation. > If filesystem is corrupted there isn't much we can do other than hope > that boot-related files aren't affected. GRUB itself never writes to fs > metadata so it won't lead to any additional corruption Ah, I see. Ok, then we may skip checking super block crc. However, becuase of nature of nilfs2, a log file system, I need to roll forward the logs to find the latest log in case that super block does not point appropriate latest log on unclean unmounting. In the forwarding process, log is verified by crc. > > I added lib/crc.c in SOURCES in common.rmk for the fs module. > > It looks OK to compile the target fs module. > > However I got following link error for grub-setup and grub-probe. > > > > grub_setup-fs_nilfs2.o: In function `grub_nilfs2_valid_sb': > > nilfs2.c:(.text+0xe29): undefined reference to `grub_getcrc32' > > nilfs2.c:(.text+0xe47): undefined reference to `grub_getcrc32' > > nilfs2.c:(.text+0xe7e): undefined reference to `grub_getcrc32' > > collect2: ld returned 1 exit status > > > > I was trying to specify lib/crc.c in grub_setup_SOURCES, but got same result. > > > > > Stupid question: have you rerun ./autogen.sh ? Yes, I did. I should have mentioned. What I did is sh autogen.sh make clean;./configure;make > > What is the best way to add dependency for those programs if > > I want to use crc calculation in fs module? > > > > thank you very much in advance > > > > > -- > Regards > Vladimir 'φ-coder/phcoder' Serbinenko > > > [1.2 OpenPGP digital signature <application/pgp-signature (7bit)>] > > [2 <text/plain; us-ascii (7bit)>] > _______________________________________________ > Grub-devel mailing list > Grub-devel@gnu.org > http://lists.gnu.org/mailman/listinfo/grub-devel -- Jiro SEKIBA <jir@unicus.jp> ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: How can I use grub_getcrc32 in fs module 2010-03-10 14:09 ` Jiro SEKIBA @ 2010-03-14 12:32 ` Vladimir 'φ-coder/phcoder' Serbinenko 2010-03-15 10:03 ` Jiro SEKIBA 0 siblings, 1 reply; 7+ messages in thread From: Vladimir 'φ-coder/phcoder' Serbinenko @ 2010-03-14 12:32 UTC (permalink / raw) To: The development of GNU GRUB [-- Attachment #1: Type: text/plain, Size: 1943 bytes --] Jiro SEKIBA wrote: >> Filesystem modules are often size-constrained. So we skip the >> consistency checks unless they are inherent part of filesystem operation. >> If filesystem is corrupted there isn't much we can do other than hope >> that boot-related files aren't affected. GRUB itself never writes to fs >> metadata so it won't lead to any additional corruption >> > > Ah, I see. Ok, then we may skip checking super block crc. > Skipping only part of crc checks doesn't bring anything. > However, becuase of nature of nilfs2, a log file system, > I need to roll forward the logs to find the latest log > in case that super block does not point appropriate latest log > on unclean unmounting. > > In the forwarding process, log is verified by crc. > > In this case ok. Can you make tests and compare the size with either using lib/crc.c or CRC32 from crypto framework? This is something that would justify keeping lib/crc.c despite my previous plans on its removal if the difference is significant. >>> I added lib/crc.c in SOURCES in common.rmk for the fs module. >>> It looks OK to compile the target fs module. >>> However I got following link error for grub-setup and grub-probe. >>> >>> grub_setup-fs_nilfs2.o: In function `grub_nilfs2_valid_sb': >>> nilfs2.c:(.text+0xe29): undefined reference to `grub_getcrc32' >>> nilfs2.c:(.text+0xe47): undefined reference to `grub_getcrc32' >>> nilfs2.c:(.text+0xe7e): undefined reference to `grub_getcrc32' >>> collect2: ld returned 1 exit status >>> >>> I was trying to specify lib/crc.c in grub_setup_SOURCES, but got same result. >>> >>> >>> >> Stupid question: have you rerun ./autogen.sh ? >> > > Yes, I did. I should have mentioned. > What I did is > > sh autogen.sh > make clean;./configure;make > > May I have a look at this part of the patch? -- Regards Vladimir 'φ-coder/phcoder' Serbinenko [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 293 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: How can I use grub_getcrc32 in fs module 2010-03-14 12:32 ` Vladimir 'φ-coder/phcoder' Serbinenko @ 2010-03-15 10:03 ` Jiro SEKIBA 2010-03-15 10:52 ` Vladimir 'φ-coder/phcoder' Serbinenko 0 siblings, 1 reply; 7+ messages in thread From: Jiro SEKIBA @ 2010-03-15 10:03 UTC (permalink / raw) To: The development of GNU GRUB Hi, At Sun, 14 Mar 2010 13:32:46 +0100, Vladimir 'φ-coder/phcoder' Serbinenko wrote: > > [1 <multipart/signed (7bit)>] > [1.1 <text/plain; UTF-8 (quoted-printable)>] > Jiro SEKIBA wrote: > >> Filesystem modules are often size-constrained. So we skip the > >> consistency checks unless they are inherent part of filesystem operation. > >> If filesystem is corrupted there isn't much we can do other than hope > >> that boot-related files aren't affected. GRUB itself never writes to fs > >> metadata so it won't lead to any additional corruption > >> > > > > Ah, I see. Ok, then we may skip checking super block crc. > > > Skipping only part of crc checks doesn't bring anything. > > > However, becuase of nature of nilfs2, a log file system, > > I need to roll forward the logs to find the latest log > > in case that super block does not point appropriate latest log > > on unclean unmounting. > > > > In the forwarding process, log is verified by crc. > > > > > In this case ok. Can you make tests and compare the size with either > using lib/crc.c or CRC32 from crypto framework? This is something that > would justify keeping lib/crc.c despite my previous plans on its removal > if the difference is significant. OK, I'll try to compare. > >>> I added lib/crc.c in SOURCES in common.rmk for the fs module. > >>> It looks OK to compile the target fs module. > >>> However I got following link error for grub-setup and grub-probe. > >>> > >>> grub_setup-fs_nilfs2.o: In function `grub_nilfs2_valid_sb': > >>> nilfs2.c:(.text+0xe29): undefined reference to `grub_getcrc32' > >>> nilfs2.c:(.text+0xe47): undefined reference to `grub_getcrc32' > >>> nilfs2.c:(.text+0xe7e): undefined reference to `grub_getcrc32' > >>> collect2: ld returned 1 exit status > >>> > >>> I was trying to specify lib/crc.c in grub_setup_SOURCES, but got same result. > >>> > >>> > >>> > >> Stupid question: have you rerun ./autogen.sh ? > >> > > > > Yes, I did. I should have mentioned. > > What I did is > > > > sh autogen.sh > > make clean;./configure;make > > > > > May I have a look at this part of the patch? Sure, that I did the following in common.rmk. And I see that added line is in a common.mk after rerun autogen.sh. -------8<-------8<-------8<-------8<-------8<------- === modified file 'conf/common.rmk' --- conf/common.rmk 2010-03-10 14:05:15 +0000 +++ conf/common.rmk 2010-03-10 19:57:34 +0000 @@ -132,6 +132,7 @@ DISTCLEANFILES += grub_probe_init.c # For grub-setup. +grub_setup_SOURCES = lib/crc.c grub_setup_init.lst: geninit.sh $(filter-out grub_setup_init.c,$(grub_setup_SOURCES)) rm -f $@; grep GRUB_MOD_INIT $(filter %.c,$^) /dev/null > $@ DISTCLEANFILES += grub_setup_init.lst -------8<-------8<-------8<-------8<-------8<------- thanks, regards, > > -- > Regards > Vladimir 'φ-coder/phcoder' Serbinenko > > > [1.2 OpenPGP digital signature <application/pgp-signature (7bit)>] > > [2 <text/plain; us-ascii (7bit)>] > _______________________________________________ > Grub-devel mailing list > Grub-devel@gnu.org > http://lists.gnu.org/mailman/listinfo/grub-devel -- Jiro SEKIBA <jir@unicus.jp> ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: How can I use grub_getcrc32 in fs module 2010-03-15 10:03 ` Jiro SEKIBA @ 2010-03-15 10:52 ` Vladimir 'φ-coder/phcoder' Serbinenko 2010-03-16 7:22 ` Jiro SEKIBA 0 siblings, 1 reply; 7+ messages in thread From: Vladimir 'φ-coder/phcoder' Serbinenko @ 2010-03-15 10:52 UTC (permalink / raw) To: The development of GNU GRUB [-- Attachment #1: Type: text/plain, Size: 733 bytes --] Jiro SEKIBA wrote: > -------8<-------8<-------8<-------8<-------8<------- > === modified file 'conf/common.rmk' > --- conf/common.rmk 2010-03-10 14:05:15 +0000 > +++ conf/common.rmk 2010-03-10 19:57:34 +0000 > @@ -132,6 +132,7 @@ > DISTCLEANFILES += grub_probe_init.c > > # For grub-setup. > +grub_setup_SOURCES = lib/crc.c > grub_setup_init.lst: geninit.sh $(filter-out grub_setup_init.c,$(grub_setup_SOURCES)) > rm -f $@; grep GRUB_MOD_INIT $(filter %.c,$^) /dev/null > $@ > DISTCLEANFILES += grub_setup_init.lst > -------8<-------8<-------8<-------8<-------8<------- > > grub_setup_SOURCES is in i386-pc.rmk and sparc64-ieee1275.rmk -- Regards Vladimir 'φ-coder/phcoder' Serbinenko [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 293 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: How can I use grub_getcrc32 in fs module 2010-03-15 10:52 ` Vladimir 'φ-coder/phcoder' Serbinenko @ 2010-03-16 7:22 ` Jiro SEKIBA 0 siblings, 0 replies; 7+ messages in thread From: Jiro SEKIBA @ 2010-03-16 7:22 UTC (permalink / raw) To: The development of GNU GRUB > grub_setup_SOURCES is in i386-pc.rmk and sparc64-ieee1275.rmk Grr, that works. Thank you for helping. Now then, I'll try to compare size of binaries with lib/crc.c and crypt framework. thanks, regards -- Jiro SEKIBA <jir@unicus.jp> ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2010-03-16 7:22 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-03-10 12:23 How can I use grub_getcrc32 in fs module Jiro SEKIBA 2010-03-10 13:05 ` Vladimir 'φ-coder/phcoder' Serbinenko 2010-03-10 14:09 ` Jiro SEKIBA 2010-03-14 12:32 ` Vladimir 'φ-coder/phcoder' Serbinenko 2010-03-15 10:03 ` Jiro SEKIBA 2010-03-15 10:52 ` Vladimir 'φ-coder/phcoder' Serbinenko 2010-03-16 7:22 ` Jiro SEKIBA
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.