Hello people,
specmurt wrote:
Firstly, guide mentions
uClibc as recommended C library for
BusyBox. I'd like to notice that building
BusyBox with
uClibc is not an easy task or at least I couldn't figure out to do it the easy way. To use
uClibc you need to emerge it first and then you need to build
uClibc tool-chain to be able to cross-compile applications. It requires
crossdev script:
Then create a tool-chain with:
Code: Select all
fortress ~ # crossdev --target i686-pc-linux-uclibc
This will cause a long, time consuming
binutils and
gcc compilation for the new target.
Too much hassle, I think. You'd better off with
glibc unless you want to build tiny kernel to boot from floppy drive.
Secondly, the latest
BusyBox 1.2.0, then compiled against
glibc, segfaults then running
dmesg from
init script:
Code: Select all
fortress ~ # usb-boot/initramfs/bin/dmesg -n 1
Segmentation fault
The solution is simple - use
BusyBox 1.1.3.
Thanks, I'll keep it in mind the next time I edit the guide with new content.
specmurt wrote:
Now the issues. Here is my
extlinux.conf:
(...)
Everything works and system boots but I can see the
message on the screen just before it shows the ASCII banner. I couldn't figure out why. I'm sure it comes from
init script.
Yes, most likely caused by the line in the init script that says"#fixme"(an if condition that test the root filesystem type is awfully wrong and doesn't make any sense).
You could try commenting out or even deleteing it entirely, that should get rid of the error.
Since I have a new laptop(yay!) and I want to be able to use hibernation(suspend-to-disk), I am "somewhat" working on a new init script(complete rewrite), which should support suspend2, it's not done yet and will need some testing since a stupid mistake could cause data loss.
Anyway, once it's done I'll replace the init script and update the guide with new instructions for it.
specmurt wrote:
Second, and more annoying issue is the error, reported by
checkroot startup script then it tries to re-mount root file-system read-only.
This the output:
Code: Select all
Remounting root filesystem readonly
mount / not mounted already or bad option
And then it shows a message about dangers of checking r/w file-system so I have to answer "No" manually each time I boot a system. I don't
care too much because my Gentoo box supposed to be a 24/7 server, but still it's a bit annoying to have red
[!!!] during the system startup.
Mmm, Could you post your fstab ?
BarbedWire wrote:
(...)
You say Grub isn't needed at all? So where would I tell the system which drives to decrypt? In extlinux.conf?
An other thing I did not understand is why should I edit fstab two times according to the tutorial? One time we set up our mapped drives in fstab at the beginning of the tut then at the end again. Or did I get it wrong?
Grub is not needed if you're going to boot from an usb-stick, we use extlinux as the bootloader instead.
You should edit extlinux.conf as recommended in the guide, it's the init-script's job to decrypt the root partition, you should set its arguments as if they where kernel parameters, the script will see them and will use them to get the job done.
The guide mentions how to edit fstab, it re-informs you of the importance of not using the devices directly, it tells you to use the mappings instead, and there is another example in "Decrypting/Encrypting partitions at startup".
That's pretty much it, nothing complicated at all, just remember that you should always use the mapping names(eg:/dev/mapper/root) instead of the real devices(eg:/dev/sda3).
BarbedWire wrote:
Edit:
Going after the tutorial I'm not telling extlinux in extlinux.conf which initramfs to use is that correct?
Edit:
I changed my extlinux.conf and now linux gives me lots of messages

. Sadly it stops after a while telling me:
Code: Select all
...
Failed to execute /init
Kernel panic - not syncing: no init found. Try passing init= option to kernel.
The init-file is in the top directory of the usb-stick and executable&readable&writable for root. If it should be in the init-ramdisk is there a simple way to check my initrd-file from within the live-cd environment for it and mabe even copy it into it or changing permissions?
The init script should exist inside the initramfs, once the kernel decompress the cpio archive, it will attempt to execute init, if it's not there you will get that kernel panic error.
Make sure you're building your initramfs correctly, if you have doubts feel free to ask, all the information you need is in the guide, plus you should read the posts in the previous page of this thread, there might be some answers there.
Also, could you post your extlinux.conf ?
Woldamer:
Hi, I am afraid I have no clue on your problem, I don't know RSBAC.
One question however, any reason why you're using an initrd instead of an initramfs ?
Perhaps you could try using an initramfs with busybox's switch_root and see what happens.
Besides that, all I could tell you is to google, I found
this, maybe it will give you a hint or two, or maybe not..
Good luck,
ps: if you find an answer you should consider adding it to the FAQ section, I am sure others will find it useful.
Bye