- Added script for Xfce 4.8.
- Gnome should now be able to build and run properly.
- Added an interactive configuration utility which will run when you install a system. This will set up the default window manager and automatically configure your system to start in graphical mode (if you have X11 installed) and prompt you to set a root password.
- Improved on the way log files are stored.
- Added support for PRE-installation scripts.
Monday, May 30, 2011
Revision 9 released
This revision includes scripts for LFS-6.8 and BLFS-r8882. There have been a number of changes and a lot of bugfixes. Some highlights:
Wednesday, May 11, 2011
Revision 8 released
LFScript 4 revision 8 has been released.
This is mostly a bugfix release. This revision includes scripts for LFS-6.8 and BLFS-r8879 (just like revision 7 did).
One new feature deserves a mention though; Whenever a specified URL in any script is no longer valid, LFScript will now automatically try to download that file from my new code repository (see my previous blog entry).
This is mostly a bugfix release. This revision includes scripts for LFS-6.8 and BLFS-r8879 (just like revision 7 did).
One new feature deserves a mention though; Whenever a specified URL in any script is no longer valid, LFScript will now automatically try to download that file from my new code repository (see my previous blog entry).
Tuesday, May 10, 2011
Mirror time
I've received a few reports about source code download problems and MD5 checksum failures.
MD5 issues
The MD5 failures are almost always for the LFS bootscripts and Udev configuration tarball. This issue is mostly my fault, as I placed the development URL for these sources in the scripts. The development sources are re-created daily by the LFS folks, thereby also changing the checksum daily. The next LFScript revision will reference the proper 6.8 download locations.
It's worth noting that whenever I fix something like this, you can download the fixed files from the development repository (http://www.wuala.com/marcelvdboer/Sync/lfscript-4.0). Also, if a bug report has been filed, it will be set to "Fix committed" indicating you can download it from that repository.
Source code repository
There are also people who don't like the fact that after a revision of LFScript has been released for some time, some source code packages are not downloaded automatically any more. This is due to the fact that some developers move or even remove source code from the web whenever a new version of their software is released. Though it seems easy enough to go to Google, type in the missing file name, then download it manually to the sources directory, people still complain about this.
To solve this issue, I'm now building a source code mirror of my own, and the next revision of LFScript will automatically try this repository if a primary URL is down. I didn't want to link to third party repositories because of the (remote) possibility it will increase their traffic too much. The repository will contain source code for scripts included in the most recent version of LFScript only.
The repository is accessible through http://lfscript.org/sources. You can use this link to verify the repository contains a required file (and then let me know if it doesn't, so I can fix it), but you should not download files manually from there. Use LFScript to download your files.
It's still under some construction, but the repository should be fully populated by the time the next revision of LFScript is released.
MD5 issues
The MD5 failures are almost always for the LFS bootscripts and Udev configuration tarball. This issue is mostly my fault, as I placed the development URL for these sources in the scripts. The development sources are re-created daily by the LFS folks, thereby also changing the checksum daily. The next LFScript revision will reference the proper 6.8 download locations.
It's worth noting that whenever I fix something like this, you can download the fixed files from the development repository (http://www.wuala.com/marcelvdboer/Sync/lfscript-4.0). Also, if a bug report has been filed, it will be set to "Fix committed" indicating you can download it from that repository.
Source code repository
There are also people who don't like the fact that after a revision of LFScript has been released for some time, some source code packages are not downloaded automatically any more. This is due to the fact that some developers move or even remove source code from the web whenever a new version of their software is released. Though it seems easy enough to go to Google, type in the missing file name, then download it manually to the sources directory, people still complain about this.
To solve this issue, I'm now building a source code mirror of my own, and the next revision of LFScript will automatically try this repository if a primary URL is down. I didn't want to link to third party repositories because of the (remote) possibility it will increase their traffic too much. The repository will contain source code for scripts included in the most recent version of LFScript only.
The repository is accessible through http://lfscript.org/sources. You can use this link to verify the repository contains a required file (and then let me know if it doesn't, so I can fix it), but you should not download files manually from there. Use LFScript to download your files.
It's still under some construction, but the repository should be fully populated by the time the next revision of LFScript is released.
Saturday, May 7, 2011
Useless OS 1.2 - x86 assembly
This is a bit of a technical entry, which by the way has nothing to do with LFScript at all...
For one of my projects, I'm learning a bit of x86 assembly.
Some initial goals were:
- Print a string of text on the screen
- Be able to use all 16 colours
- Position the text cursor
- Do NOT use BIOS interrupts (because it may eventually have to run in protected mode)
I came up with this:
(It is has version number 1.2 because: "1.0" printed the string and cleared the screen, "1.1" added colour and "1.2" added cursor management. Though every version was made in the last two days.)
Enjoy.
For one of my projects, I'm learning a bit of x86 assembly.
Some initial goals were:
- Print a string of text on the screen
- Be able to use all 16 colours
- Position the text cursor
- Do NOT use BIOS interrupts (because it may eventually have to run in protected mode)
I came up with this:
%define CODE_BASE 0x07C0 ;; 'UselessOS 1.2' a.k.a. 'Print some coloured text, position a cursor and quit' ;; Created: 2011-05-06/2011-05-07 ;; By: Marcel van den Boer ;; ;; Released in the PUBLIC DOMAIN ;; ;; Build and run with: ;; $ nasm -f bin -o colortext.bin colortext.asm ;; $ dd if=/dev/zero of=colortext.img bs=2880 count=512 ;; $ dd status=noxfer conv=notrunc if=colortext.bin of=colortext.img ;; $ qemu -fda colortext.img ;; ;; Resources: ;; - http://mikeos.berlios.de/write-your-own-os.html ;; - http://www.jamesmolloy.co.uk/tutorial_html/ ;; - http://wiki.osdev.org/Memory_Map_%28x86%29 ;; - http://www.tarleton.edu/computerscience/documents/CS%20380/ ... ;; ... Labs/Lab%203%20-%20Kernel.pdf ; Color definitions %define BLACK 0x0 %define BLUE 0x1 %define GREEN 0x2 %define CYAN 0x3 %define RED 0x4 %define MAGENTA 0x5 %define YELLOW 0x6 %define WHITE 0x7 ; Color brightness %define NORMAL 0x0 %define BRIGHT 0x8 ; Video memory facts %define COLOR (BACKGROUND << 4 | FOREGROUND) %define CURSOR ((CURSOR_Y * COLUMNS) + CURSOR_X) %define VIDEO_BASE 0xB800 %define COLUMNS 80 %define ROWS 25 ; Text to print %define MESSAGE 'Useless OS 1.2 loaded... Goodbye!' %define FOREGROUND (YELLOW | BRIGHT) %define BACKGROUND (BLUE | BRIGHT) ; Where to place the cursor %define CURSOR_X 79 %define CURSOR_Y 24 init: ; Note: This section marked 'init' is not required for the remaining code ; It's just here for my own reference cli ; Set up stack mov ax, 0x07E0 mov ss, ax mov esp, (0x0007FFFF - 0x00007E00) cursor: ; Lower byte mov byte al, 0x0F mov word dx, 0x03D4 out dx, al mov byte al, CURSOR mov word dx, 0x03D5 out dx, al ; Upper byte mov byte al, 0x0E mov word dx, 0x03D4 out dx, al mov byte al, CURSOR >> 8 mov word dx, 0x03D5 out dx, al start: ; Initialize registers which will be modified later (pointers) mov word si, 0 mov word di, MSG_BASE ; Initialze registers with non-changing data mov word ax, CODE_BASE mov word bx, VIDEO_BASE ; Set character color mov byte ch, COLOR fetch: ; Fetches the next character mov word ds, ax ; Align with code mov byte cl, [di] ; Fetch character inc di ; Increment character index print: ; Prints the most recently loaded character mov word ds, bx ; Align with video memory mov word [si], cx ; Print character add si, 2 ; Increment video index branch: ; Fetch the next character if the end of the string has not been reached cmp cl, 0 jne fetch ; Otherwise fill the screen with the last (null) character cmp si, (COLUMNS * ROWS * 2) jl print end: ; Finally, wait forever jmp $ data: MSG_BASE db MESSAGE, 0 padding: ; Required to be recognized as a boot sector times 510-($-$$) db 0 dw 0xAA55
(It is has version number 1.2 because: "1.0" printed the string and cleared the screen, "1.1" added colour and "1.2" added cursor management. Though every version was made in the last two days.)
Enjoy.
Subscribe to:
Posts (Atom)