lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200608231031.07024.vda.linux@googlemail.com>
Date:	Wed, 23 Aug 2006 10:31:06 +0200
From:	Denis Vlasenko <vda.linux@...glemail.com>
To:	Milan Hauth <milahu@...glemail.com>
Cc:	linux-kernel@...r.kernel.org
Subject: Re: Specify devices manually in exotic environment

On Tuesday 22 August 2006 21:26, Milan Hauth wrote:
> Hello there.
> 
> Got a quite exotic environment here -- a Compaq Evo T20 thin client, which  
> I want to run Linux on.
> 
> But I'm not satisfied with a completely thin client, meaning that all the  
> files are located on the server. What I want is the basic system to be  
> located on the client, while the Unix System Resources, for example, are  
> mounted from the server, since they're too big for 32MB of Flash memory.
> 
> The problem I'm facing at the moment is the T20's BIOS, which doesn't seem  
> to pass the device information correctly to the Kernel.

More info? What information is not passed?

> GRUB (v0.97) does   
> work with a workaround, which can be found in the document [1] I followed  
> to 'teach' Linux to the T20.
> 
> I already tried to use /proc/sys/kernel/real-root-dev, but setting the  
> root device to 0x80 (as already specified for GRUB) or 0x81 (1st partition  
> of 0x80) did not seem to help.
> 
> So, did I forget anything when building my Kernel? Or is it just another  
> trick, I don't know yet?
> 
> Hopefully someone here can help me on this one.. have been 'working' on my  
> cute T20 for several months now.. :-\

I just pass two parameters to kernel on the commandline,
then I create needed node (in initrd):

mknod /dev/root b "$ROOTMAJ" "$ROOTMIN"

And then (still in initrd):

mount -n -o ro /dev/root /new_root
mount -n -t ramfs none /new_root/dev
cp -dp /dev/console /dev/null /new_root/dev
cd /new_root
# making sure we dont keep /dev busy
exec <dev/console >dev/console 2>&1
# proc/ in new root is used here as a temp mountpoint for old root
pivot_root . proc
exec chroot . sh -c 'umount -n /proc; exec /bin/env - /sbin/init'

and then proceed as usual (/dev will be populated by udev later)

For this to work you only need to know major/minor#.
--
vda
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ