From: Ian P. C. <ich...@ed...> - 2002-05-07 15:26:06
|
> > Kernel panic: No init found. Try passing init=3D option to kernel. >=20 > What UML kernel? Did you compile it yourself? If so, did you=20 > turn on all the channel options? > Can you at least get to a shell if you put=20 > init=3D/bin/bash on the=20 > ./linux command line? > Cheers, > - Bill It's all the standard debian install. Nothing has been changed atall. The version appears to be 2.4.18.17um. Appending init=3D/bin/bash did seem to work! I've been trying to use rootstrap to build my own debian root_fs, but with no luck at all.=20 Is this documented anywhere, or are there any debian root_fs's I can use 'off the self'? Many thanks bill! |
From: Ferdinand T. <pol...@mo...> - 2002-05-07 21:22:15
|
On Tue, 7 May 2002, Ian P. Christian wrote: > > > Kernel panic: No init found. Try passing init= option to kernel. > > > > What UML kernel? Did you compile it yourself? If so, did you > > turn on all the channel options? > > Can you at least get to a shell if you put > > init=/bin/bash on the > > ./linux command line? > > Cheers, > > - Bill > > It's all the standard debian install. Nothing has been changed atall. > The version appears to be 2.4.18.17um. > > Appending init=/bin/bash did seem to work! > > I've been trying to use rootstrap to build my own debian root_fs, but > with no luck at all. > Is this documented anywhere, or are there any debian root_fs's I can use > 'off the self'? > > Many thanks bill! Hi, Actually, you can try building your own debian rootfs from scratch with the debian installer...it requires some manual labour, and you won't get through the full install (yet, I'll see if I can make it through this weekend). My tries resulted in a debian filesystem on which the base is installed...very useable still, as apt and all other neat goodies work :-) If anyone is interrested, I can post a point-to-point description of what works sofar to get this basic rootfs. Just let me know. Regards, Ferdinand O. Tempel |
From: Ian P. C. <po...@po...> - 2002-05-08 07:18:38
|
> Actually, you can try building your own debian rootfs from > scratch with the debian installer...it requires some manual > labour, and you won't get through the full install (yet, I'll > see if I can make it through this weekend). My tries resulted > in a debian filesystem on which the base is installed...very > useable still, as apt and all other neat goodies work :-) If > anyone is interrested, I can post a point-to-point > description of what works sofar to get this basic rootfs. > Just let me know. > Ferdinand, Please let me know about your work! This sounds like just what I want to know. I've been trying to use rootstrap, but it keeps failing whilst trying to download from the apt source, but I don't understand why, and I can't find any documentation online about it, it's been driving me mad. Many Thanks, -- ----------------------------------------------------------------- Ian Christian E-Mail: pookey at pookey dot co dot uk Tech Officer for Termisoc PGP Key ID: 0xD09C10ED ----------------------------------------------------------------- GCC d s: a-- C+++ UL++ P+ !E W++ N+ w M-- PS PGP+ t+ e>++ h+ z** |
From: Ferdinand T. <pol...@mo...> - 2002-05-08 20:45:43
|
> Please let me know about your work! This sounds like just what I want to > know. > I've been trying to use rootstrap, but it keeps failing whilst trying to > download from the apt source, but I don't understand why, and I can't > find any documentation online about it, it's been driving me mad. Hi, Okay, here we go...it's still a bit rough around the edges, but this seems to work for me: host: debian woody installation with 2.4.18-SMP as kernel uml: 2.4.18-21um 1) Create a 'filesystem' image: host% dd if=/dev/zero of=debianfs bs=$((1024*1024)) count=1000 host% mke2fs debianfs 2) Create a 'swap' image: host% dd if=/dev/zero of=swap bs=$((1024*1024)) count=128 host% mkswap swap 3) download the root.bin image from a debian mirror, and extract it host% wget ftp://ftp.debian.nl/debian/dists/woody/main/disks-i386/current/images-1.44/root.bin host% cat root.bin | gunzip > root_fs 4) start an UML (everything sits in the same directory) host% ./linux ubd0=root_fs ubd1=debianfs ubd2=swap eth0=tuntap,tap0 (assuming networking is set up on the host part, see howto!) The UML will start the debian installer 5) Navigate in the installer to "Execute a shell" and start a shell (duh) 6) Activate swap uml% swapon /dev/ubd/disc2/disc 7) mount the install partition: uml% mount /dev/ubd/disc1/disc /target 8) return to the installer (type 'exit' :-) 9) Choose "configure network" in the install menu, and fill in the questions asked to get a network connection going (make sure you configure eth0, not tap0) 10) Choose "Install base system" from the menu, choose your nearby debian mirror, and let it do its stuff (I do assume it's a network install, check the howtos on u-m-l.sf.net if you want cdrom installs). 11) Chances are the install will fail on the packages (the install fails on setting up console-common for some reason). So go back into a shell: uml% chroot /target sh uml-chroot% mount proc /proc -t proc uml-chroot% dpkg --force-confold --skip-same-version -configure -a answer any questions asked. NOTE: Might be necessary to do an umount /proc first. Experiment. 12) Modify /etc/fstab to reflect the real mountpoints later on uml-chroot% vi /etc/fstab I have the following: /dev/ubd/disc1/disc / ext2 defaults,errors=remount-ro 0 1 /dev/ubd/disc2/disc none swap sw 0 0 proc /proc proc defaults 0 0 13) Modify /etc/inittab to spawn a sulogin for tty1 (no, after a reboot there won't be a continuation of the debian install unless you manually initiate it. The system could be convinced to automagically log in and start the program 'base-config' for you, which does this). uml-chroot% vi /etc/inittab <inittab_snippet> # /sbin/getty invocations for the runlevels. # # The "id" field MUST be the same as the last # characters of the device (after "tty"). # # Format: # <id>:<runlevels>:<action>:<process> 1:2345:respawn:/sbin/sulogin #2:23:respawn:/sbin/getty 38400 tty2 #3:23:respawn:/sbin/getty 38400 tty3 </inittab_snippet> 14) Shutdown the UML by using the menu entry (type 'exit' to leave the shell again). This is required to have the system save settings like hostname, interfaces configuration, etc...unless you like to do that manually too, ofcourse! 15) Back on the host commandline boot the UML again with: host% ./linux ubd0=debianfs ubd1=swap eth0=tuntap,tap0 16) Back in the UML sulogin shell to which it booted: a) enable shadow passwords (type 'shadowconfig on') b) put a password on the root account c) create a normal user d) modify the installation to your likings by: - adding software (run dselect or tasksel) - modifying system settings (personally I dropped the getty invocations in /etc/inittab (don't work for me), and just start /bin/login for every runlevel...I'll be running this stuff as network hosts anyway :-) You can also run 'base-config' which inititates runs some stuff for you (tzconfig, shadowconfig, tasksel/dselect, etc). 17) Finally, put /etc/inittab back to a normal login. I used a simple 1:2345:/bin/login, and commented out the rest: <inittab_snippet> # /sbin/getty invocations for the runlevels. # # The "id" field MUST be the same as the last # characters of the device (after "tty"). # # Format: # <id>:<runlevels>:<action>:<process> 1:2345:respawn:/bin/login #2:23:respawn:/sbin/getty 38400 tty2 #3:23:respawn:/sbin/getty 38400 tty3 </inittab_snippet> The manual mounting is done because the debian installer seems to look for physical disks for itself to install on...if the filesystem image is mounted on /target before the actual installing of the base system is started it seems happy enough to drop its problems with not having a real disk. Swap is always handy, so I included it here. NOTE I: I edited the inittab on the root disk a bit to stop it from using extra ttys for logging purposes. It kept spitting out errors because it was unable to open tty3 and tty4. Is it possible to use more then one tty for an UML? Oh, because of this, the install will be a bit messy because it dumps all kinds of stuff to tty1, like package installs. NOTE II: Since the debian installer uses ascii menus I don't think it'll work in an xterm...maybe an Eterm will though. I used a regular tty to install this, and it works great...looks just like the real thing :-) There, that's it. This produced a basic debian system which is very useable to me. Hope it does the same for you :-) Regards, Ferdinand O. Tempel |