* Myles Watson <[EMAIL PROTECTED]> [061017 17:35]: > >A quick writeup to the list of what you ended up doing would be great! > >thanks > >ron > > Here it is. Feel free to ask for clarifications. > Myles
Thank you very much! I added it to the build tutorial section of the Documentation page in the wiki. I'll do some formatting to it now. > Purpose: > Customize the system to allow me to play with memory mappings and large > devices. I wanted to minimize intermediate steps from LinuxBIOS to Linux to > minimize the areas of expertise I needed to develop. I also wanted to be > able to use the SATA drives as my boot drives. > > Disclaimer: > There are several places where my solutions are not as elegant as I wished > them to be. Suggestions are welcome. > > Current set up: > Tyan s2892 > LinuxBIOS with Linux 2.6.18-tiny as a payload > > I started by installing LinuxBIOS on the system and using FILO and Etherboot > to boot to a kernel. This allowed me to try the different payloads without > flashing every time. > > Next I downloaded the OLPC buildrom > > git clone git://dev.laptop.org/users/jcrouse/buildrom > > I built it on my 32-bit system for convenience building the kernel. > > I modified the Config.mk to include pciutils from > > http://buildroot.uclibc.org/cgi-bin/viewcvs.cgi/trunk/buildroot/package/ > > and took out the graphical boot menu. I also modified > buildrom/skeleton/devices.txt to add lines for my hard drives. I just > copied the lines for sda and sda1 and made had hda1 hda2 and sda2. The > important thing is to make sure that the major and minor numbers are > correct. > > I modified buildrom/skeleton/linuxrc so that the device files were created > earlier, /dev/null didn't become a text file, and my drives got mounted. > > I then modified buildrom/skeleton/bin/boot.functions so that doboot() called > my script on the hard drive for the kexec. That's nice to avoid flashing > the BIOS for booting different kernels. > > I downloaded Linux 2.6.18.1 (2.6.18-rc4 had some problems with SATA) and > patched it with the tiny patches that came with OLPC. > 12-tiny-tiny-crc.patch fails, but was easy to apply by hand. > > I configured the kernel to include support for ext2 and ext3, SATA, and IDE. > > I ran make and copied the payloads from the buildrom/deploy directory to my > s2892 to be used. olpc-payload.elf.lzma (732K) is used for booting directly > from LinuxBIOS, and olpc-payload-uncompressed.elf (1.7M) was useful for > testing it with FILO and Etherboot. > > I'd like to go one step further and use a 64-bit kernel so that any changes > I make to the kernel only need to be made once. Looking at mkelfimage, it > looks like the 64-bit file format is not supported. It might be a simple > change, but I don't know how to do it. > > Since I couldn't figure out how to make LinuxBIOS do without the Fallback > image, I configured it to have a zero size payload. > > Now I have > normal/linuxbios.strip (128K) > fallback/linuxbios.strip (128K) > normal/payload (732K) > fallback/payload (0K) > s2892vBIOS.bin (36K) > > If I could get rid of the fallback it would make room for the 64-bit kernel > (50K bigger than the 32-bit kernel). Then I'd just need to modify > mkelfimage and I'd be almost there :) I guess I could take out pciutils to > make up most of the difference (44K), but I like having them there for > debug. > > -----------------------Config.lb---------------------- > > # Sample config file for > # the Tyan s2892 > # This will make a target directory of ./s2892 > > target s2892 > mainboard tyan/s2892 > > option ROM_SIZE =0xf7000 > > option CONFIG_ROM_STREAM=1 > > option CONFIG_CONSOLE_SERIAL8250=1 > option CONFIG_CONSOLE_VGA=1 > option FALLBACK_SIZE =0x20000 > option ROM_IMAGE_SIZE=0x20000 > > # Tyan s2892 > romimage "normal" > option CONFIG_COMPRESSED_ROM_STREAM_LZMA=1 > option CONFIG_PRECOMPRESSED_ROM_STREAM=1 > option USE_FALLBACK_IMAGE=0 > option LINUXBIOS_EXTRA_VERSION="$(shell cat ../../VERSION)_Normal" > payload ../olpc-payload.elf.lzma > end > > romimage "fallback" > option CONFIG_COMPRESSED_ROM_STREAM_LZMA=0 > option CONFIG_PRECOMPRESSED_ROM_STREAM=0 > option USE_FALLBACK_IMAGE=1 > option LINUXBIOS_EXTRA_VERSION="$(shell cat ../../VERSION)_Fallback" > payload ../payload.zero > end > > buildrom ./linuxbios.rom ROM_SIZE "normal" "fallback" > > > > > > -- > linuxbios mailing list > [email protected] > http://www.openbios.org/mailman/listinfo/linuxbios > -- coresystems GmbH • Brahmsstr. 16 • D-79104 Freiburg i. Br. Tel.: +49 761 7668825 • Fax: +49 761 7664613 Email: [EMAIL PROTECTED] • http://www.coresystems.de/ -- linuxbios mailing list [email protected] http://www.openbios.org/mailman/listinfo/linuxbios
