How to make the kernel support NTFS?
Hi, I have dumped a lfs 6.3 cdrom to a virutal hard disk in vmware, and it goes without any problem. The original kernel version of lfs 6.3 is 2.6.25. I have upgraded it to 2.6.34 and it seems work well. But, when trying to compile the kernnel 2.6.34 to include the NTFS support, the kernel can not boot and gives me the following messages: Root-NFS: No NFS server available, giving up. VFS: Unable to mount root fs via NFS, trying floppy. Kernel panic - not syncing: VFS Unable to mount root fs on unknown-block(2,0) When doing 'make menuconfig', I have selected these options: File systems -> FUSE(Filesystem in Userspace) support -> DOS/FAT/NT Filesystem -> NTFS file system support -> NTFS write support and all of them are compiled into the kernel, rather than kernel modules. The kermel parameter is also OK: default 0 timeout 30 title LFS root(hd0,0) kernel /boot/vmlinuz-2.6.34 root=/dev/hda1 Now that I just add NTFS support, what's the NFS matter? How can I make the kernel to support the NTFS file system?
Hi, On Tue, Aug 23, 2011 at 9:28 PM, Parmenides <mobile.parmenides@gmail.com> wrote:
Hi,
I have dumped a lfs 6.3 cdrom to a virutal hard disk in vmware, and it goes without any problem. The original kernel version of lfs 6.3 is 2.6.25. I have upgraded it to 2.6.34 and it seems work well. But, when trying to compile the kernnel 2.6.34 to include the NTFS support, the kernel can not boot and gives me the following messages:
Root-NFS: No NFS server available, giving up. VFS: Unable to mount root fs via NFS, trying floppy. Kernel panic - not syncing: VFS Unable to mount root fs on unknown-block(2,0)
NFS != NTFS You are trying to mount the root file system using Network File System (NFS) - remote mounting. NFS option is in File system > Network File System > NFS
NFS != NTFS
Yes, I have checked my spelling.
You are trying to mount the root file system using Network File System (NFS) - remote mounting.
NFS option is in File system > Network File System > NFS
The parameter passed to kernel by grub is kernel /boot/vmlinuz-2.6.34 root=/dev/hda1 So, the action to boot from NFS taken by the kernel is not directed by the paremeter. I tell the kernel to boot from hda1, while the kernel make a decision to boot from NFS. Disabling 'NFS' while recompiling the kernel does not work as well.
On Wed, Aug 24, 2011 at 9:09 AM, Parmenides <mobile.parmenides@gmail.com> wrote:
NFS != NTFS
Yes, I have checked my spelling.
You are trying to mount the root file system using Network File System (NFS) - remote mounting.
NFS option is in File system > Network File System > NFS
The parameter passed to kernel by grub is
kernel /boot/vmlinuz-2.6.34 root=/dev/hda1
I haven't really followed this thread, but noticed the use of /dev/hda. That naming convention is indicative of the drivers/ide kernel component being in use. I guess you know /drivers/ide has been in a bug-fix only mode for a couple years now I think. Even in 2.6.34 days it was primarily only recommended for embedded applications where kernel size was very important. (ie. The newer libata solution is layered under the SCSI stack, so you end up with a bigger kernel due to all the SCSI overhead required.) Greg
On Tue, Aug 23, 2011 at 22:58, Parmenides <mobile.parmenides@gmail.com> wrote:
Root-NFS: No NFS server available, giving up. VFS: Unable to mount root fs via NFS, trying floppy. Kernel panic - not syncing: VFS Unable to mount root fs on unknown-block(2,0)
you said, LFS? Linux from scratch? BTW, that root-nfs message is really weird, are you sure you're not inaccidentally enable such option and push it to boot stage? -- regards, Mulyadi Santosa Freelance Linux trainer and consultant blog: the-hydra.blogspot.com training: mulyaditraining.blogspot.com
you said, LFS? Linux from scratch? BTW, that root-nfs message is really weird, are you sure you're not inaccidentally enable such option and push it to boot stage?
Yes, LFS I use is really Linux from scratch. I have recompiled and disabled 'NFS' option explicitly. But, the problem remains.
The problem has been resolved by recovering an old .config file, which once was deleted with the old kernel. I think this problem has not to do with 'NTFS' options anywhere, but improper configrations of kernel. The steps are as follows: step 1. Copy the old .config to /boot/config-2.6.34. This .config is from the old 2.6.25 kernel source directory. step 2. Enter the new 2.6.34 kernel source directory, then 'make clean && make mrproper' to clean the directory. step 3. 'make menuconfig' to select NTFS options. step 4. 'make && make modules_install', then copy arch/x86/boot/bzImage to /boot and modify /boot/grub/menu.lst. step 5. Reboot successfully. However, I have a further questions about the old .config file. At step 1, I didn't copy the old .config into the new 2.6.34 kernel source directory, and then 'make oldconfig' to activate old configurations. The only place where the old .config exists is /boot. At step 3, how can 'make' find the old .config file?
Hi..... On Thu, Aug 25, 2011 at 08:57, Parmenides <mobile.parmenides@gmail.com> wrote:
The problem has been resolved by recovering an old .config file, which once was deleted with the old kernel. I think this problem has not to do with 'NTFS' options anywhere, but improper configrations of kernel.
very weird...but alright....the important thing is it's fixed :)
The steps are as follows:
step 1. Copy the old .config to /boot/config-2.6.34. This .config is from the old 2.6.25 kernel source directory.
??? you copy to /boot?
step 2. Enter the new 2.6.34 kernel source directory, then 'make clean && make mrproper' to clean the directory. step 3. 'make menuconfig' to select NTFS options. step 4. 'make && make modules_install', then copy arch/x86/boot/bzImage to /boot and modify /boot/grub/menu.lst. step 5. Reboot successfully.
However, I have a further questions about the old .config file. At step 1, I didn't copy the old .config into the new 2.6.34 kernel source directory, and then 'make oldconfig' to activate old configurations. The only place where the old .config exists is /boot. At step 3, how can 'make' find the old .config file?
well, previously you didn't mention about "make oldconfig", but then you said you did "make oldconfig". Which one is right? The only way "make oldconfig" find the old .config file is AFAIK by placing it in top source directory of extracted linux kernel. -- regards, Mulyadi Santosa Freelance Linux trainer and consultant blog: the-hydra.blogspot.com training: mulyaditraining.blogspot.com
well, previously you didn't mention about "make oldconfig", but then you said you did "make oldconfig". Which one is right?
It may be an inaccurate expression. 'make oldconfig' are next to Coping .config, and they are two steps. I mean I don't do them at all.
The only way "make oldconfig" find the old .config file is AFAIK by placing it in top source directory of extracted linux kernel.
When I invoking 'make oldconfig' withou a .config in /usr/src/linux , I get these messages: root [ /usr/src/linux ]# make oldconfig scripts/kconfig/conf -o arch/x86/Kconfig # # using defaults found in /boot/config-2.6.34 # # # configuration written to .config # So, I think 'make' should get a copy of /boot/.config-2.6.34 into /usr/src/linux.
participants (4)
-
Greg Freemyer -
Mulyadi Santosa -
Parmenides -
Prashant Shah