我在學習和理解使用我的x86-64桌面的Linux。我使用OpenSuse 13.1作爲我的工作系統來多重引導Linux。我只用2個文件就在自己的分區上創建了一個學習系統。我編譯了一個3.16.2內核,其默認選項在/ boot中。以下文件init:從C代碼打開Linux控制檯
int main() {
int nbytes = 100;
char * str;
str = (char *) malloc(nbytes + 1);
puts ("Please Enter text");
while (1) {
getline(&str, &nbytes, stdin);
puts(str);
puts("line recieved");
if (str[0] == 'r')
reboot(0x1234567);
if (str[0] == 's')
reboot(0x4321fedc);
}
return 0;
}
是靜態編譯的,位於/ sbin中。 Init是一個非常原始的shell,但在C代碼中進一步開發它會是一件難事。維基說:
「Linux控制檯是一個系統控制檯內部對Linux內核」
因此,如果這是真的在內核中我可以打電話從我的init程序此控制檯,而無需任何其他依賴增加/文件/程序?如果是這樣如何?我需要使用特定選項重建內核嗎?如果沒有,我怎麼能得到一個控制檯/終端/ CLI外殼的絕對最小文件,以便我可以輕鬆地調用基本的系統命令?
注意我已經安裝拱多次,但都拱門和Linux From Scratch的有成百上千的文件在其最基本的系統。另外,我試圖理解Linux,嵌入式Linux和Android可以使用完全不同的額外功能,所以我嘗試了一種不同的學習方法。
也許您正在尋找'console'和'shell'之間的區別。 RE:http://unix.stackexchange.com/questions/4126/what-is-the-exact-difference-between-a-terminal-a-shell-a-tty-and-a-con – polarysekt 2014-09-19 18:11:35